This changelog references the relevant changes (bug and security fixes) introduced with version 4.0 and beyond.
To get the diff for a specific change, go to https://github.com/phonetworks/pho-lib-graph/commit/XXX where XXX is the change hash.
To get the diff between two versions, go to https://github.com/phonetworks/pho-lib-graph/compare/v4.0.0...v3.6.1
- Added "sabre/event" 5.0 as a composer dependency in composer.json.
- Eventful classes: Edge, Node, Graph
- In adherence to PSR-2 standards, changed interface naming into a multiline format.
- inDestruction is now named inDeletion (changed internal naming accordingly) in Node.php
- Introduced SplSubjectTrait to amass common \SplSubject functions and variables.
- SplSubjectTrait in use by AttributeBag,
- hydrated methods renamed with the new prefix; "hy"
- Duplicate trait functions now use the "__" prefix as recommended by https://github.com/phonetworks/commons-php
- New "type()" function in EntityTrait
- Signals emitted: "modified" in Graph, Edge, and Node.
- ClusterTrait renamed as GraphTrait
- onAdd() onRemoved() removed from GraphTrait since all event-related functions will soon be handled by "on()" of Sabre.
- In GraphTrait, clusterToArray() renamed as graphToArray()
- In Node.php populateGraphObservers() renamed as attachGraphObservers()
- Added new unit tests.
- Updated travis.yml to work with PHP 7.1
- Introduced worker interfaces (NodeWorkerInterface and EntityWorkerInterface) to improve the readability of AdjacentNode.php
- Introduction of "hooks" -- to replace hy* (hydrating) functions.
- Making of the new docs/ folder and refactoring of the README.md
- AbstractEdge Helper method renamed (_resolvePredicate is now resolvePredicate)
- Major code cleanup in EdgeList
- AttributeBag quietSet method.
- multiplicable predicates
- New ID format, replacing UUIDv4 with a similar format with more entropy (15 bytes) and an entity-type definition header of 1 byte.
- MalformedGraphIDException renamed as MalformedIDException
- ID randomness changed from 15 bytes to 15 bytes and 8 bits.
- toArray now returns label as well
- added
delete
method to EdgeList.
- subgraphs are encompassing. See b0d5ba83faaab1da1a12827c07206e9a8a4013fd
- removed observer pattern in favor of signals
- toArray returns event listeners too
- preventing duplicate event listeners
- added equals function for EntityInterface objects
- moved ID headers to pho-framework
- [CANCELLED] ability to change flatListeners directly using a 4th parameter on "on" of EmitterTrait
- inclusion of pho-lib-dht as a requirement
- added bin() and distance($another_id) methods to ID
- no_member_deletion param for SubGraph