Skip to content

Latest commit

 

History

History
1344 lines (1239 loc) · 74.1 KB

CHANGELOG.md

File metadata and controls

1344 lines (1239 loc) · 74.1 KB

Changelog

All notable changes to this project will be documented in this file.

2.0.1 - 2024-10-28

Added

  • docker: Support adding CA certificates to system trust store. #825
  • proxy: Add timeouts to requests to Janus and cancel if session is closed. #847

Changed

  • make: Rename "distclean" target to "clean-generated". #814
  • Don't update capabilities concurrently from same host. #833
  • make: Improve dependency tracking. #848
  • Encode session ids using protobufs. #850

Fixed

  • Fetch country information for continentmap from correct location. #849

Dependencies

  • Bump github.com/prometheus/client_golang from 1.20.2 to 1.20.3 #815
  • Bump github.com/prometheus/client_golang from 1.20.3 to 1.20.4 #823
  • Bump google.golang.org/grpc from 1.66.0 to 1.66.2 #818
  • Bump google.golang.org/grpc from 1.66.2 to 1.67.1 #827
  • Bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 #829
  • Bump sphinx-rtd-theme from 2.0.0 to 3.0.0 in /docs #830
  • Bump sphinx from 7.4.7 to 8.0.2 in /docs #789
  • Bump github.com/nats-io/nats-server/v2 from 2.10.20 to 2.10.21 #826
  • Bump google.golang.org/protobuf from 1.34.2 to 1.35.1 #831
  • Bump jandelgado/gcov2lcov-action from 1.0.9 to 1.1.1 #840
  • Bump sphinx-rtd-theme from 3.0.0 to 3.0.1 in /docs #834
  • Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 #839
  • Bump github.com/nats-io/nats-server/v2 from 2.10.21 to 2.10.22 #843
  • Bump sphinx from 8.0.2 to 8.1.3 in /docs #838
  • Bump coverallsapp/github-action from 2.3.0 to 2.3.4 #846

2.0.0 - 2024-09-03

Added

  • Federation support #776
  • CI: Add job to update generated files. #790
  • Expose backend session limits through prometheus stats. #792
  • CI: Test with Golang 1.23 #805

Changed

  • Keep generated files in the repository. #781
  • Improve caching when fetching capabilities. #780
  • Enforce a minimum duration to cache capabilities. #783
  • docs: Use the latest LTS of Ubuntu and Python 3.12. #791
  • CI: Push generated code from service account. #793
  • CI: Only build code if token exists (i.e. with Dependabot). #794
  • CI: Always do a full build of generated files. #795
  • Remove compatibility code for Go < 1.21. #806
  • Send ping requests to local instance for federated sessions. #808

Dependencies

  • Bump sphinx from 7.3.7 to 7.4.4 in /docs #773
  • Bump google.golang.org/grpc from 1.64.0 to 1.65.0 #769
  • Bump sphinx from 7.4.4 to 7.4.5 in /docs #774
  • Bump github.com/nats-io/nats-server/v2 from 2.10.17 to 2.10.18 #775
  • Bump sphinx from 7.4.5 to 7.4.6 in /docs #777
  • Bump sphinx from 7.4.6 to 7.4.7 in /docs #779
  • Bump the etcd group with 4 updates #778
  • Bump golangci/golangci-lint-action from 6.0.1 to 6.1.0 #788
  • Bump google.golang.org/grpc/cmd/protoc-gen-go-grpc from 1.4.0 to 1.5.1 #784
  • Bump markdown from 3.6 to 3.7 in /docs #801
  • Bump github.com/prometheus/client_golang from 1.19.1 to 1.20.2 #803
  • Bump golang from 1.22-alpine to 1.23-alpine in /docker/server #798
  • Bump golang from 1.22-alpine to 1.23-alpine in /docker/proxy #799
  • Bump google.golang.org/grpc from 1.65.0 to 1.66.0 #810
  • Bump github.com/nats-io/nats-server/v2 from 2.10.18 to 2.10.19 #809
  • Bump github.com/nats-io/nats.go from 1.36.0 to 1.37.0 #797
  • Bump mkdocs from 1.6.0 to 1.6.1 in /docs #812
  • Bump github.com/nats-io/nats-server/v2 from 2.10.19 to 2.10.20 #813

1.3.2 - 2024-07-02

Added

  • Throttle /64 subnets for IPv6. #750
  • grpc: Replace environment variables in listening address. #751
  • Include list of supported features in websocket response. #755

Changed

  • Support reloading more settings #752
  • make: Don't update CLI tools before installing. #754
  • Don't throttle valid but expired resume requests. #765
  • Update badge for build status to new URL. #766

Fixed

  • Prevent overflows when calculating throttle delay. #764

Dependencies

  • Bump the etcd group with 4 updates #753
  • Bump github.com/nats-io/nats.go from 1.35.0 to 1.36.0 #761
  • Bump google.golang.org/grpc/cmd/protoc-gen-go-grpc from 1.3.0 to 1.4.0 #756
  • Bump github.com/gorilla/websocket from 1.5.1 to 1.5.3 #760
  • Bump google.golang.org/protobuf from 1.34.1 to 1.34.2 #759
  • Bump github.com/oschwald/maxminddb-golang from 1.12.0 to 1.13.0 #757
  • Bump docker/build-push-action from 5 to 6 #762
  • Bump github.com/oschwald/maxminddb-golang from 1.13.0 to 1.13.1 #767
  • Bump github.com/nats-io/nats-server/v2 from 2.10.16 to 2.10.17 #768

