Current section
Files
Jump to
Current section
Files
mc_gen_rpc
CHANGELOG.md
CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) 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. to `ex_doc`-based doc. [Paulo Oliveira]
## [3.0.0] - 2021-07-27
### Added
- `.github/workflows/ci.yml` for GitHub Actions -based CI
- note to CHANGELOG regarding semver
- possibility to add EDoc-based doc.s in the future
- `rebar3_lint`-based static analysis
- `rebar.lock` (as generated by `rebar3 do unlock,upgrade`)
- full compatibility with support branch `support/2.1.x`
- copyright notices (Miniclip) to all changed elements
- `tlsv1.3` support, with the ciphers recommended by Mozilla
### Changed
- `.gitignore` to a trimmed version of what we actually need there
- `test/integration/.dockerignore` to a trimmed version of what we actually need there
- `Makefile` to a more modern version of itself (added a couple of new targets, too)
- `rebar.config` to a more modern version of itself
- `minimum_otp_vsn` to 22 (from 19.1)
- `test/integration/Dockerfile` to a more modern version of itself
- `test/integration/integration-tests.sh` in order to repeat ourselves less
- tests, in order to ignore failing ones (1 only)
### Fixed
- minor `.yml` elements for readability
- minor `.md` elements 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 Actions
- `include/*.hrl` (as now moved to `src/*.hrl`)
- `otp-release.escript`
- miscelaneous `rebar.config` entries where they concerned defaults
- `coveralls` -related stuff
- `rebar.config.script`
- `test/gen_rpc.coverspec` as unsupported by recent versions of `rebar3`
- uninteresting `TODO.md`
- list of contributors
- `package.exs`
- `tlv1.1` support
- `tlv1.2` ciphers, 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_statem` to 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_rpc` processes.
- 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](README.md#ssl-configuration) 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.
- `lager` support has been **dropped** in favor of the logging backend-agnostic library `hut`, in order to better support
Elixir installations. The test suite and development profiles still use lager but this doesn't interfere with production
deployments of `gen_rpc`.
- Tests have been updated to test more edge cases, including new SSL functionality.
- Some options in `gen_rpc.app.src` have 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