v0.x#
This section describes all 0.x.y versions of edgegraph.
v0.12.0#
New features:
Expose version constants at module level
Added topological sorting algorithms and toposort API
CI testing and official support for Python 3.14 and 3.14t
Bugfixes / minor changes:
Apply Ruff formatter to entire codebase (in place of Black)
Apply Ruff linter ruleset to entire codebase (in place of pylint)
Added a manual trigger for GitHub Actions
Fixes use of
threading._PyRLock(replaced with regularthreading.RLock)Fixes free-threading intermittent safety issues
Removed:
UniverseLawsand associated machinery are deleted in this release due to lack of use cases and general lack of enforcement of their rules
Other notes:
Added
typing_extensionsas a dependency (see mishaturnbull/edgegraph#132 for why)
v0.11.0#
New features:
Added single-pair shortest path API, currently only with Dijkstra’s method (but architected for more solvers in the future)
Added iterator version of the neighbors function:
ineighbors()Added the changelog
Bugfixes / minor changes:
CI tweakes and improvements (switch to
actions/setup-python@v5for 3.13t testing, run type checking on 3.13)
v0.10.0#
Note
This changelog was created after v0.10.0 was released. Therefore, all entries hereafter are written after-the-fact, based on my own memory and the Git log.
New features:
BaseObject.universesis now alistobject, maintaining insertion order.Universe.verticesis now alistobject, maintaining insertion order.
Bugfixes / minor changes:
Fixed documentation copyright year to state
2023-x, wherexis the current year at build timeCleaned up the unit tests’
conftest.py, moving fixtures into their own submodule for code cleanlinessAdded a Sphinx extension to clean up autosummary directories after a build
v0.9.1#
Bugfixes / minor changes:
The iterator-wrapped breadth first traversal (
bft()) no longer returnsNonewhen there is no data in the traversal. This was originally intentional, but I think it was a bad choice, and one bad enough to warrant a hotfix.
v0.9.0#
New features:
Added generator traversal functions that yield lazy iterators (all three traversal functions:
idft_iterative(),idft_recursive(), andibft())
Bugfixes / minor changes:
Various minute code quality, pylint, and documentation typo corrections
v0.8.1#
Note
With version 0.8.1, edgegraph was declared as a BETA project, no longer alpha.
Bugfixes / minor changes:
Type hinting no longer uses obsoleted
Optional[x]hint; nowx | NoneCommunity standards documentation
Workaround for PlantUML unit tests timing out (
workaround, notfix…)Workaround for Python 3.7 unavailable on Ubuntu 24.04 in GitHub actions pipeline
Minor improvements to README
v0.8.0#
New features:
Added vertex neighbor caching
Type-hinted the entire library
Added optional dependency specifiers:
edgegraph[foreign],edgegraph[full]
Bugfixes / minor changes:
Type-checker is now run on all pull requests in CI pipeline
PyPI upload script was improved with multiple pre-upload checks
v0.7.0#
New features:
Added the
drop_semi_singleton_mapping()andcheck_semi_singleton_entry_exists()utility functionsChange call signature of
add_mapping()( WARNING: Breaks backwards compatibility! )
v0.6.0#
New features:
Backwards traversal options for both depth- and breadth-first traversals
Improved during-traversal filtering options for the same
Added graph deconstruction utilities (link removal, vertex removal from universe, etc)
Allow semi-singleton objects to have multiple mappings
Bugfixes / minor changes:
PyVIS output now uses local JS library instead of CDN resources by default
v0.5.0#
This update is primarily a performance boost, at the cost of some of the flexibility in object attribute assignments. Most of this shouldn’t affect most users, so long as they aren’t using the dict-like interfaces of the structure.
New features:
Greatly improved overall performance
Removed:
BaseObjectno longer maintains an internal, separate,__dict__-like mapping of custom attributes, instead now only offering dict-like attribute access with no special handling of_or__-prefixed names.
v0.4.1#
Bugfixes / minor changes:
make_pyvis_net()no longer fails if vertices link to another vertex outside a given universe.Applies Black code style to all code
v0.4.0#
Warning
The 0.4.0 release was tagged incorrectly. If you want v0.4.0, do not git
checkout v0.4.0; instead, use git checkout
64f57b51f326862e5143b081f45f253d693da122. (the v0.4.0 tag actually
points to the v0.3.0 release)
Bugfixes / minor changes:
Improve documentation, catch up on doc to-dos
Run documentation coverage on all PRs (py 3.12 build only) to ensure all functions / modules / classes / etc have documentation
Minor improvements to the traversal helpers module
v0.3.0#
Note
With version 0.3.0, the project was declared as an ALPHA project, no longer prealpha.
New features:
Added PyVIS output capability
Added utilities for working with singletons and semi-singletons
Greatly improved unit testing (code quality, documentation, quantity, and quality)
Support for Python 3.7
Bugfixes / minor changes:
Added an option in the explicit builder to not duplicate a link
v0.2.0#
New features:
Added depth-first traversal and search functions
Added PlantUML output generator
Added a plain ASCII output generator
v0.1.0#
Version 0.1.0 is the initial code release of edgegraph, which contained the basic outline of the data model, breadth-first traversal and search functions, some basic graph builders, as well as the project’s infrastructure as a whole (documentation, unit tests, Pip configuration, and more).