- fix PHP 8.4 deprecations
- replace pragmarx/ia-str with symfony/string
- removed psalm
- updated to Doctrine DBAL 4: note DBAL 3.X is no longer compatible due to the internal changes in DBAL QueryBuilder
- updated to PHPUnit 10.5
- replaced unit test listener with extension + event subscriber
- remove all previous DBAL method calls
- replace
with()
withinclude()
for consistency across libraries (andwith
is an SQL keyword for CTEs) - remove deprecated code
- remove calling certain methods with array args, use multiple strings instead
- required PHP 8.1
- strip unnecessary docblocks
- fix bug introduced in DBAL changes in count() method, not using the cloned query
- fix inconsistencies between dbal 2.X and 3.X
- add support for doctrine/dbal 3.0+
- add
ModelBuilder::setParameter()
to ensure any leading:
is stripped from placeholders - fix compatibility issues with dbal 3.0
- remove deprecated method calls to dbal
- fix issues where calling methods in a deprecated way
- update to Pagerfanta 3.5
- fix bug in
GenerateRelationshipsToEagerLoad
- deprecate passing an array as first argument on
with()
s - use more PHP8 syntax in classes
- fix spelling error
- require PHP 8
- update to collection 5.0, domain 4.0
- add bound parameter count check on relationships to prevent running queries without bound args
- update DBAL usages to remove deprecated methods
- fix bug in relationships not applying default constraint when accessing via method call
e.g.:
$user->profile()
vs$user->profile
; the method call was not triggeringaddConstraints()
- fix bug in identity map where not all identity values are cast to strings during array operations
- fix bug in identity map; creating inverse relationship was generating incorrect mappings
- fix bug in identity map; fetching related identities was returning the marker, not identity
- allow collection class to be overridden per model
- remove
AttributeCasterException
not needed
- fix bug where
getParameter*
method calls onModelBuilder
are not returning the result
- re-namespace to Somnambulist\Components\ReadModels
- release initial 2.0.0
- add support for local scopes on
Model
for commonly used queries - add support for correlated sub-queries on select by passing ModelBuilders
- add support for callbacks on
select()
andwhere()
ofModelBuilder
- clean up various files
- fix bugs in parameter method pass through on
ModelBuilder
- refactor relationship loading
- refactor
ModelBuilder
to set query itself instead of being passed in - remove
__get
meta fromModel
in favour of renamedmeta()
method
- update to PHP 7.4 and use 7.4 syntax
- refactor
Model
to extract attribute handling - refactor
Configurator
to aManager
that can be dependency injected via a container - refactor
Model::connections
to use aConnectionManager
- refactor usage of identity map to simplify
Model
- refactor casting / embeds to use only casters
- remove static methods / properties for the configuration from
Model
- update all unit tests
- require
table
be defined onModel
- update dependency version constraints; raising somnambulist/collection to 3/4
- update dependency version constraints; raising pragmarx/ia-str to 6/7
- fix schema prefixes on table names on
BelongsToMany
joins
- fix method calls when setting up pagination; calling
setCurrentPage
beforesetMaxPerPage
causes a failure with pagerfanta > 2.1.3.
- attempt to fix #3: slow pagination queries by using derived select of main query
- fix incorrect group by counting in
PaginatorAdapter
- correct the namespace for the
JsonEncodingException
- fix bug in
createParameterPlaceholderKey
where not all characters are replaced - fix bug where eager loading relationships loses any defined relationship constraints
- refactor relationships to defer addition of default constraints until relationship fetch
- add
IdentityMapClearerMessengerSubscriber
to clear the identity map when using SF Messenger
- fix SF5 compatibility in the kernel subscriber (again)
- fix SF5 compatibility in the kernel subscriber
- fix not found exception should use primary key, not table name
- address issues when using the external identity to load relationships
- fix bug in
HasOne
where it would assign multiple results instead of the first matching - fix bug in
ModelIdentityMap::getRelatedIdentitiesFor
that would not check external identity
- added
findBy
,findOneBy
,fetchFirstOrNull
helper methods to ModelBuilder
- fix bug using wrong class name in DoctrineTypeCaster
- fix bug exporting attributes via relationship not preserving model export options
- stable release
- add exporting relationship attributes via the same syntax as
with
- add a couple of custom property accessors
- refactor metadata methods to ModelMetadata class
- move IdentityMap to a singleton
- remove the ModelBuilder pass through from Model
- multiple bug fix releases
- halted tagging while working on the bugs
- multiple bug fix releases
- alpha release to test functionality in a real project
- initial commit