Skip to content

Releases: alfetahe/process-hub

v0.3.0-alpha

08 Jan 06:36
Compare
Choose a tag to compare

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 with async_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 the ProcessHub.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

31 Oct 23:44
Compare
Choose a tag to compare

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

15 Sep 01:47
Compare
Choose a tag to compare

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

02 Aug 14:59
Compare
Choose a tag to compare

v0.2.8-alpha - 2024-08-02

Minor improvements on documentation.

v0.2.7-alpha

09 Jul 17:14
Compare
Choose a tag to compare

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 the blockade library now handles only one event queue per node.

Updated

  • Hex docs from 0.30.6 -> 0.34.2

v0.2.6-alpha

06 Jul 00:01
Compare
Choose a tag to compare

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 and max_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 and get_pid/2 to get the pid/s by child_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

21 Jun 01:48
Compare
Choose a tag to compare

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

02 Jun 16:20
Compare
Choose a tag to compare
Merge branch 'dev'

v0.2.3-alpha

24 Apr 21:05
Compare
Choose a tag to compare
Bumped version number

v0.2.2-alpha

31 Mar 16:08
Compare
Choose a tag to compare
Version updated.