- Added
EntityRedirectLookup::FOR_UPDATE
constant - Added
EntityRedirectTargetLookup
(extracted fromEntityRedirectLookup
)
- Allow installing with data-values/data-values 3.0.0
- Allow installing with wikimedia/assert 0.5.0
- Added the
ItemTermStoreWriter
andPropertyTermStoreWriter
interfaces.
- Stopped accepting null for term type or language in TermBuffer::prefetchTerms()
- Added
FallbackLabelDescriptionLookup
interface - Stopped supporting hhvm and added support for php 7.3 and 7.4
- Dropped support for diff 2.3 and added support for 3.2
- Added
ItemLookup
implementationsLegacyAdapterItemLookup
which is an adapter toEntityLookup
InMemoryEntityLookup
which is a test double
- Added
PropertyLookup
implementationsLegacyAdapterPropertyLookup
which is an adapter toEntityLookup
InMemoryEntityLookup
which is a test double
- Added constructor to
InMemoryEntityLookup
- Added
SeekableEntityIdPager
- Added
InMemoryEntityIdPager
- Added
ExceptionIgnoringEntityLookup
- Bumped minimum PHP requirement to 7.x or HHVM
- Added compatibility with Wikibase DataModel 9.x
- Removed compatibility with Diff 1.x
UnresolvedEntityRedirectException
: Mention source entity id in message (#200)
- Added compatibility with Wikibase DataModel 8.x
- Added compatibility with DataValues 2.x
- Raised minimum PHP version to 5.6
- Added
ReferencedEntityIdLookup
interface, along with:EntityRetrievingClosestReferencedEntityIdLookup
reference implementationMaxReferenceDepthExhaustedException
MaxReferencedEntityVisitsExhaustedException
ReferencedEntityIdLookupException
- Added
LabelLookup
interface.- Relaxed
EntityIdLabelFormatter
to only require aLabelLookup
.
- Relaxed
- Added
EntityIdComposer
. - Added
DisabledEntityTypesEntityLookup
.
- Fixed
EntityRetrievingTermLookup
silently failing for entities that do not implementFingerprintProvider
(#171). - Introduced caching in
PrefixMappingEntityIdParserFactory
(#162). - Added compatibility with Wikibase DataModel 7.x.
- Raised minimum PHP version to 5.5.
- Compatible with Wikibase DataModel 6.3
- Added
EntityIdPager
fromWikibase\Repo\Store
. - Added services for foreign entities:
DispatchingEntityLookup
PrefixMappingEntityIdParser
PrefixMappingEntityIdParserFactory
UnknownForeignRepositoryException
- Added
StatementListDiffer
(was in the package privateInternal
namespace before). - Added
StatementListPatcher
(replaces an incompatible package private class with the same name). - Added
TermListPatcher
. - Fixed
FingerprintPatcher
ignoring change operations on aliases that are marked as "not associative". - Fixed
StatementGuidValidator
not rejecting strings with a newline at the end.
- Added compatibility with Wikibase DataModel 6.x
- Added
RestrictedEntityLookup::reset
- Added compatibility with Wikibase DataModel 5.0.
- Added
FILTER_TYPE
constant toDataTypeStatementFilter
,NullStatementFilter
andPropertySetStatementFilter
. - Fixed
StatementGuidParser
not parsing GUIDs with multiple dollar signs.
- Added
StatementGrouper
interface and the most basic implementations:NullStatementGrouper
ByPropertyIdStatementGrouper
FilteringStatementGrouper
- Added
StatementFilter
implementations for use inFilteringStatementGrouper
:NullStatementFilter
DataTypeStatementFilter
PropertySetStatementFilter
- Made
EntityRetrievingTermLookup
handleEntityLookupException
(T118581)
- Added
InMemoryEntityLookup::addException
- Added
PropertyDataTypeMatcher
- Added
InProcessCachingDataTypeLookup
- Added optional message and previous exception parameters to the
UnresolvedEntityRedirectException
constructor
Breaking changes:
- Removed
EntityRedirectResolvingDecorator
- Removed
UnresolvedRedirectException
EntityLookup::hasEntity
now throwsEntityLookupException
Non breaking changes:
- Added
UnresolvedEntityRedirectException
- Added
EntityAccessLimitException
RestrictedEntityLookup
now throwsEntityAccessLimitException
- Fixed uncaught exception in EntityIdLabelFormatter::formatEntityId (T112003)
Moved EntityIdParser
back to Wikibase DataModel:
- Removed
EntityIdParser
- Removed
EntityIdParsingException
- Removed
BasicEntityIdParser
- Removed
DispatchingEntityIdParser
Changed all Lookup contracts:
- All lookups now return null when there is no value found as a result of the lookup:
EntityRetrievingTermLookup
returns null instead of throwingOutOfBoundsException
.LanguageLabelDescriptionLookup
returns null instead of throwingOutOfBoundsException
.ItemLookup
implementations should return null instead of throwingItemNotFoundException
.LabelDescriptionLookup
implementations should return null instead ofOutOfBoundsException
.PropertyLookup
implementations should return null instead ofPropertyNotFoundException
.TermLookup
implementations should return null instead ofOutOfBoundsException
.
- All lookups now throw exceptions in exceptional circumstances:
EntityLookup
implementations should throwEntityLookupException
instead of returning null.EntityRedirectLookup
implementations should throwEntityRedirectLookupException
instead of returning false.EntityRetrievingDataTypeLookup
throwsPropertyDataTypeLookupException
instead ofPropertyNotFoundException
.EntityRetrievingTermLookup
throwsTermLookupException
instead ofOutOfBoundsException
.InMemoryDataTypeLookup
throwsPropertyDataTypeLookupException
instead ofPropertyNotFoundException
.ItemLookup
implementations should throwItemLookupException
instead ofItemNotFoundException
.LabelDescriptionLookup
implementations should throwLabelDescriptionLookupException
instead ofOutOfBoundsException
.LanguageLabelDescriptionLookup
throwsLabelDescriptionLookupException
instead ofOutOfBoundsException
.PropertyDataTypeLookup
implementations should throwPropertyDataTypeLookupException
instead ofPropertyNotFoundException
.PropertyLookup
implementations should throwPropertyLookupException
instead ofPropertyNotFoundException
.TermLookup
implementations should throwTermLookupException
instead ofOutOfBoundsException
.
- Removed
Lookup\ItemNotFoundException
- Removed
Lookup\PropertyNotFoundException
- Added
Lookup\EntityLookupException
- Added
Lookup\EntityRedirectLookupException
- Added
Lookup\LabelDescriptionLookupException
- Added
Lookup\TermLookupException
- Added
Lookup\ItemLookupException
- Added
Lookup\PropertyLookupException
Moved over various classes and interfaces from Wikibase Lib:
- Added
Lookup\RedirectResolvingEntityLookup
- Added
Lookup\RestrictedEntityLookup
- Added
Diff\EntityTypeAwareDiffOpFactory
(previously called WikibaseDiffOpFactory in Lib)
Other additions:
- Added
Lookup\InMemoryEntityLookup
Moved over various classes and interfaces from Wikibase Lib:
DataValue\ValuesFinder
Entity\EntityPrefetcher
Entity\EntityRedirectResolvingDecorator
Entity\NullEntityPrefetcher
EntityId\EntityIdFormatter
EntityId\EntityIdLabelFormatter
EntityId\EscapingEntityIdFormatter
EntityId\PlainEntityIdFormatter
EntityId\SuffixEntityIdParser
Lookup\EntityLookup
Lookup\EntityRedirectLookup
Lookup\EntityRetrievingDataTypeLookup
Lookup\EntityRetrievingTermLookup
Lookup\LabelDescriptionLookup
Lookup\LanguageLabelDescriptionLookup
Lookup\TermLookup
Statement\StatementGuidValidator
Term\PropertyLabelResolver
Term\TermBuffer
These have not been changed apart from now residing in a different namespace, and in some cases using dependencies that have similarly been moved.
- Added
Entity\UnresolvedRedirectException
, similar to the one in Wikibase Lib, though without revision info
Initial release containing
- Entity diffing and patching functionality in
Services\Diff
EntityIdParser
and basic implementations inServices\EntityId
ItemLookup
,PropertyLookup
andPropertyDataTypeLookup
interfaces- Statement GUID parser and generators in
Services\Statement
ByPropertyIdGrouper