Skip to content

Releases: fishjam-dev/fishjam

v0.6.3

23 May 14:40
6e66990
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.2...v0.6.3

v0.6.2

22 May 12:05
fadf344
Compare
Choose a tag to compare

Features

  • Log level may now be configured using the FJ_LOG_LEVEL env 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

17 May 12:44
465ae81
Compare
Choose a tag to compare

What's Changed

  • Fallback to JF_ env vars when FJ_ are missing in all cases by @roznawsk in #199

Full Changelog: v0.6.0...v0.6.1

v0.6.0

16 May 15:25
7a311a4
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.5.0...v0.6.0

v0.5.0

23 Apr 12:03
c33af36
Compare
Choose a tag to compare

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.State module 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 PeerAdded and PeerDeleted notifications, 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

08 Mar 10:46
Compare
Choose a tag to compare

Bugfixes:

  • Fixed tracks not being removed after WebRTC peer disconnects

v0.4.1

06 Mar 13:18
Compare
Choose a tag to compare

Bugfixes:

  • API spec fixes - now correct version of OpenAPI is shown in docs
  • Fixed peer being removed once it disconnects from Jellyfish

v0.4.0

27 Feb 16:41
d4a0f77
Compare
Choose a tag to compare

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_disconnected notification
  • 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

09 Jan 18:46
fe17b8c
Compare
Choose a tag to compare

Features:

  • added persistent and targetWindowDuration options for HLS component
  • added VOD HLS (a.k.a HLS recordings) - allows to play out HLS stream recorded with persistent set to true
  • 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 properties field instead of metadata field.
  • creating component will now always return configuration options this component was creatd with instead of an empty object [BREAKING]
  • added JF_SSL_KEY_PATH and JF_SSL_CERT_PATH
  • renamed JF_OUTPUT_BASE_PATH to JF_RESOURCES_BASE_PATH and changed the default from jellyfish_output to jellyfish_resources [BREAKING]
  • JF_DIST_NODE_NAME defaults to hostname from now
  • JF_DIST_MODE defaults to sname from now [BREAKING]
  • new versions of Elixir (0.3.0) and Python (0.2.0) Server SDKs

Bugfixes:

  • fixed PeerDisconnected notification - it might have not been fired e.g. when non-empty room was deleted. Now PeerDisconnected is 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

v0.2.1

18 Oct 13:30
3c8c8bb
Compare
Choose a tag to compare

What's Changed

  • Extend possible check origins by @Rados13 in #102
  • Terminate engine on room termination. Move request handler managment by @Karolk99 in #105

Full Changelog: v0.2.0...v0.2.1