Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning from the version that will follow 2.1.0.
[3.0.1] - 2022-04-19
Added
rebar3_ex_doc+make ex_doc-dry[Paulo Oliveira]
Changed
edoc-based doc. toex_doc-based doc. [Paulo Oliveira]
[3.0.0] - 2021-07-27
Added
.github/workflows/ci.ymlfor GitHub Actions -based CI- note to CHANGELOG regarding semver
- possibility to add EDoc-based doc.s in the future
rebar3_lint-based static analysisrebar.lock(as generated byrebar3 do unlock,upgrade)- full compatibility with support branch
support/2.1.x - copyright notices (Miniclip) to all changed elements
tlsv1.3support, with the ciphers recommended by Mozilla
Changed
.gitignoreto a trimmed version of what we actually need theretest/integration/.dockerignoreto a trimmed version of what we actually need thereMakefileto a more modern version of itself (added a couple of new targets, too)rebar.configto a more modern version of itselfminimum_otp_vsnto 22 (from 19.1)test/integration/Dockerfileto a more modern version of itselftest/integration/integration-tests.shin order to repeat ourselves less- tests, in order to ignore failing ones (1 only)
Fixed
- minor
.ymlelements for readability - minor
.mdelements for readability and to signal a maintenance shift to Miniclip - all static analysis issues that were found by the addition of new tools to CI
Removed
.travis.yml, as replaced by GitHub Actionsinclude/*.hrl(as now moved tosrc/*.hrl)otp-release.escript- miscelaneous
rebar.configentries where they concerned defaults coveralls-related stuffrebar.config.scripttest/gen_rpc.coverspecas unsupported by recent versions ofrebar3- uninteresting
TODO.md - list of contributors
package.exstlv1.1supporttlv1.2ciphers, where not recommended
2.1.0
Support multiple connections per node using aribtrary keys.
Add support for Linux and Darwin/macOS custom keepalive settings to detect socket issues faster.
2.0.1
- Support external node driver/port discovery.
2.0.0
This release boasts a major rengineer/refactor of gen_rpc that includes quite a few new features:
The server and acceptor FSMs have been converted to
gen_statemto follow Erlang's best practices and development. As a result, support for Erlang releases older than 19.1 has been dropped.Specific options, leveraging Erlang 19, have been enabled such as off-heap mailboxes for client and acceptor, and higher priorities for all
gen_rpcprocesses.Ports are not dynamically assigned anymore as it shows that, after some research, offers no additional benefits to having a static port listener. That means less processes to supervise and less moving parts where something can go wrong.
Support for SSL has been added. Please refer to the README for more information on how to use it.
Module version control support has been added, effectively allowing you to only make RPC calls to nodes that run specific versions of modules.
lagersupport has been dropped in favor of the logging backend-agnostic libraryhut, in order to better support Elixir installations. The test suite and development profiles still use lager but this doesn't interfere with production deployments ofgen_rpc.Tests have been updated to test more edge cases, including new SSL functionality.
Some options in
gen_rpc.app.srchave changed names to better describe what they do. Again, pleaserefer to the README to verify your preexisting settings are consistent with their new names.Various smaller bugs have been fixed and various responses have been massaged for consistency.
1.0.2
Implemented blacklisting/whitelisting of modules available for RPC.
Implemented abcast and sbcast support.
1.0.1
Updated documentation
Updated/optimized various TCP options
Updated tests to include more edge cases
Support client-configurable listener port per remote node
Small code refactoring and cleanup
1.0.0
This release drops the hybrid RPC/TCP approach and uses a separate TCP listener to emulate initial RPC communication. In addition, this release includes:
Updated documentation
Added integration tests using Docker