Releases: alfetahe/process-hub
Releases · alfetahe/process-hub
v0.3.0-alpha
v0.3.0-alpha - 2025-01-08
Performance improvements, bugfixes and other minor improvements including one new feature.
Breaking changes
Hook.post_children_start()
now returns:[{child_id(), result(), pid(), [node()]}]
- Fixed error handling on process startups and stoppings. Returning more information about the failures and partial successes. Example:
ProcessHub.start_children/3
,ProcessHub.stop_children/3
withasync_wait: true
now on failures return:{:error, list_of_failures(), list_of_partial_successes()}
. This does not affect successful operations.
Added
- Added new option
on_failure: :continue | :rollback
to theProcessHub.start_children/3
,ProcessHub.stop_children/3
functions. This option allows the user to specify what should happen if the operation fails.
Fixed
ProcessHub.Strategy.Redundancy.Replication
was not properly updating the redundancy_signal value on some occasions
due to race condition.- Fixed issue with
ProcessHub.Janitor
not purging the cache properly when using Gossip protocol. - State passing on hotswap migration with graceful shutdown fixed.
- Timeout option was not properly used in some cases.
Changed
- Improved typespecs across the codebase.
- Improved overall performance of start/stop/hotswap migration operations which involved synchronization and large
amount of message passing by using bulk operations.
v0.2.10-alpha
v0.2.10-alpha - 2024-11-01
Added new configuration options for timeout and other static values.
Added
storage_purge_interval
option added to the configuration to allow the user to set the interval
for purging the storage table from old data (ttl based).migr_base_timeout
option added to the configuration to allow the user to set the timeout
for the migration process to complete before it is considered failed.dsup_max_restarts
option added to the configuration to allow the user to set the maximum
number of restarts for the distributed supervisor.dsup_max_seconds
option added to the configuration to allow the user to set the maximum
number of seconds for the distributed supervisor to be running before it is considered failed.dsup_shutdown_timeout
option added to the configuration to allow the user to set the timeout
for the distributed supervisor to shutdown before forcefully killing it when receiving a shutdown signal.
v0.2.9-alpha
v0.2.9-alpha - 2024-09-15
Bug fixes, minor documentation improvements.
Changed
- All tests are generating binary child_id's by default instead of atoms to avoid future issues
with Keyword lists.
Fixed
- Hotswap migration was not working properly when child_id was a binary type due to the
Keyword.get/3
calls. - Cluster update was throwing errors when child_id was a binary.
v0.2.8-alpha
v0.2.8-alpha - 2024-08-02
Minor improvements on documentation.
v0.2.7-alpha
v0.2.7-alpha - 2024-07-09
Removed the requirement to start the Erlang node as a distributed node as
it is no longer needed anymore since the blockade
library now handles only one event queue per node.
Also added ability to start child processes statically.
Added
- Ability to start child processes statically when starting up the ProcessHub.
Removed
- Removed the requirement to start the Erlang node as distributed node as it is no longer
needed anymore since theblockade
library now handles only one event queue per node.
Updated
- Hex docs from 0.30.6 -> 0.34.2
v0.2.6-alpha
v0.2.6-alpha - 2024-07-06
This version includes bug fixes, new API functions, and minor improvements to the documentation.
Changed
- Replaced
Cachex
with our custom implementation to enhance performance. - Updated the default values for
max_restarts
andmax_seconds
to 100 and 4, respectively. - Storage module now accepts the table identifier as the first parameter, allowing
it to be used with multiple tables.
Added
- Introduced new API functions
get_pids/2
andget_pid/2
to get the pid/s bychild_id
. - New guide page for interacting with the process registry.
Fixed
- Corrected an issue where local supervisor restarts were not properly updating the global registry.
- Fixed various typos and errors in the documentation.
v0.2.5-alpha
Bugfixes and documentation improvements.
Changed
- Internal hook handler ID's.
Added
- Guide page for creating custom strategies.
- More examples on how to use the hook system.
Fixed
- Child process stopping when
child_id
was binary type. (Reported and fixed by
Peaceful James - Documentation errors.
v0.2.4-alpha
Merge branch 'dev'
v0.2.3-alpha
Bumped version number
v0.2.2-alpha
Version updated.