1.3.1 - 2024-05-23

Changed

  • Bump alpine from 3.19 to 3.20 in /docker/janus #746
  • CI: Remove deprecated options from lint workflow. #748
  • docker: Update Janus in example image to 1.2.2 #749
  • Improve detection of actual client IP. #747

Fixed

  • docker: Fix proxy entrypoint. #745

1.3.0 - 2024-05-22

Added

  • Support resuming remote sessions #715
  • Gracefully shut down signaling server on SIGUSR1. #706
  • docker: Add helper scripts to gracefully stop / wait for server. #722
  • Support environment variables in some configuration. #721
  • Add Context to clients / sessions. #732
  • Drop support for Golang 1.20 #737
  • CI: Run "govulncheck". #694
  • Make trusted proxies configurable and default to loopback / private IPs. #738
  • Add support for remote streams (preview) #708
  • Add throttler for backend requests #744

Changed

  • build(deps): Bump github.com/nats-io/nats.go from 1.34.0 to 1.34.1 #697
  • build(deps): Bump google.golang.org/grpc from 1.62.1 to 1.63.0 #699
  • build(deps): Bump google.golang.org/grpc from 1.63.0 to 1.63.2 #700
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.12 to 2.10.14 #702
  • Include previous value with etcd watch events. #704
  • build(deps): Bump go.uber.org/zap from 1.17.0 to 1.27.0 #705
  • Improve support for Janus 1.x #669
  • build(deps): Bump sphinx from 7.2.6 to 7.3.5 in /docs #709
  • build(deps): Bump sphinx from 7.3.5 to 7.3.7 in /docs #712
  • build(deps): Bump golang.org/x/net from 0.21.0 to 0.23.0 #711
  • Don't keep expiration timestamp in each session. #713
  • build(deps): Bump mkdocs from 1.5.3 to 1.6.0 in /docs #714
  • Speedup tests by running in parallel #718
  • build(deps): Bump golangci/golangci-lint-action from 4.0.0 to 5.0.0 #719
  • build(deps): Bump golangci/golangci-lint-action from 5.0.0 to 5.1.0 #720
  • build(deps): Bump coverallsapp/github-action from 2.2.3 to 2.3.0 #728
  • build(deps): Bump jinja2 from 3.1.3 to 3.1.4 in /docs #726
  • build(deps): Bump google.golang.org/protobuf from 1.33.0 to 1.34.1 #725
  • build(deps): Bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1 #730
  • build(deps): Bump golangci/golangci-lint-action from 5.1.0 to 6.0.1 #729
  • build(deps): Bump google.golang.org/grpc from 1.63.2 to 1.64.0 #734
  • Validate received SDP earlier. #707
  • Log something if mcu publisher / subscriber was closed. #736
  • build(deps): Bump the etcd group with 4 updates #693
  • build(deps): Bump github.com/nats-io/nats.go from 1.34.1 to 1.35.0 #740
  • Don't use unnecessary pointer to "json.RawMessage". #739
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.14 to 2.10.15 #741
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.15 to 2.10.16 #743

Fixed

  • Improve detecting renames in file watcher. #698
  • Update etcd watch handling. #701
  • Prevent goroutine leaks in GRPC tests. #716
  • Fix potential race in capabilities test. #731
  • Don't log read error after we closed the connection. #735
  • Fix lock order inversion when leaving room / publishing room sessions. #742
  • Relax "MessageClientMessageData" validation. #733

1.2.4 - 2024-04-03

Added

  • Add metrics for current number of HTTP client connections. #668
  • Support getting GeoIP DB from db-ip.com for tests. #689
  • Use fsnotify to detect file changes #680
  • CI: Check dependencies for minimum supported version. #692

Changed

  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.9 to 2.10.10 #650
  • CI: Also test with Golang 1.22 #651
  • build(deps): Bump the etcd group with 4 updates #649
  • Improve Makefile #653
  • build(deps): Bump google.golang.org/grpc from 1.61.0 to 1.61.1 #659
  • build(deps): Bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 #658
  • Minor improvements to DNS monitor #663
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.10 to 2.10.11 #662
  • build(deps): Bump google.golang.org/grpc from 1.61.1 to 1.62.0 #664
  • Support ports in full URLs for DNS monitor. #667
  • Calculate proxy load based on maximum bandwidth. #670
  • build(deps): Bump github.com/nats-io/nats.go from 1.32.0 to 1.33.1 #661
  • build(deps): Bump golang from 1.21-alpine to 1.22-alpine in /docker/server #655
  • build(deps): Bump golang from 1.21-alpine to 1.22-alpine in /docker/proxy #656
  • docker: Update Janus from 0.11.8 to 0.14.1. #672
  • build(deps): Bump alpine from 3.18 to 3.19 in /docker/janus #613
  • Reuse backoff waiting code where possible #673
  • build(deps): Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.0 #674
  • Docker improvements #675
  • make: Don't update dependencies but use pinned versions. #679
  • build(deps): Bump github.com/pion/sdp/v3 from 3.0.6 to 3.0.7 #678
  • build(deps): Bump google.golang.org/grpc from 1.62.0 to 1.62.1 #677
  • build(deps): Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 #676
  • build(deps): Bump github.com/pion/sdp/v3 from 3.0.7 to 3.0.8 #681
  • Update source of continentmap to original CSV file. #682
  • build(deps): Bump markdown from 3.5.2 to 3.6 in /docs #684
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.11 to 2.10.12 #683
  • build(deps): Bump github.com/pion/sdp/v3 from 3.0.8 to 3.0.9 #687
  • build(deps): Bump the etcd group with 4 updates #686
  • build(deps): Bump github.com/nats-io/nats.go from 1.33.1 to 1.34.0 #685
  • Revert "build(deps): Bump the etcd group with 4 updates" #691
  • CI: Limit when to run Docker build jobs. #695
  • Remove deprecated section on multiple signaling servers from README. #696

