The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
All release versions should be documented here with release date and types of changes. Unreleased changes and pre-releases (i.e. alpha/beta versions) can be documented under the section Unreleased.
Possible types of changes are:
Added
for new featuresChanged
for changes in existing functionalityDeprecated
for soon-to-be removed featuresRemoved
for now removed featuresFixed
for any bug fixesSecurity
in case of vulnerabilities
- The
paragraph.wrap
virtual package. Any installed module can be imported under that package, resulting in all top-level callables being wrapped as paragraph ops.
- If the
__call__
method of anOp
instance raises during execution ofparagraph.session.evaluate
, the latter catches the exception, raises aRuntimeError
indicating the variable whose evaluation failed, and sets the original exception as the direct cause of theRuntimeError
. Note that this currently only applies to single-threaded evaluations.
- The
op
decorator now copies the__doc__
attribute of the underlying function onto the wrappingOp
instance
- attribute
Op.thread_safe
is now a keyword-only argument of__init__
to permit attributes without default values in derived classes.
- the API doc is now included
- support for unresolved output variables in
session.evaluate
, usesessions.solve
for that purpose - support for arguments of type Variable in
Op.__call__
, useOp.op
instead
- simplify
op
decorator - simplify default implementation of
Op.__repr__
- complete rewrite of the readme
- method
Op.op
to be used in place of direct invocation of an Op instance when building a graph - the
Variable
class, theop
decorator and the functionsevaluate
,apply
,solve
andsolve_requirements
are now exposed at package level.
- mistyped variable name breaks
session.apply
- initial version of source code