Release Notes¶
Check below for new features added in each release. Please note that release notes were not recorded before version 0.5.0.
0.6.x¶
Features in the 0.6.x series of releases are focused on expanding functionality to include expression optimization, satisfiability, and transformations.
0.6.1¶
- Add iff (
iff,->) and implies (impl,<->) Boolean operators- Add
is_cnfandis_dnfattributes toBooleanExpression- Add functionality to initialize
BooleanExpressionobjects from instances ofExpressionTreeNodeorBooleanExpressionTree- Update __str__ and __repr__ for
BooleanExpression- Add
is_really_unaryattribute toExpressionTreeNode- Add
iter_clauses,iter_cnf_clauses, anditer_dnf_clausestoExpressionTreeNode- Add
iter_clauses,iter_cnf_clauses, anditer_dnf_clausestoBooleanExpression- Add
RequiresNormalFormError- Add attributes
default_symbol_stranddefault_plain_english_strtoBooleanOperator, in place of removednameattribute- Add
to_primitives,coalesce_negations,distribute_ands,distribute_ors, andapply_de_morganstoExpressionTreeNode- Introduce high-level
transformationsinterface, including transformation functionsto_primitives,coalesce_negations,distribute_ands,distribute_ors,to_cnf, andapply_de_morgans- Add
BINARY_OPERATORSandNON_PRIMITIVE_OPERATORSsets todefinitionsmodule- Add
__eq__and__ne__implementations forBooleanExpressionand derivatives ofExpressionTreeNode
0.6.0¶
- Add
is_valid_identifierhelper method for checking if symbol names are valid- Add checking of valid symbol names to
BooleanExpressionandTruthTableinitalization logic, with corresponding new exception typeInvalidIdentifierError- Add
boolean_variables_factoryhelper for generating more intuitive collections of symbol inputs- Update
__iter__inTruthTableto yield inputs as anamedtuple-like object rather than a plaintuple- Re-organize User Guide into different sections instead of one long page
- Remove PyPy support, due to addition of C-extensions
- Add OS X builds to Travis
- Include both 32-bit and 64-bit builds on AppVeyor
- Add initial wrapper around PicoSAT library for future satisfiability interface; namely, the
sat_onemethod- Add automated deployment to PyPI on tagged commits from CI services
0.5.x¶
Features in the 0.5.x series of releases were focused on expanding the top-level interface and improving optimizations under the hood. See below for specific features and fixes.
0.5.1¶
- Add
from_valuesoption to theTruthTableinitializer, allowing for table creation directly from values- Add ability to store don’t cares in a
TruthTable- Add
equivalent_tomethod toTruthTableto check for equivalence of sources of truth- Convert
generate_symbolsandinput_combosto be static methods of theTruthTableclass- Add
is_fulltoTruthTable- Add __iter__ and __getitem__ functionality to
TruthTable- Add nice-looking __str__ to
BooleanExpression- Add new exception types:
AlreadyFullTableError,ConflictingArgumentsError, andRequiredArgumentError- Re-organize exception hierarchy so each group of exceptions extends from the same base class
- Re-organize the test file structure into more-focused files
- Add User Guide, acting as tutorial-style documentation
- Remove CLI example from the README
- Update documentation color palette
0.5.0¶
- Added the Release Notes section to the project’s documentation (how fitting for this page)
- Publically exposed the
input_combosmethod in theTruthTableclass- Added test coverage for the CPython 3.6, PyPy, and PyPy3 runtimes
- Migrated all documentation to from Napoleon docstrings to standard Sphinx docstrings
- Added doctest tests to the documentation
- Added type-checking to the
BooleanExpressionclass’s initialization- Fixed a bug in the handling of empty expressions in the CLI
pre-0.5¶
Unfortunately, release notes were not kept before the 0.5.0 release.