Fixed

  • Fix race condition when accessing "expected" in proxy_config tests. #652
  • Fix deadlock when entry is removed while receiver holds lock in lookup. #654
  • Fix flaky "TestProxyConfigStaticDNS". #671
  • Fix flaky DnsMonitor test. #690

1.2.3 - 2024-01-31

Added

  • CI: Check license headers. #627
  • Add "welcome" endpoint to proxy. #644

Changed

  • build(deps): Bump github/codeql-action from 2 to 3 #619
  • build(deps): Bump github.com/google/uuid from 1.4.0 to 1.5.0 #618
  • build(deps): Bump google.golang.org/grpc from 1.59.0 to 1.60.0 #617
  • build(deps): Bump the artifacts group with 2 updates #622
  • build(deps): Bump golang.org/x/crypto from 0.16.0 to 0.17.0 #623
  • build(deps): Bump google.golang.org/grpc from 1.60.0 to 1.60.1 #624
  • Refactor proxy config #606
  • build(deps): Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 #629
  • build(deps): Bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 #630
  • build(deps): Bump jinja2 from 3.1.2 to 3.1.3 in /docs #632
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.7 to 2.10.9 #633
  • build(deps): Bump markdown from 3.5.1 to 3.5.2 in /docs #631
  • build(deps): Bump github.com/nats-io/nats.go from 1.31.0 to 1.32.0 #634
  • build(deps): Bump readthedocs-sphinx-search from 0.3.1 to 0.3.2 in /docs #635
  • build(deps): Bump actions/cache from 3 to 4 #638
  • build(deps): Bump github.com/google/uuid from 1.5.0 to 1.6.0 #643
  • build(deps): Bump google.golang.org/grpc from 1.60.1 to 1.61.0 #645
  • build(deps): Bump peter-evans/create-or-update-comment from 3 to 4 #646
  • CI: No longer need to manually cache Go modules. #648
  • CI: Disable cache for linter to bring back annotations. #647
  • Refactor DNS monitoring #648

Fixed

  • Fix link to NATS install docs #637
  • docker: Always need to set proxy token id / key for server. #641

1.2.2 - 2023-12-11

Added

  • Include "~docker" in version if built on Docker. #602

Changed

  • CI: No need to build docker images for testing, done internally. #603
  • build(deps): Bump sphinx-rtd-theme from 1.3.0 to 2.0.0 in /docs #604
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.5 to 2.10.6 #605
  • build(deps): Bump actions/setup-go from 4 to 5 #608
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.6 to 2.10.7 #612
  • build(deps): Bump the etcd group with 4 updates #611

Fixed

  • Skip options from default section when parsing "geoip-overrides". #609
  • Hangup virtual session if it gets disinvited. #610

1.2.1 - 2023-11-15

Added

  • feat(scripts): Add a script to simplify the logs to make it more easily to trace a user/session #480

Changed

  • build(deps): Bump markdown from 3.5 to 3.5.1 in /docs #594
  • build(deps): Bump github.com/gorilla/websocket from 1.5.0 to 1.5.1 #595
  • build(deps): Bump github.com/gorilla/securecookie from 1.1.1 to 1.1.2 #597
  • build(deps): Bump github.com/gorilla/mux from 1.8.0 to 1.8.1 #596
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.4 to 2.10.5 #599
  • Improve support for multiple backends with dialouts #592
  • build(deps): Bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.25.0 to 0.46.0 #600

1.2.0 - 2023-10-30

Added

  • Use GeoIP overrides if no GeoIP database is configured. #532
  • Log warning if no (static) backends have been configured. #533
  • Fallback to common shared secret if none is set for backends. #534
  • CI: Test with Golang 1.21 #536
  • Return response if session tries to join room again. #547
  • Support TTL for transient data. #575
  • Implement message handler for dialout support. #563
  • No longer support Golang 1.19. #580

