=================================================================================================
The first non pre-release for 2.x train.
+ BRAKE API: DROP Operation's ``params`` - use functools.partial() instead.
+ BRAKE API: DROP Backward-Compatible ``Data`` & ``Operation`` classes,
+ BRAKE: DROP Pickle workarounds - expected to use ``dill`` instead.
+ break(jetsam): drop "graphtik_` prefix from annotated attribute
+ ENH(op): now ``operation()`` supported the "builder pattern" with
``.operation.withset()`` method.
+ REFACT: renamed internal package `functional --> nodes` and moved classes around,
to break cycles easier, (``base`` works as supposed to), not to import early everything,
but to fail plot early if ``pydot`` dependency missing.
+ REFACT: move PLAN and ``compute()`` up, from ``Network --> Pipeline``.
+ ENH(NET): new PLAN BUILDING algorithm produces PERFECT EVICTIONS,
that is, it gradually eliminates from the solution all non-asked outputs.
+ enh: pruning now cleans isolated data.
+ enh: eviction-instructions are inserted due to two different conditions:
once for unneeded data in the past, and another for unused produced data
(those not belonging typo the pruned dag).
+ enh: discard immediately irrelevant inputs.
+ ENH(net): changed results, now unrelated inputs are not included in solution.
+ refact(sideffect): store them as node-attributes in DAG, fix their combination
with pinning & eviction.
+ fix(parallel): eviction was not working due to a typo 65 commits back!
v2.0.0b1 (15 Oct 2019, ankostis): Rebranded as *Graphtik* for Python 3.6+
==========================================================================
Continuation of :gh:`30` as :gh:`31`, containing review-fixes in huyng/graphkit1.
Network
-------
+ FIX: multithreaded operations were failing due to shared
:attr:`.ExecutionPlan.executed`.
+ FIX: pruning sometimes were inserting plan string in DAG.
(not ``_DataNode``).
+ ENH: heavily reinforced exception annotations ("jetsam"):
- FIX: (8f3ec3a) outer graphs/ops do not override the inner cause.
- ENH: retrofitted exception-annotations as a single dictionary, to print it in one shot
(8f3ec3a & 8d0de1f)
- enh: more data in a dictionary
- TCs: Add thorough TCs (8f3ec3a & b8063e5).
+ REFACT: rename `Delete`-->`Evict`, removed `Placeholder` from data nodes, privatize node-classes.
+ ENH: collect "jetsam" on errors and annotate exceptions with them.
+ ENH(sideffects): make them always DIFFERENT from regular DATA, to allow to co-exist.
+ fix(sideffects): typo in add_op() were mixing needs/provides.
+ enh: accept a single string as `outputs` when running graphs.
Testing & other code:
---------------------
+ TCs: `pytest` now checks sphinx-site builds without any warnings.
+ Established chores with build services:
+ Travis (and auto-deploy to PyPi),
+ codecov
+ ReadTheDocs