Releases: fishjam-dev/fishjam
Releases · fishjam-dev/fishjam
v0.6.3
v0.6.2
Features
- Log level may now be configured using the
FJ_LOG_LEVELenv variable - Room IDs may now contain underscores as well as alphanumeric characters and hyphens
Full Changelog: v0.6.1...v0.6.2
v0.6.1
v0.6.0
v0.5.0
Features
- Added Jellyfish version and commit to healthcheck endpoint
- Added Recording Component for creating meeting recordings
- Added ResourceManager that will remove raw recordings after timeout
- Added
Room.Statemodule and peer disconnected timeout, which removes peers after a predefined inactivity period - Added peer websocket url to PeerDetailsResponse, simplifying connecting a peer to Jellyfish
- Added
PeerAddedandPeerDeletednotifications, useful e.g. when a peer is removed due to a timeout - Restricted user-assigned room's id to alphanumeric [BREAKING]
- Allow for passing hostname to
JF_WEBRTC_TURN_LISTEN_IP- useful for deployment on fly.io
Bugfixes
- Fixed ex-aws requests
- Extended timeout for AWS S3 requests
- Don't normalize AWS S3 paths
- Ensure that EPMD starts when starting the Jellyfish
v0.4.2
v0.4.1
v0.4.0
IMPORTANT This version might require clearing or updating env vars when running from source on macOS. See docs for more.
Features:
- added peer websocket close reason - now, server closes peer websocket with a reason e.g. "Internal server error", "Peer removed" or "Room stopped"
- added support for path in JF_HOST env var
- added framerate option in the File component - defaults to 30 FPS
- added healthcheck endpoint - GET /health - requires authorization and returns: status, uptime and information about distribution (enabled/disabled, node status, number of nodes in a cluster).
- added published tracks and their metadata to the REST API e.g. GET /room will return a list of rooms with their components and peers, where each component and each peer will also list all of its published tracks
- added new server notifications:
PeerMetadataUpdated,TrackAdded,TrackRemoved,TrackMetadataUpdated - added peerless room purge option - after predefined amount of time, if a room is empty, it will be automatically closed. This behaviour is disabled by default. See here.
- added SIP component
- added basic structured logging that can be enabled with
JF_STRUCTURED_LOGGING - added python RTSP -> HLS example
Bugfixes:
- fixed duplicated
peer_disconnectednotification - fixed prometheus metrics not being reset - now, after room is removed, its metrics are set to 0 - dopytać o interwał
- fixed starting logs not being displayed when JF couldn't run in a distributed mode - now, even if JF crashes because of distribution-related problems, config logs will be displayed (i.e. JF version, WebRTC config, distribution config)
- fixed removing component, which crashed from JF state (thanks to @gfodor)
- fixed removing component, which finisehd its work from JF state
- fixed authorization not required for /hls and /recording endpoints [BREAKING]
- fixed authorization information in OpenAPI spec - previously, all endpoints were marked as requiring authorization, even if they didn't actually need it
v0.3.0
Features:
- added
persistentandtargetWindowDurationoptions for HLS component - added VOD HLS (a.k.a HLS recordings) - allows to play out HLS stream recorded with
persistentset totrue - added support for uploading HLS recordings to S3
- added manual subscription mode for HLS - from now, you can manually instruct HLS component when it should start recording tracks from a given peer or component
- added File component, which allows for publishing tracks from a file
- added ability to assign custom room ID
- added (LL)HLS benchmarks
- added WebRTC benchmarks
- added new ingress/egress traffic metrics for WebRTC and HTTP
- removed metrics per second [BREAKING] - user is expected to calculate those metrics on their own
- removed total ingress/egress traffic metrics [BREAKING] - user is expected to calculate those metrics on their own
- added new webhooks -
PeerConnected,PeerDisconnected,HlsUploaded,HlsUploadCrashed - added DNS strategy for clustering
- revisited logs - now only Jellyfish logs should be printed
- renamed ComponentMetadata to ComponentProperties in REST API [BREAKING] - requests that add components will result in responses containing
propertiesfield instead ofmetadatafield. - creating component will now always return configuration options this component was creatd with instead of an empty object [BREAKING]
- added
JF_SSL_KEY_PATHandJF_SSL_CERT_PATH - renamed
JF_OUTPUT_BASE_PATHtoJF_RESOURCES_BASE_PATHand changed the default from jellyfish_output to jellyfish_resources [BREAKING] JF_DIST_NODE_NAMEdefaults to hostname from nowJF_DIST_MODEdefaults to sname from now [BREAKING]- new versions of Elixir (0.3.0) and Python (0.2.0) Server SDKs
Bugfixes:
- fixed
PeerDisconnectednotification - it might have not been fired e.g. when non-empty room was deleted. NowPeerDisconnectedis guaranteed to be fired every time peer is removed, peer crashes, non-empty room is removed or non-empty room crashes. - tests fixes and stability improvements
- fixed URL to Jellydashboard
- prevent from unauthorized access to system files via REST API
- fixed Prometheus metrics resolution - Prometheus metrics are now updated as soon as an event occurs instead of every X seconds