Changed

  • build(deps): Bump google.golang.org/grpc from 1.56.1 to 1.57.0 #520
  • build(deps): Bump coverallsapp/github-action from 2.2.0 to 2.2.1 #514
  • build(deps): Bump github.com/nats-io/nats.go from 1.27.1 to 1.28.0 #515
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.19 to 2.9.20 #513
  • build(deps): Bump mkdocs from 1.4.3 to 1.5.1 in /docs #523
  • build(deps): Bump markdown from 3.3.7 to 3.4.4 in /docs #519
  • build(deps): Bump mkdocs from 1.5.1 to 1.5.2 in /docs #525
  • build(deps): Bump github.com/oschwald/maxminddb-golang from 1.11.0 to 1.12.0 #524
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.20 to 2.9.21 #530
  • build(deps): Bump sphinx from 6.2.1 to 7.2.4 in /docs #542
  • build(deps): Bump github.com/google/uuid from 1.3.0 to 1.3.1 #539
  • build(deps): Bump sphinx from 7.2.4 to 7.2.5 in /docs #544
  • build(deps): Bump coverallsapp/github-action from 2.2.1 to 2.2.2 #546
  • build(deps): Bump actions/checkout from 3 to 4 #545
  • build(deps): Bump google.golang.org/grpc from 1.57.0 to 1.58.0 #549
  • build(deps): Bump docker/metadata-action from 4 to 5 #552
  • build(deps): Bump docker/setup-qemu-action from 2 to 3 #553
  • build(deps): Bump docker/login-action from 2 to 3 #554
  • build(deps): Bump docker/setup-buildx-action from 2 to 3 #555
  • build(deps): Bump coverallsapp/github-action from 2.2.2 to 2.2.3 #551
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.21 to 2.9.22 #550
  • build(deps): Bump docker/build-push-action from 4 to 5 #557
  • build(deps): Bump github.com/nats-io/nats.go from 1.28.0 to 1.29.0 #558
  • build(deps): Bump google.golang.org/grpc from 1.58.0 to 1.58.1 #559
  • build(deps): Bump sphinx from 7.2.5 to 7.2.6 in /docs #560
  • build(deps): Bump mkdocs from 1.5.2 to 1.5.3 in /docs #561
  • build(deps): Bump markdown from 3.4.4 to 3.5 in /docs #570
  • build(deps): Bump google.golang.org/grpc from 1.58.1 to 1.58.3 #573
  • build(deps): Bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0 #569
  • build(deps): Bump golang.org/x/net from 0.12.0 to 0.17.0 #574
  • build(deps): Bump github.com/nats-io/nats.go from 1.29.0 to 1.30.2 #568
  • build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 #578
  • build(deps): Bump github.com/nats-io/nats.go from 1.30.2 to 1.31.0 #577
  • dependabot: Check for updates in docker files.
  • build(deps): Bump golang from 1.20-alpine to 1.21-alpine in /docker/proxy #581
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.22 to 2.10.3 #576
  • build(deps): Bump alpine from 3.14 to 3.18 in /docker/janus #582
  • build(deps): Bump golang from 1.20-alpine to 1.21-alpine in /docker/server #583
  • Improve get-version.sh #584 -build(deps): Bump go.etcd.io/etcd/client/pkg/v3 from 3.5.9 to 3.5.10 #588
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.10.3 to 2.10.4 #586
  • build(deps): Bump github.com/google/uuid from 1.3.1 to 1.4.0 #585
  • dependabot: Group etcd updates.
  • build(deps): Bump the etcd group with 3 updates #590
  • Switch to atomic types from Go 1.19 #500
  • Move common flags code to own struct. #591

1.1.3 - 2023-07-05

Added

  • stats: Support configuring subnets for allowed IPs. #448
  • Add common code to handle allowed IPs. #450
  • Add allowall to docker image #488
  • Follow the Go release policy by supporting only the last two versions. This drops support for Golang 1.18. #499

Changed

  • build(deps): Bump google.golang.org/protobuf from 1.29.0 to 1.29.1 #446
  • build(deps): Bump actions/setup-go from 3 to 4 #447
  • build(deps): Bump google.golang.org/protobuf from 1.29.1 to 1.30.0 #449
  • build(deps): Bump coverallsapp/github-action from 1.2.4 to 2.0.0 #451
  • build(deps): Bump readthedocs-sphinx-search from 0.2.0 to 0.3.1 in /docs #456
  • build(deps): Bump coverallsapp/github-action from 2.0.0 to 2.1.0 #460
  • build(deps): Bump peter-evans/create-or-update-comment from 2 to 3 #459
  • build(deps): Bump sphinx from 6.1.3 to 6.2.1 in /docs #468
  • build(deps): Bump mkdocs from 1.4.2 to 1.4.3 in /docs #471
  • build(deps): Bump sphinx-rtd-theme from 1.2.0 to 1.2.1 in /docs #479
  • build(deps): Bump coverallsapp/github-action from 2.1.0 to 2.1.2 #466
  • build(deps): Bump golangci/golangci-lint-action from 3.4.0 to 3.5.0 #481
  • Simplify vendoring. #482
  • build(deps): Bump sphinx-rtd-theme from 1.2.1 to 1.2.2 in /docs #485
  • build(deps): Bump coverallsapp/github-action from 2.1.2 to 2.2.0 #484
  • build(deps): Bump google.golang.org/grpc from 1.53.0 to 1.55.0 #472
  • build(deps): Bump go.etcd.io/etcd/client/v3 from 3.5.7 to 3.5.9 #473
  • build(deps): Bump github.com/nats-io/nats.go from 1.24.0 to 1.26.0 #478
  • build(deps): Bump golangci/golangci-lint-action from 3.5.0 to 3.6.0 #492
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.15 to 2.9.17 #495
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.17 to 2.9.18 #496
  • build(deps): Bump github.com/prometheus/client_golang from 1.14.0 to 1.15.1 #493
  • docker: Don't build concurrently. #498
  • Use "struct{}" channel if only used as signaling mechanism. #491
  • build(deps): Bump google.golang.org/grpc from 1.55.0 to 1.56.0 #502
  • build(deps): Bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 #501
  • build(deps): Bump github.com/oschwald/maxminddb-golang from 1.10.0 to 1.11.0 #503
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.18 to 2.9.19 #504
  • build(deps): Bump google.golang.org/grpc from 1.56.0 to 1.56.1 #505
  • build(deps): Bump github.com/nats-io/nats.go from 1.27.0 to 1.27.1 #506
  • build(deps): Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 #507

