v0.x#

This section describes all 0.x.y versions of edgegraph.

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.

v0.10.0#

New features:

  1. BaseObject.universes is now a list object, maintaining insertion order.

  2. Universe.vertices is now a list object, maintaining insertion order.

Bugfixes / minor changes:

  1. Fixed documentation copyright year to state 2023-x, where x is the current year at build time

  2. Cleaned up the unit tests’ conftest.py, moving fixtures into their own submodule for code cleanliness

  3. Added a Sphinx extension to clean up autosummary directories after a build

v0.9.1#

Bugfixes / minor changes:

  1. The iterator-wrapped breadth first traversal (bft()) no longer returns None when 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:

  1. Added generator traversal functions that yield lazy iterators (all three traversal functions: idft_iterative(), idft_recursive(), and ibft())

Bugfixes / minor changes:

  1. 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:

  1. Type hinting no longer uses obsoleted Optional[x] hint; now x | None

  2. Community standards documentation

  3. Workaround for PlantUML unit tests timing out (workaround, not fix…)

  4. Workaround for Python 3.7 unavailable on Ubuntu 24.04 in GitHub actions pipeline

  5. Minor improvements to README

v0.8.0#

New features:

  1. Added vertex neighbor caching

  2. Type-hinted the entire library

  3. Added optional dependency specifiers: edgegraph[foreign], edgegraph[full]

Bugfixes / minor changes:

  1. Type-checker is now run on all pull requests in CI pipeline

  2. PyPI upload script was improved with multiple pre-upload checks

v0.7.0#

New features:

  1. Added the drop_semi_singleton_mapping() and check_semi_singleton_entry_exists() utility functions

  2. Change call signature of add_mapping() ( WARNING: Breaks backwards compatibility! )

v0.6.0#

New features:

  1. Backwards traversal options for both depth- and breadth-first traversals

  2. Improved during-traversal filtering options for the same

  3. Added graph deconstruction utilities (link removal, vertex removal from universe, etc)

  4. Allow semi-singleton objects to have multiple mappings

Bugfixes / minor changes:

  1. 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:

  1. Greatly improved overall performance

Removed:

  1. BaseObject no 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:

  1. make_pyvis_net() no longer fails if vertices link to another vertex outside a given universe.

  2. Applies Black code style to all code

  3. Vertex objects now add themselves to Universes correctly

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:

  1. Improve documentation, catch up on doc to-dos

    1. Run documentation coverage on all PRs (py 3.12 build only) to ensure all functions / modules / classes / etc have documentation

  2. 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:

  1. Added PyVIS output capability

  2. Added utilities for working with singletons and semi-singletons

  3. Greatly improved unit testing (code quality, documentation, quantity, and quality)

  4. Support for Python 3.7

Bugfixes / minor changes:

  1. Added an option in the explicit builder to not duplicate a link

v0.2.0#

New features:

  1. Added depth-first traversal and search functions

  2. Added PlantUML output generator

  3. 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).