Skip to content

Releases: Ghamza-Jd/jarust

0.8.1

12 Nov 18:38
Compare
Choose a tag to compare

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

07 Nov 08:38
Compare
Choose a tag to compare

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

01 Oct 11:07
Compare
Choose a tag to compare

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

23 Sep 20:13
Compare
Choose a tag to compare

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!

13 Sep 19:42
Compare
Choose a tag to compare

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

26 Jun 11:13
Compare
Choose a tag to compare

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

24 May 08:39
Compare
Choose a tag to compare

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

11 May 08:12
Compare
Choose a tag to compare

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

07 May 14:08
Compare
Choose a tag to compare

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

25 Apr 14:16
Compare
Choose a tag to compare

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