Releases: jbsf2/process-tree
v0.2.0
Changes
-
Feature:
get/2
now supports use of the$callers
dictionary key for navigating the hierarchy of processes that initiate a supervisedTask
. This is useful, for example, when code under test starts a task using a Supervisor that is started in the Application supervision tree.This is a potentially breaking change in this seemingly-unlikely scenario: 1) For a given key, there is no value found in the parent/
$ancestors
hierarchy 2) There is, however, a value found by looking at$callers
3) The desired behavior is that no value be found.In this scenario, older releases of ProcessTree will return no value for the key. With this release, ProcessTree will instead return the value found by examining
$callers
.Thanks to @axelson for the feature idea and implementation suggestions.
-
Fix: broken typespec leading to potential dialyzer errors. Thanks to @RobinBoers for spotting and fixing the problem.
v0.1.3
- added
cache: false
option toget()
. When called withcache: false
,get()
will not cache found values in the process dictionary of the calling process - added support for optimized key-specific dictionary lookup, available when using elixir 1.17+ and OTP 27.0+
Support arbitrary dictionary keys
Prior to this release, ProcessTree
mistakenly assumed that all dictionary keys were atoms. With this release, dictionary keys of any type are now accepted. Thanks @doorgan for spotting and fixing the issue!
Fix dialyzer issues
- Fix one dialyzer error seen across all versions of OTP
- Suppress three non-problematic dialyzer warnings seen in OTP 24 and earlier
0.1.0 release
v0.1.0 url fixes