This release focuses on braking changes to the internal PHP serialization of several EntityId related classes. This is (sometimes) used when cloning objects and required to fully support new entity types (federation).
- These patches are required for federation, and motivate the whole release. These patches remove the assumption that all EntityIds have a getNumericId method. Because of this we had to change a series of PHP serializations, which in effect changes all hashes of snaks, qualifiers, and references.
- @JeroenDeDauw started to refactor the HashArray base class away from SnakList. This is technical debt we want to get rid of for a long time. These patches do not get rid of the technical debt, but move the code an entire mile in the direction we want by getting rid of an entire base class.
- https://github.com/wmde/WikibaseDataModel/pull/439 is an actual breaking change to SnakList. This removes 2 of 3 constructor parameters, along with the possibility to call it with null.
- https://github.com/wmde/WikibaseDataModel/pull/713 moves the equals() method from the base class to the only implementation, and rewrites the tests from scratch.
- https://github.com/wmde/WikibaseDataModel/pull/714 does the same with the getHash() method.
https://github.com/wmde/WikibaseDataModel/pull/702is Jeroens original patch. I suggest to use it as a template for future patches, but it does not need to be in this release.
- https://github.com/wmde/WikibaseDataModel/pull/654 is an unrelated (braking) bugfix I would like to see in this release.
- https://github.com/wmde/WikibaseDataModel/pull/719 adds release notes.
- Tag the release.
- https://gerrit.wikimedia.org/r/342817 updates Wikibase to use DataModel 7.0.
The 7.0.0 milestone on GitHub: https://github.com/wmde/WikibaseDataModel/milestone/20