Releases: Ghamza-Jd/jarust
0.8.1
What's new in Jarust
0.8.1 - 2024-11-12
Thanks to @fcx-mrogez for reporting and diving deep into the u64 ID issue!
π Bug Fixes
- Proper u64 ID fix
- Remove
untagged
on streaming plugin enums - Downstream jarust_core features to jarust_interface
- Downstream jarust_plugins features to jarust_interface
0.8.0
What's new in Jarust
0.8.0 - 2024-11-07
This release introduces a facade crate for easier interaction with Jarust, more stabilization, bug fixes, better API for plugins, and the addition of e2e testing to ensure changes won't break Jarust when running against a real janus server.
π Features
- Add partial support for streaming info request
- Added bon for builders
- Created create_dto macro
- Make_dto creation optimization
- Added more echotest params based on janus gateway supported params
- Added some of the missing audio bridge requests and refactored dtos
- Created jarust umbrella crate
- Added plugin features on jarust
- Added interface features on jarust
- Added publishing jarust umbrella crate
- Added detach in the e2e and added restful impl of send_handle_request
- Added consuming version of destroy
- Added non-consuming version of detach
π Bug Fixes
- Various typos
- Added forgotten fields and docs
- Hsot -> host
- Fixed test running config
- Ci workflow test fix
- Missing attribute and typo in VideoRoomCreateParams (thanks @koefmatt!)
- Made janus id uint as u32, janus doesn't support u64 - thanks e2es
- Parse empty success body for success messages without body
- Made handle requests un-nested in the body object
π Refactor
- Remove StreamingInfoOptions
- Remove type state builder
- Made plugins take a single struct
- Moved required field to message options
- Establishment_protocol, protocol, establishment -> estproto
- (streaming) Removed default and added the usual traits
- Moved more structs to make_dto
- (audiobridge) Create dtos using make_dto macro
- (streaming) Used create_dto for streaming plugin params
- (videoroom) Used make_dto for videoroom plugin
- (videoroom) Msg_options -> params
- Removed unused bits from router
- Moved server info to japrotocol
- (interface) Removed structs with timeouts in favour of another param
- Removed structs in favor of positional params
- Renamed jarust -> jarust_core
- Moved all examples to jarust crate
- Moved integration tests to jarust crate
- Removed EstProto enum and Rtp
- _est -> _jsep, and fixed typos
π Documentation
- Added docs for config fields
- Added architecture description
- Updated example usage
- Added contributing docs
- Removed reference to archiecture.md
π¨ Styling
- Reformat video_room example
π§ͺ Testing
- Added first e2e test
- Added server configs and assert on those configs
- Added create session and attach handle
- Decreased the timeout to 5 secs
- Added echotest plugin e2e
- Added room crud e2es
- Added more audio bridge e2es
βοΈ Miscellaneous Tasks
- Fix rebase conflicts
- Removed bon and added make_dto docs
- Added e2e ci
- Made the workflow run on PR
- E2e job depends on test job
- Remove doctest on e2e and interface crates
- Import connect instead of stating the namespace
- Disable doctest on jarust
- _ prefix for unused
- Added more details when tracing
- Updated deps
0.7.0
What's new in Jarust
Thanks to @fcx-mrogez for adding support for streaming plugin to jarust
and finding bugs!
0.7.0 - 2024-10-01
π Features
- Add minimal support for streaming plugin
- Added audio bridge error
- Added has_keep_alive function
π Bug Fixes
- Fixed parsing error response bug
π Refactor
- Renamed jarust_transport -> jarust_interface
- Moved all usage to jarust_interface result and error types
- Remove jarust interface result alias and made error explicit
- Added support for plugin errors
- Removed audio bridge response enum approach
- Streaming plugin supports the new error variant
π Documentation
- Updated lib docs
β‘ Performance
- Removed unnessassary arcs
βοΈ Miscellaneous Tasks
- Bump and remove unused dependencies
0.6.0
What's new in Jarust
Abstraction of the transport, now you can bring your own transport and use it with jarust or use one of the 2 built-in ones, WebSocket or Restful (http).
Also this release had better docs and tracing.
All these changes are stability and maturity changes, because we're aiming towards version 1.0
in the near future.
0.6.0 - 2024-09-23
π Features
- Bump deps and fix rustls usage (#126)
- Created websocket client and websocket interface
- Abstracted janus interface
- Wip - moved to janus interface usage over jatransport
- Added support for restful api
- Restful interface cleanup
- Added tracing on echotest and audiobridge
- Added tracing on videoroom
- Tracing across all crates
- Added crate level documentations
- More docs over the project and better api naming
- Used codecs enums
π Bug Fixes
- Remove redundant span fields
π Refactor
- Remove legacy mod in jarust_transport
- Renamed TransportType -> ApiInterface
- Clean up some apis and made DX better
- Added tryfrom_serde_value on some video plugins dtos
- Change jarust_transport file structure
- Better tracing on core jarust
- Added plugin name as a prefix for structs and enums
π Documentation
- Added interal trait method usage
- Added more docs across the project
- More video room plugin docs
- Added jarust_plugins lib docs
π§ͺ Testing
- Tests are now compiling but failing
- Fixed broken tests
βοΈ Miscellaneous Tasks
- Ran clippy
- Added name per interface and made ws client private
- Added videoroom config to volumes
- Added more filters for examples
v0.5.0 - Video Room Plugin Support!
What's new in Jarust
Jarust now supports video room plugin all thanks to @koefmatt!
0.5.0 - 2024-09-1
π Features
- Added rsp cache on jasession
- Added destory session message
- (core) Added hangup message
- (core) Added detach message
- Created janus transport
- (plugins) Add synchronous methods for videoroom plugin
- Created janus transport trait
- Created macro for implementing try_into serde_json value
- Remove old implementaiton of jarust_transport
- Removed unused capacity
- (plugins) Add async methods and events for Videoroom plugin (#118)
- Added experimental ff and marked some api as experimental (#120)
π Bug Fixes
- Updated plugins with core
- Added missing fields
- Passed the proper params
- (plugins) Remove
capacity
from AttachPluginParams as it's no longer needed (#123)
π Refactor
- (core) Create request now uses a struct param
- (core) Jasession functions now uses struct param
- Attach plugin now uses struct
- Remove async_trait from NetworkConnection
- Moved the usage of nwconn to jatransport
- Removed weak references
- Jahandle now depends on jatransport
- Move recevied messages to the transport
- Moved jaconnection messages into jatransport
- Moved session level messages to jatransport
- Moved handle level messages to transport
- (plugins) Simplify messages by removing unnecessary structs
- (plugins) Move
Identifier
from audio_bridge into common.rs - (plugins) Use
Identifier
instead of u6 for IDs in videoroom, remove README.md - Removed unused exlusive structs
- Minor changes for video plugin styles
- Removed unused capacity
- Used structs instead of positional args
- Moved candidate struct to japrotocol
- Moved japrotocol to nw module
- Moved responses to nw mod
- Create transitional jarust_transport
- Replaced nw mod with jarust_transport_next
- Removed params file
- Removed transport trait for now
- Moved jarust_tranport_next is now jarust_transport
- Errors cleanup
π Documentation
- Mention circular buffer for capacity
π§ͺ Testing
- Fixed broken tests
βοΈ Miscellaneous Tasks
- Demuxer_v2 -> demuxer
- Revert video plugin changes
- Remove next from error display
- Added apache 2 license
0.4.0
What's new in Jarust
0.4.0 - 2024-06-26
π Features
- (transport) Added path to the send function
- (video-room) Handle setup
- Added task cancellation
- Capacity more than zero is required for ringbuf_map
- Added capacity to jaconfig
- Added server info response parsing
- (core) Added common traits on dtos
- (plugins) Added common traits on dtos
π Bug Fixes
- Transaction manager sync fixes
π Refactor
- Applied clippy suggestions
- (audio-bridge) Moved participants type to common
- (audio-bridge) Msg -> options
- (echo-test) Msg -> options
- (echo-test) Messages -> msg_options
- (echo-test) Echotest -> echo_test
- (core) Enum cases -> strings
- (core) Cache connection level responses and poll using tx
- Created nwconn to handle network connection
- Inject transaction generation dependency
- Wip - created new transaction manager
- Use circular map for transaction management
- Rename to ringbuf_map and fixed broken tests
- Moved transaction generation to nw mod
- Jarouter -> router
- Update wasm connect fn
- Tasks vec -> single task
- (core) Connect_with_transport -> custom_connect
π§ͺ Testing
- Fix mock transport
- Fixed broken tests
βοΈ Miscellaneous Tasks
- Reordered JaData
- Replaced all audio bridge plugin examples with a single example
0.3.0
What's new in Jarust
0.3.0 - 2024-05-24
π Features
- (transport) Uri -> url, added name fn for debug print
- (audio-bridge) Added configure request
- (audio-bridge) Added configure request example
- (core) Better tracing for sent messages
- (audio-bridge) Added mute and unmute requests
- (audio-bridge) Added mute and unmute on room
- (audio-bridge) Added kick and kick all requests
- (audio-bridge) Added leave room request
- (audio-bridge) Added room left event
- (audio-bridge) Added change room request
- (audio-bridge) Added room changed event
- (audio-bridge) Added updated participants event
- (audio-bridge) Ids now are either uint or string
π Bug Fixes
- (rt) Added rt feature on tokio
- (ci) Change publish steps
π Refactor
- (transport) Stream of string -> stream of bytes
- (transport) Remove redundanut trait bounds
π Documentation
- (audio-bridge) Added description for allowed request fields
- (audio-bridge) Updated configure request message docs
- Added identifier clarification
π§ͺ Testing
- Rename connection tests and created mock transport-server pair
- Added session integration tests
- Created session integration tests file
- Added fns to mock connection, session, and handle
- Refactor creating mocks and use fixtures
- Inject transport for mock connection
βοΈ Miscellaneous Tasks
- Remove unused import
0.2.9
What's new in Jarust
0.2.9 - 2024-05-11
π Features
- (audio-bridge) Added establishment protocol to join room event
- (audio-bridge) Added room joined
- (examples) Added better tracing subscriber
π Bug Fixes
- (audio-bridge) Typo in destroy
π Refactor
- (core) Create jarust_transport & jarust_rt
- (core) Depend on jarust_transport and remove transport module
- (core) Removed jatask mod and use jarust_rt
- Use single cancellation instead of vec
- (rt) Rename abort_handle and cancellation to task
βοΈ Miscellaneous Tasks
- Updated release on ci
0.2.8
Changelog
All notable changes to this project will be documented in this file.
0.2.8 - 2024-05-07
π Features
- Made plugin_data a struct that contains data as value
- (core) Propagate returned janus error to the caller
- (core) Rearranged the event enum
- (echotest) Added generic events coming from jahandle
- (echotest) Added event containing establishment protocol
π Refactor
- Better message serialization for events and results
- Audio_bridge/handles.rs -> handle.rs
- (audio-bridge) Results -> responses
- (audio-bridge) Parse created and edited responses
- (audio-bridge) Serialize destroyed response
- (audio-bridge) Serialize list rooms
- (audio-bridge) Serialize allowed and list participants
- (audio-bridge) Remove kick, kick_all, suspend, and resume messages, to be added later on
- (audio-bridge) Added rsp prefix on response structs
- (audio-bridge) Made create room a single struct
- (audio-bridge) Remove list message struct
- (audio-bridge) Simplified exists, join, edit, and destory room messages
- (audio-bridge) Removed list participants message struct
- (audio-bridge) Simplified allowed message struct
- (core) Rename result -> rsp
- (audio-bridge) Added rsp prefix for examples
- (echotest) Removed make_plugin usage
- (audio-bridge) Removed make_plugin usage
- Deleted make_plugin crate
- (core) Rename TransportProtocol -> TransportSession & Tranpsort -> TransportProtocol
π§ͺ Testing
- First protocol parsing test
- Added attach rsp and event parsing test
- Added detach event deserialization
- Added webrtcup event deserialization
- (echotest) Testing event creation
βοΈ Miscellaneous Tasks
- (release) Bump version to 0.2.7
- Import instead of direct usage
- Rsp -> event
Release
- Bump version to 0.2.8
0.2.7
Changelog
All notable changes to this project will be documented in this file.
0.2.7 - 2024-04-25
π Bug Fixes
- Use rustls compatable with tokio-tungstenite
π Refactor
- Use unbounded channels
βοΈ Miscellaneous Tasks
- Bump version to 0.2.6
- Added .DS_Store to gitignore
- (release) Bump version to 0.2.7