Fixed

  • CI: Make sure proxy Docker image is never tagged as "latest". #445
  • Write backends comma-separated to config #487
  • Fix duplicate join events #490
  • Add missing lock for "roomSessionId" to avoid potential races. #497

1.1.2 - 2023-03-13

Added

  • Allow SKIP_VERIFY in docker image. #430

Changed

  • Keep Docker images alpine based. #427
  • build(deps): Bump coverallsapp/github-action from 1.1.3 to 1.2.0 #433
  • build(deps): Bump coverallsapp/github-action from 1.2.0 to 1.2.2 #435
  • build(deps): Bump coverallsapp/github-action from 1.2.2 to 1.2.3 #436
  • build(deps): Bump coverallsapp/github-action from 1.2.3 to 1.2.4 #437
  • build(deps): Bump github.com/nats-io/nats.go from 1.23.0 to 1.24.0 #434
  • Run "go mod tidy -compat=1.18". #440
  • CI: Run golangci-lint with Go 1.20
  • Update protoc-gen-go-grpc to v1.3.0 #442
  • CI: Stop using deprecated "set-output". #441
  • docker: Don't rely on default values when updating TURN settings. #439
  • build(deps): Bump google.golang.org/protobuf from 1.28.1 to 1.29.0 #443

Fixed

  • Fix example in docker README. #429
  • TURN_API_KEY and TURN_SECRET fix. #428

1.1.1 - 2023-02-22

Fixed

  • Fix Docker images. #425

1.1.0 - 2023-02-22

Added

  • Official docker images. #314
  • Use proxy from environment for backend client requests. #326
  • Add aarch64/arm64 docker build #384
  • CI: Setup permissions for workflows. #393
  • Implement "switchto" support #409
  • Allow internal clients to set / change the "inCall" flags. #421
  • Add support for Golang 1.20 #413

