mirror of
https://github.com/dnaka91/obws
synced 2024-11-13 19:12:03 +00:00
6.0 KiB
6.0 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased - ReleaseDate
0.8.0 - 2021-06-14
Added
- Dependabot is now used to create new PRs for version updates in cargo and GitHub Actions.
Changed
- BREAKING CHANGE: Upgraded to obs-websocket
4.9.1
, adding a few new events and requests. Unfortunately although this looks like a patch release of obs-websocket, it actually included some breaking changes. - BREAKING CHANGE: As with the upgrade to
4.9.1
, the new required minimum version for OBS is27.0.0
and for obs-websocket is4.9.1
. Versions requirements have been further relaxed for OBS so that even a28.0.0
release will work with the current version of obws. - Code coverage data is now directly hosted on GitHub Pages at https://dnaka91.github.io/obws, instead of using codecov.io. This has been done to reduce the amount of dependencies on external services and reduce security risks due to recent codecov incidents.
- Several dependencies have been updated to their latest version.
Fixed
- Internal renaming and fixes have been done, mostly for naming conventions or other clippy lints. No logical fixes related to obs-websocket though.
0.7.0 - 2021-03-27
Changed
- The
open_projector
] request now accepts a struct for geometry to define the projector window instead of a simple string. This allows to set the geometry without the need to know about the Qt geometry works and how it has to be encoded.
Fixed
- The version requirement for OBS Studio was reduced from
26.1.2
to26.1.0
as thex.x.2
was a MacOS specific fix version and generally fix versions don't break API compatibility.
0.6.0 - 2021-03-16
Added
- If the connection to obs-websocket is lost, a
Event::ServerStopped
event is sent to signal the disconnect. Thanks @715209 !
Changed
- BREAKING CHANGE:
Client::events
now returns aResult
and fails with an error when trying to get a new event stream while disconnected from obs-websocket. - BREAKING CHANGE: During
Client::connect
the version of OBS Studio and obs-websocket is now checked and the connection will fail if the versions are too old or too new. - The event streams returned from
Client::events
are properly being closed when the connection to obs-websocket is disconnected in any way.
Fixed
- Requests were never finishing if the connection was lost in the meantime. They're now properly cancelled when a disconnect happens.
- The
TransitionVideoEnd
event could not be deserialized as thefrom_scene
field was wrongly a required field and was therefore changed to be optional. Thanks @715209 !
0.5.0 - 2021-03-07
Changed
- BREAKING CHANGE: Upgraded to obs-websocket
4.9.0
, adding all the new events and requests. Some existing ones have changes as well. - Dependencies updated to the latest version, including the just released
tokio-tungstenite
with support forrustls
as TLS backend. - The
tls
feature now usesrustls
instead ofnative-tls
as backend.
Fixed
- obs-websocket sends a non-JSON message when shutting down that is now properly handled instead of failing. Thanks @715209 !
0.4.0 - 2021-01-22
Added
- The client can now be shut down with the
disconnect
function and will do so automatically on drop. It is still recommended to call this manually as it allows to wait for the client to fully close all the internal machinery.
Changed
- Events are opt-in with the
events
feature flag to reduce final binary size when events aren't used.
Fixed
- All fields of
ConnectConfig
have been made public to actually allow setting them.
0.3.0 - 2021-01-11
Added
- Github actions added to run automated tests and lints on each commit.
- Unit tests for all custom (de)serializers ensuring the right in-/output.
- More integration tests, covering almost all requests now.
- Added
.editorconfig
file to allow consistent indenting and other common editor settings. - Added a
Justfile
(similar to aMakefile
) that allows to run common tasks and especially code coverage conveniently. - A new
connect_with_config
function that allows to customize the client behavior. - Support for TLS connections.
Changed
- Update readme to show the current code coverage.
- Upgraded to
tokio
1.0 and all related dependencies.
Fixed
- Corrected a few links in the API docs.
- A required tokio feature was missing as the dev dependencies added it.
0.2.0
Added
- Most request types implement
Default
for easier request creation. - Many integration tests.
- Basic usage details in the docs and readme.
Changed
- Parse into more concrete types where possible. For example durations and timestamps are
represented as types from the
chrono
crate instead of strings and integers now. - Errors are specific now, using
thiserror
instead ofanyhow
allowing to match against the error and find out what exactly went wrong on a type level.
Fixed
- Various small fixes in request and response types that were found while creating the integration tests.
- Some links in the API docs were broken, pointing to private items.
0.1.0
Added
- Initial release.