<commit_before># Changelog


### 3.6.9 (WIP)

* `Transport::ReceiveRtpPacket()`: Call `RecvStreamClosed(packet->GetSsrc())` if received RTP packet does not match any `Producer`.


### 3.6.8

* Fix SRTP leak due to streams not being removed when a `Producer` or `Consumer` is closed.
  - PR #428 (fixes issues #426). 
  - Credits to credits to @penguinol for reporting and initial work at PR #427.
* Update `nlohmann::json` C++ dep to 3.8.0.
* C++: Enhance `const` correctness.
* Update NPM deps.


### 3.6.7

* `ConsumerScore`: Add `producerScores`, scores of all RTP streams in the producer ordered by encoding (just useful when the producer uses simulcast).
  - PR #421 (fixes issues #420).
* Hide worker executable console in Windows.
  - PR #419 (credits to @BlueMagnificent).
* `RtpStream.cpp`: Fix wrong `std::round()` usage.
  - Issue #423.


### 3.6.6

* Update `usrsctp` library.
* Update ESlint and TypeScript related dependencies.


### 3.6.5

* Set `score:0` when `dtx:true` is set in an `encoding` and there is no RTP for some seconds for that RTP stream.
  - Fixes #415.


### 3.6.4

* `gyp`: Fix CLT version detection in OSX Catalina when XCode app is not installed.
  - PR #413 (credits to @enimo).


### 3.6.3

* Modernize TypeScript.


### 3.6.2

* Fix crash in `Transport.ts` when closing a `DataConsumer` created on a `DirectTransport`.


### 3.6.1

* Export new `DirectTransport` in `types`.
* Make `DataProducerOptions` optional (not needed when in a `DirectTransport`).


### 3.6.0

* DataChannel termination:
  - PR #409
  - Allow the Node application to directly send text/binary messages to mediasoup-worker C++ process so others can consume them using `DataConsumers`.
  - And vice-versa: allow the Node application to directly consume in Node messages send by `DataProducers`.
* Add `WorkerLogTag` TypeScript enum and also add a new 'message' tag into it.


### 3.5.15

* Simulcast and SVC: Better computation of desired bitrate based on `maxBitrate` field in the `producer.rtpParameters.encodings`.


### 3.5.14

* Update deps, speciall `uuid` and `@types/uuid` that had a TypeScript related bug.
* `TransportCongestionClient.cpp`: Improve sender side bandwidth estimation by do not reporting `this->initialAvailableBitrate` as available bitrate due to strange behavior in the algorithm.


### 3.5.13

* Simplify `GetDesiredBitrate()` in `SimulcastConsumer` and `SvcConsumer`.
* Update libuv to 1.38.0.
<commit_msg>cosmetic<commit_after># Changelog


### 3.6.9 (WIP)

* `Transport::ReceiveRtpPacket()`: Call `RecvStreamClosed(packet->GetSsrc())` if received RTP packet does not match any `Producer`.


### 3.6.8

* Fix SRTP leak due to streams not being removed when a `Producer` or `Consumer` is closed.
  - PR #428 (fixes issues #426). 
  - Credits to credits to @penguinol for reporting and initial work at PR #427.
* Update `nlohmann::json` C++ dep to 3.8.0.
* C++: Enhance `const` correctness.
* Update NPM deps.


### 3.6.7

* `ConsumerScore`: Add `producerScores`, scores of all RTP streams in the producer ordered by encoding (just useful when the producer uses simulcast).
  - PR #421 (fixes issues #420).
* Hide worker executable console in Windows.
  - PR #419 (credits to @BlueMagnificent).
* `RtpStream.cpp`: Fix wrong `std::round()` usage.
  - Issue #423.


### 3.6.6

* Update `usrsctp` library.
* Update ESlint and TypeScript related dependencies.


### 3.6.5

* Set `score:0` when `dtx:true` is set in an `encoding` and there is no RTP for some seconds for that RTP stream.
  - Fixes #415.


### 3.6.4

* `gyp`: Fix CLT version detection in OSX Catalina when XCode app is not installed.
  - PR #413 (credits to @enimo).


### 3.6.3

* Modernize TypeScript.


### 3.6.2

* Fix crash in `Transport.ts` when closing a `DataConsumer` created on a `DirectTransport`.


### 3.6.1

* Export new `DirectTransport` in `types`.
* Make `DataProducerOptions` optional (not needed when in a `DirectTransport`).


### 3.6.0

* SCTP/DataChannel termination:
  - PR #409
  - Allow the Node application to directly send text/binary messages to mediasoup-worker C++ process so others can consume them using `DataConsumers`.
  - And vice-versa: allow the Node application to directly consume in Node messages send by `DataProducers`.
* Add `WorkerLogTag` TypeScript enum and also add a new 'message' tag into it.


### 3.5.15

* Simulcast and SVC: Better computation of desired bitrate based on `maxBitrate` field in the `producer.rtpParameters.encodings`.


### 3.5.14

* Update deps, specially `uuid` and `@types/uuid` that had a TypeScript related bug.
* `TransportCongestionClient.cpp`: Improve sender side bandwidth estimation by do not reporting `this->initialAvailableBitrate` as available bitrate due to strange behavior in the algorithm.


### 3.5.13

* Simplify `GetDesiredBitrate()` in `SimulcastConsumer` and `SvcConsumer`.
* Update libuv to 1.38.0.

{'fraction_non_alphanumeric': 0.11679280016363265, 'fraction_numerical': 0.032726528942524036, 'mean_word_length': 3.919517102615694, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1716448', 'n_tokens_mistral': 1713, 'n_tokens_neox': 1557, 'n_words': 616}