Changelog¶
v0.22.3 - 2024-02-02¶
Bug fixes¶
Dependencies¶
Devops¶
Update ReadTheDocs configuration file [5ddba0f]
v0.22.2 - 2023-06-23¶
This release applies the fixes that were released on the support branch of v0.21.x
.
Bug fixes¶
v0.22.1 - 2022-11-21¶
Dependencies¶
v0.22.0 - 2022-10-31¶
Features¶
Process
: Add theis_excepted
property [#240]
Bug fixes¶
Dependencies¶
Devops¶
v0.21.10 - 2023-11-13¶
Dependencies¶
Dependencies: Add support for Python 3.12 [2af3907]
v0.21.9 - 2023-11-10¶
Features¶
Make
ProcessListener
instances persistable [98a375f]
Fixes¶
Catch
ChannelInvalidStateError
in process state change [db2af9a]
Devops¶
Update ReadTheDocs configuration file [31f85c7]
v0.21.8 - 2023-06-07¶
Devops¶
Dependencies: Update requirement
mypy==1.3.0
[#270]
v0.21.7 - 2023-04-20¶
Bug fixes¶
PortNamespace.get_port
: Only create ifcreate_dynamically
isTrue
[#268]
v0.21.6 - 2023-04-03¶
Bug fixes¶
v0.21.5 - 2023-03-14¶
Bug fixes¶
Workchains: Accept but deprecate conditional predicates returning
None
[#261]
v0.21.4 - 2023-03-09¶
Bug fixes¶
Workchains: Raise if
if_/while_
predicate does not return boolean [#259]
Dependencies¶
Dependencies: Update pre-commit requirement
isort==5.12.0
[#260]
v0.21.3 - 2022-12-07¶
Bug fixes¶
PortNamespace
: Fix bug in valid type checking of dynamic namespaces [#255]
v0.21.2 - 2022-11-29¶
Bug fixes¶
Process
: Ensure that the raw inputs are not mutated [#251]
Dependencies¶
v0.21.1 - 2022-11-21¶
This is a backport of changes introduced in v0.22.0
.
Features¶
Process
: Add theis_excepted
property [#240]
Bug fixes¶
v0.21.0 - 2022-04-08¶
Bug fixes¶
Fix
UnboundLocalError
inDefaultObjectLoader.load_object
. [#225]
Dependencies¶
Devops¶
v0.20.0 - 2021-08-10¶
🔧 MAINTAIN: update requirement to
pyyaml~=5.4
(#221) The versions ofpyyaml
up to v5.4 contained severe security issues where the default loaders could be abused for arbitrary code execution. The defaultFullLoader
was patched to no longer allow this behavior, but as a result, data sets that could be successfully deserialized with it, now will fail. This required using the unsafeLoader
in for the deserialization of the exception state of a process.
v0.19.0 - 2021-03-09¶
‼️ DEPRECATE:
Process.done
method: This method is a duplicate ofProcess.has_terminated
, and is not used anywhere in plumpy (or aiida-core).🐛 FIX:
Task.cancel
should not set state asEXCEPTED
asyncio.CancelledError
are generated when an async task is cancelled. In python 3.7 this exception class inherits fromException
, whereas in python 3.8+ it inherits fromBaseException
. This meant it python 3.7 it was being caught byexcept Exception
, and setting the process state toEXCEPTED
, whereas in python 3.8+ it was being re-raised to the caller. We now ensure in both versions it is re-raised (particularly because aiida-core currently relies on this behaviour).👌 IMPROVE: Process broadcast subscriber Filter out
state_changed
broadcasts, and allow these to pass-through without generating a (costly) asynchronous task. Note this also required an update in the minimal kiwipy version, to0.7.4
v0.18.6 - 2021-02-24¶
👌 IMPROVE: Catch state change broadcast timeout
When using an RMQ communicator, the broadcast can timeout on heavy loads to RMQ (for example see https://github.com/aiidateam/aiida-core/issues/4745). This broadcast is not critical to the running of the process, and so a timeout should not except it.
Also ensure the process PID is included in all log messages.
v0.18.5 - 2021-02-15¶
Minor improvements and bug fixes:
🐛 FIX: retrieve future exception on_killed The exception set on the future should be retrieved, otherwise it will be caught by the loop’s exception handler.
🐛 FIX: Clean-up process event hooks: On Process close/cleanup event hooks are removed, in part to not persist cyclic dependencies of hooks <-> Process. Once a process is closed, it will also not raise an Exception if a hook tries to un-register itself (but has already been removed by the clean-up).
👌 IMPROVE: Add
Process.is_killing
property👌 IMPROVE: remove RUNNING from allowed states of
resume
: Since there is noresume
method implemented for theRunning
class.🔧 MAINTAIN: Remove frozendict dependency
v0.18.4 - 2021-01-21¶
Minor update, to add py.typed
file to distribution, in accordance with PEP-561 [#195]
v0.18.2 - 2021-01-21¶
Changes¶
v0.18.1 - 2020-12-18¶
Bug fixes¶
Trigger application of nest patch in
set_event_loop_policy
to make it compatible with Jupyter notebooks [#189]
v0.18.0 - 2020-19-09¶
Changes¶
Drop support for Python 3.5 [#187]
Dependencies¶
Dependencies: update requirement
kiwipy~=0.7.1
[#184]
v0.17.1 - 2020-11-25¶
Bug fixes¶
Dependencies: only require
aiocontextvars
for Python < 3.7 [#181]
v0.17.0 - 2020-11-13¶
Changes¶
Bug fixes¶
Port
: do not call validator if unspecified and port not required [#173]
v0.16.1 - 2020-09-04¶
Changes¶
Dependencies: relax the requirement on
aio-pika
toaio-pika~=6.6
. [#171]
v0.16.0 - 2020-08-15¶
Changes¶
Drop
tornado
as a dependency and replace it fully byasyncio
[#166]
v0.15.0 - 2020-06-16¶
Changes¶
Drop support for Python 2.7 [#151]
Bug fixes¶
LoopCommunicator
: fix incorrect call through inremove_broadcast_subscriber
[#156]PortNamespace
: do not add empty optional port namespaces to parsed inputs in thepre_process
method [#143]PortNamespace
: do not setdynamic=False
whenvalid_type=None
[#146]PortNamespace
: setdynamic=True
ifvalid_type
in constructor [#145]
Developers¶
Migrate CI from Travis to Github Actions [#152]
v0.14.5 - 2020-01-22¶
Features¶
Port
: add context argument to validator method [#141]
Changes¶
Remove unnecessary abstraction layer
ValueSpec
[#141]
v0.14.4 - 2019-12-12¶
Bug fixes¶
ProcessSpec
: do not set_spec
attribute if an error is raised inspec
call [#136]
v0.14.3 - 2019-10-25¶
Features¶
Allow lambdas for
InputPort
default values[#133]
Bug fixes¶
PortNamespace
: move namespace validator after port validation [#129]
v0.14.2 - 2019-07-16¶
Features¶
PortNamespace
: add the concept of a “lazy” namespace [#121]
Bug fixes¶
PortNamespace
: fix the implementation ofinclude
inabsorb
[#120]