Changed

  • Switch to apt-get on CLI. #312
  • vendor: Automatically vendor protobuf modules. #313
  • Bump github.com/prometheus/client_golang from 1.12.2 to 1.13.0 #316
  • Bump github.com/oschwald/maxminddb-golang from 1.9.0 to 1.10.0 #317
  • Bump github.com/pion/sdp/v3 from 3.0.5 to 3.0.6 #320
  • Bump google.golang.org/grpc from 1.48.0 to 1.49.0 #324
  • Bump github.com/nats-io/nats-server/v2 from 2.8.4 to 2.9.0 #330
  • Bump sphinx from 5.1.1 to 5.2.2 in /docs #339
  • Bump mkdocs from 1.3.1 to 1.4.0 in /docs #340
  • Bump sphinx from 5.2.2 to 5.2.3 in /docs #345
  • Bump github.com/nats-io/nats-server/v2 from 2.9.0 to 2.9.2 #344
  • Bump go.etcd.io/etcd/api/v3 from 3.5.4 to 3.5.5 #333
  • Bump go.etcd.io/etcd/server/v3 from 3.5.4 to 3.5.5 #334
  • Bump google.golang.org/grpc from 1.49.0 to 1.50.0 #346
  • Bump github.com/nats-io/nats-server/v2 from 2.9.2 to 2.9.3 #348
  • Bump github.com/nats-io/nats.go from 1.17.0 to 1.18.0 #349
  • Bump sphinx from 5.2.3 to 5.3.0 in /docs #351
  • Bump mkdocs from 1.4.0 to 1.4.1 in /docs #352
  • Bump google.golang.org/grpc from 1.50.0 to 1.50.1 #350
  • Bump golangci/golangci-lint-action from 3.2.0 to 3.3.0 #353
  • Bump mkdocs from 1.4.1 to 1.4.2 in /docs #358
  • Bump sphinx-rtd-theme from 1.0.0 to 1.1.0 in /docs #357
  • Bump github.com/nats-io/nats.go from 1.18.0 to 1.19.0 #354
  • Bump github.com/prometheus/client_golang from 1.13.0 to 1.13.1 #360
  • Bump github.com/nats-io/nats-server/v2 from 2.9.3 to 2.9.5 #359
  • build(deps): Bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 #365
  • build(deps): Bump sphinx-rtd-theme from 1.1.0 to 1.1.1 in /docs #363
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.5 to 2.9.6 #361
  • build(deps): Bump github.com/nats-io/nats.go from 1.19.0 to 1.20.0 #366
  • build(deps): Bump google.golang.org/grpc from 1.50.1 to 1.51.0 #368
  • build(deps): Bump github.com/prometheus/client_golang from 1.13.1 to 1.14.0 #364
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.6 to 2.9.7 #367
  • build(deps): Bump go.etcd.io/etcd/server/v3 from 3.5.5 to 3.5.6 #372
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.7 to 2.9.8 #371
  • build(deps): Bump github.com/nats-io/nats.go from 1.20.0 to 1.21.0 #375
  • build(deps): Bump github.com/golang-jwt/jwt/v4 from 4.4.2 to 4.4.3 #374
  • build(deps): Bump cirrus-actions/rebase from 1.7 to 1.8 #379
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.8 to 2.9.9 #377
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.9 to 2.9.10 #382
  • build(deps): Bump github.com/nats-io/nats.go from 1.21.0 to 1.22.1 #383
  • build(deps): Bump google.golang.org/grpc from 1.51.0 to 1.52.0 #391
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.10 to 2.9.11 #387
  • Stop using WaitGroup to detect finished message processing. #394
  • Improve handling of throttled responses from Nextcloud. #395
  • Test: add timeout while waiting for etcd event. #397
  • build(deps): Bump github.com/nats-io/nats.go from 1.22.1 to 1.23.0 #399
  • build(deps): Bump go.etcd.io/etcd/api/v3 from 3.5.6 to 3.5.7 #402
  • build(deps): Bump go.etcd.io/etcd/client/v3 from 3.5.6 to 3.5.7 #403
  • build(deps): Bump go.etcd.io/etcd/server/v3 from 3.5.6 to 3.5.7 #404
  • build(deps): Bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 #405
  • build(deps): Bump readthedocs-sphinx-search from 0.1.2 to 0.2.0 in /docs #407
  • build(deps): Bump google.golang.org/grpc from 1.52.0 to 1.52.1 #406
  • build(deps): Bump docker/build-push-action from 3 to 4 #412
  • build(deps): Bump google.golang.org/grpc from 1.52.1 to 1.52.3 #410
  • Explicitly use type "sysConn". #416
  • build(deps): Bump github.com/nats-io/nats-server/v2 from 2.9.11 to 2.9.14 #415
  • build(deps): Bump sphinx-rtd-theme from 1.1.1 to 1.2.0 in /docs #418
  • build(deps): Bump google.golang.org/grpc from 1.52.3 to 1.53.0 #417
  • build(deps): Bump golang.org/x/net from 0.5.0 to 0.7.0 #422
  • build(deps): Bump github.com/golang-jwt/jwt/v4 from 4.4.3 to 4.5.0 #423
  • build(deps): Bump sphinx from 5.3.0 to 6.1.3 in /docs #390
  • Various refactorings to simplify code #400

Fixed

  • Remove @resources from SystemCallFilter #322
  • Fix deadlock for proxy connection issues #327
  • Fix goroutines leak check. #396

1.0.0 - 2022-08-04

Added

  • Clustering support. #281
  • Send initial "welcome" message when clients connect. #288
  • Support hello auth version "2.0" with JWT. #251
  • dist: add systemd sysusers file. #275
  • Add more tests. #292
  • Add tests for virtual sessions. #295
  • Implement per-backend session limit for clusters. #296

Changed

  • Don't run "go mod tidy" when building. #269
  • Bump sphinx from 5.0.0 to 5.0.1 in /docs #270
  • Bump sphinx from 5.0.1 to 5.0.2 in /docs #277
  • Move common etcd code to own class. #282
  • Support arbitrary capabilities values. #287
  • dist: harden systemd service unit. #276
  • Update to Go module version of github.com/golang-jwt/jwt #289
  • Disconnect sessions with the same room session id synchronously. #294
  • Bump google.golang.org/grpc from 1.47.0 to 1.48.0 #297
  • Update to github.com/pion/sdp v3.0.5 #301
  • Bump sphinx from 5.0.2 to 5.1.1 in /docs #303
  • make: Include vendored dependencies in tarball. #300
  • docs: update and pin dependencies. #305
  • Bump actions/upload-artifact from 2 to 3 #307
  • Bump actions/download-artifact from 2 to 3 #308
  • Bump google.golang.org/protobuf from 1.28.0 to 1.28.1 #306
  • CI: Also test with Golang 1.19 #310

Fixed

  • Fix check for async room messages received while not joined to a room. #274
  • Fix testing etcd server not starting up if etcd is running on host. #283
  • Fix CI issues on slow CPUs. #290
  • Fix handling of "unshareScreen" messages and add test. #293
  • Fix Read The Ddocs builds. #302

0.5.0 - 2022-06-02

Added

  • Add API documentation (previously in https://github.com/nextcloud/spreed) #194
  • CI: Enable gofmt linter. #196
  • CI: Enable revive linter. #197
  • Add API for transient room data. #193
  • Send updated offers to subscribers after publisher renegotiations. #195
  • Add documentation on the available metrics. #210
  • Add special events to update "incall" flags of all sessions. #208
  • CI: Also test with Golang 1.18. #209
  • Support DNS discovery for proxy server URLs. #214
  • CI: Build docker image. #238
  • Add specific id for connections and replace "update" parameter with it. #229
  • Add "permission" for sessions that may not receive display names. #227
  • Add support for request offers to update subscriber connections. #191
  • Support toggling audio/video in subscribed streams. #239
  • CI: Test building coturn/janus Docker images. #258
  • Add command bot for "/rebase". #260
  • Add Go Report card. #262
  • Combine ping requests of different rooms on the same backend. #250

Changed

  • Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 #198
  • Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 #202
  • Bump actions/checkout from 2.4.0 to 3 #205
  • Bump actions/cache from 2.1.7 to 3 #211
  • Return dedicated error if proxy receives token that is not valid yet. #212
  • CI: Only run workflows if relevant files have changed. #218
  • Bump sphinx from 4.2.0 to 4.5.0 in /docs #216
  • Bump github.com/oschwald/maxminddb-golang from 1.8.0 to 1.9.0 #213
  • Only support last two versions of Golang (1.17 / 1.18). #219
  • Bump github.com/golang-jwt/jwt from 3.2.1+incompatible to 3.2.2+incompatible #161
  • Bump github.com/nats-io/nats-server/v2 from 2.2.6 to 2.7.4 #207
  • Update etcd to v3.5.1 #179
  • Bump github.com/prometheus/client_golang from 1.11.0 to 1.12.1 #190
  • Bump go.etcd.io/etcd/client/v3 from 3.5.1 to 3.5.2 #222
  • Use features from newer Golang versions. #220
  • Bump actions/setup-go from 2 to 3 #226
  • Send directly to local session with disconnected client. #228
  • Bump github.com/nats-io/nats-server/v2 from 2.7.4 to 2.8.1 #234
  • Bump go.etcd.io/etcd/client/pkg/v3 from 3.5.2 to 3.5.4 #235
  • Bump github/codeql-action from 1 to 2 #237
  • Bump go.etcd.io/etcd/client/v3 from 3.5.2 to 3.5.4 #236
  • Bump github.com/nats-io/nats-server/v2 from 2.8.1 to 2.8.2 #242
  • Bump docker/setup-buildx-action from 1 to 2 #245
  • Bump docker/build-push-action from 2 to 3 #244
  • Bump github.com/nats-io/nats.go from 1.14.0 to 1.15.0 #243
  • Bump readthedocs-sphinx-search from 0.1.1 to 0.1.2 in /docs #248
  • CI: Run when workflow yaml file has changed. #249
  • Bump golangci/golangci-lint-action from 3.1.0 to 3.2.0 #247
  • Move capabilities handling to own file and refactor http client pool. #252
  • Increase allowed body size for backend requests. #255
  • Improve test coverage. #253
  • Switch to official Coturn docker image. #259
  • Bump github.com/prometheus/client_golang from 1.12.1 to 1.12.2 #256
  • Update Dockerfile versions. #257
  • Update Alpine to 3.15 version, fix CVE-2022-28391 #261
  • Bump cirrus-actions/rebase from 1.6 to 1.7 #263
  • Bump github.com/nats-io/nats.go from 1.15.0 to 1.16.0 #267
  • Bump jandelgado/gcov2lcov-action from 1.0.8 to 1.0.9 #264
  • Bump github.com/nats-io/nats-server/v2 from 2.8.2 to 2.8.4 #266
  • Bump sphinx from 4.5.0 to 5.0.0 in /docs #268

Fixed

  • CI: Fix linter errors. #206
  • CI: Pin dependencies to fix readthedocs build. #215
  • Fix mediaType not updated after publisher renegotiations. #221
  • Fix "signaling_server_messages_total" stat not being incremented. #190

0.4.1 - 2022-01-25

Added

  • The room session id is included in "joined" events. #178
  • Clients can provide the maximum publishing bandwidth in offer requests. #183

Changed

  • Change source of country -> continent map. #177
  • Bump actions/cache from 2.1.6 to 2.1.7 #171

0.4.0 - 2021-11-10

Added

  • Support continent mapping overrides. #143
  • Add prometheus metrics #99
  • Support separate permissions for publishing audio / video. #157
  • Check individual audio/video permissions on change. #169
  • CI: Also test with Go 1.17 #153

Changed

  • Force HTTPS for backend connections in old-style configurations. #132
  • Only include body in 307/308 redirects if going to same host #134
  • Stop publishers if session is no longer allowed to publish. #140
  • Only allow subscribing if both users are in the same room and call. #133
  • Internal clients always may subscribe all streams. #159
  • Reduce RTT logging #167
  • deps: Migrate to "github.com/golang-jwt/jwt". #160
  • Bump coverallsapp/github-action from 1.1.2 to 1.1.3 #131
  • Bump github.com/google/uuid from 1.2.0 to 1.3.0 #138
  • Bump github.com/prometheus/client_golang from 1.10.0 to 1.11.0 #144
  • Bump github.com/nats-io/nats.go from 1.11.0 to 1.12.1 #150
  • Bump github.com/nats-io/nats.go from 1.12.1 to 1.12.3 #154
  • Bump github.com/nats-io/nats.go from 1.12.3 to 1.13.0 #158
  • Bump actions/checkout from 2.3.4 to 2.3.5 #163
  • Bump actions/checkout from 2.3.5 to 2.4.0 #166

Fixed

  • Adjusted easyjson for multiarch builds #129

0.3.0 - 2021-07-01

Added

  • Certificate validation can be disabled for proxy connections
  • Number of sessions per backend can be limited #67
  • Use Go modules for dependency tracking, drop support for Golang < 1.13 #88
  • Support defining maximum bandwidths at diferent levels #76
  • Show coverage report in PRs #34
  • CI: Also test with Golang 1.16
  • CI: Run golint #32
  • CI: Add CodeQL analysis #112
  • Add tests for regular NATS client #105
  • Fetch capabilities to check if "v3" signaling API of Talk should be used. #119
  • Add API to select a simulcast substream / temporal layer #104

Changed

  • Improved detection of broken connections between server and proxy #65
  • Stop using legacy ptype listener #83
  • Update gorilla/mux to 1.8.0 #89
  • Remove unnecessary dependency golang.org/x/net #90
  • Update nats.go to 1.10.0 #92
  • Update maxminddb-golang to 1.8.0 #91
  • Add dependabot integration #93
  • Bump github.com/google/uuid from 1.1.2 to 1.2.0 #94
  • Bump github.com/gorilla/websocket from 1.2.0 to 1.4.2 #95
  • Remove deprecated github.com/gorilla/context
  • Update to go.etcd.io/etcd 3.4.15
  • make: Cache easyjson results. #96
  • Various updates to Docker components #78
  • Bump coverallsapp/github-action from v1.1.1 to v1.1.2 #102
  • Bump jandelgado/gcov2lcov-action from v1.0.2 to v1.0.8 #103
  • Bump actions/cache from 2 to 2.1.5 #106
  • Bump golangci/golangci-lint-action from 2 to 2.5.2 #107
  • Bump actions/checkout from 2 to 2.3.4 #108
  • Bump actions/cache from 2.1.5 to 2.1.6 #110
  • Don't log TURN credentials #113
  • Remove NATS notifications for Janus publishers #114
  • Make client processing asynchronous #111
  • Bump github.com/nats-io/nats-server/v2 from 2.2.1 to 2.2.6 #116
  • Notify new clients about flags of virtual sessions #121

Fixed

  • Adjusted godeps for multiarch builds #69
  • Add missing lock when accessing internal sessions map
  • Fixed parallel building #73
  • Make the response from the client auth backend OCS compliant #74
  • Fixed alignment of 64bit members that are accessed atomically #72
  • Only build "godep" binary once #75
  • Update config example for Apache proxy config #82
  • Remove remaining virtual sessions if client session is closed
  • Fix Caddy v2 example config #97
  • Fix various issues found by golangci-lint #100
  • Support multiple waiters for the same key #120
  • Various test improvements / fixes #115

0.2.0 - 2020-12-08

Added

  • Reload backends from configuration on SIGHUP #52 #53
  • Add support for virtual sessions #61

Changed

  • Default to proxy url type "static" if none is configured
  • Don't perform request to proxy if context is already done
  • Mark session as used when proxy connection is interrupted to prevent from timing out too early
  • Use dedicated (shorter) timeout for proxy requests to avoid using the whole available timeout for the first proxy request
  • Update logging when creating / deleting publishers / subscribers
  • Include load in stats response
  • Send MCU messages through the session #55
  • Add '--full-trickle' to janus command #57
  • README: Add missing information for creating group #60
  • Canonicalize all URLs before comparisons / lookups #62

Fixed

  • Handle case where etcd cluster is not available during startup
  • Remove duplicate argument in Dockerfile #50
  • Handle old-style MCU configuration with type but no url
  • Fix proxy client cleanup code #56

0.1.0 - 2020-09-07

Added

  • Add Docker support #7
  • Added basic stats API #16
  • Add "reason" field to disinvite messages #26
  • Added support for multiple Nextcloud backends #28
  • Support connecting to multiple Janus servers #36
  • Added support for loading proxy tokens from etcd cluser #44
  • Proxy URLs are reloaded on SIGHUP #46
  • Added support for loading proxy URls from etcd cluster #47
  • Add option to override GeoIP lookups (e.g. for local addresses) #48

Changed

  • The continent map is no longer downloaded on each build #29
  • NATS messages are processed directly #35
  • Support changed "slowlink" message from Janus > 0.7.3 #39
  • The GeoIP database can be loaded from a local file #40
  • Drop support for Golang < 1.10.

Fixed

  • Fixes for building on FreeBSD #2
  • Fixes for typos in comments and error messages #10
  • Remove credentials from log #13

Documentation

  • Add systemd to docs #3
  • Add caddy server to reverse proxy examples #5
  • Update link to API documentation #6
  • Update build requirements #12

0.0.13 - 2020-05-12

  • Initial OpenSource version.