-
Notifications
You must be signed in to change notification settings - Fork 7
/
CHANGELOG
204 lines (155 loc) · 8.15 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
3.10.3 (2025-01-10):
* Fix for: "Creation of dynamic property %s is deprecated"
3.10.2 (2025-01-09):
* Fix phpdoc for static analysis
3.10.1 (2025-01-09):
* Fix for PHP8.4: "Implicitly marking parameter %s as nullable is deprecated"
3.10.0 (2025-01-06):
* Drop PHP 7
* Remove hard dependency to pimple, add it in suggest
* Collection is now JsonSerializable
* Add DateTimeImmutable serialization
* Add DateTimeZone serialization
* Add uuid support with symfony/uid
* Refacto: use, when possible, Weakmap for UnitOfWork internal storage instead of uuid indexed array
* Fix: Query Generator now handle null values
* Feature: Support for public properties with hooks (8.4+)
3.9.1 (2024-07-19):
* Fix: Mysqli/Driver::ping() try to reconnect when mysqli::ping() throws an exception
3.9.0 (2024-02-20):
* Add support of order and limit in method `getBy()` of repositories
3.8.1 (2024-02-20):
* Remove use of deprecated code to avoid deprecation logs from internal codebase
3.8.0 (2024-01-29):
* Depreciate method DriverInterface::getInsertId() in favour of getInsertedId()
* Depreciate method CCMBenchmark\Ting\Driver\Pgsql\Driver::getInsertIdForSequence() in favour of getInsertedIdForSequence()
* new Feature: add support for MySQL type geometry
* Add MYSQLI_OPT_INT_AND_FLOAT_NATIVE option in Mysqli driver
3.7.3 (2023-11-28):
* Fix: HydratorRelational hydration order when many nested entities
3.7.2 (2023-10-23):
* Make tests pass on PHP 8.1+
* Allow access to list of managed entities
3.7.1 (2023-06-22):
* Security: avoid leaks of credentials
* Allow HydratorRelational even if no relation has been defined
3.7.0 (2022-04-18):
* Feature: support searching metadata with the class string of an entity
3.6.2 (2022-04-12):
* Fix: null values support in non-prepared query
3.6.1 (2022-01-18):
* Fix: boolean values support in prepared query #58 (thanks @Deuchnord)
3.6.0 (2021-12-16):
* New Feature: add support of limit and order on query Generator
* Fix: Ignore abstract classes and interfaces in CCMBenchmark\Ting\MetadataRepository::batchLoadMetadata()
* Fix: PHP 8.1 deprecations
3.5.8 (2020-09-21):
* Fix: Hydrator hydrate unknown columns from a referenced table
3.5.7 (2020-08-28):
* Fix: Revert Hydrator entity's reference calculation factorization [162f539]
* Fix: HydratorAggregator yield one time even when there is 0 result
* Fix: Query Generator use proper values
3.5.6 (2019-10-02):
* Fix: return null instead of entity when no data fetch from join query
3.5.5 (2019-09-30):
* Merge back 3.4.3 and 3.4.4
3.5.4 (2019-09-13):
* Fix: Result return from hydrator are identical when changing order of primary key field
3.5.3 (2019-07-24):
* Fix: The timezone is now setted only on chang
3.5.2 (2019-05-28):
* Fix: correct value used as timezone
3.5.1 (2019-04-09):
* Fix: set charset on ping when new connection created
3.5.0 (2019-04-09):
* New feature: timezone support on the database connection
3.5.0-beta.2 (2018-03-12):
* Fix: remove useless option to retrieve identifier for HydratorRelational
3.5.0-beta (2018-03-09):
* New feature: HydratorRelational
3.4.4 (2019-09-30):
* Fix: Better perf of MetadataRepository::batchLoadMetadataFromCache
3.4.3 (2018-03-22):
* Added: Serialized expression in the unserialize message exception to have a clue about where the problem is coming
3.4.2 (2017-09-26):
* Fix: service cache definition was wrong
3.4.1 (2017-09-19):
* Fix: entities management now applies early to composed entities
* Fix: Hydrate entities which does not implements NotifyPropertyInterface
3.4.0 (2017-07-05):
* New Feature: Auto increment value can be retrieved from a custom sequence name (Postgresql only)
3.3.0 (2017-06-13):
* Adds case condition to column matching in pgsql driver
* New feature : HydratorAggregator to aggregate objects into an other
* Update phpdoc
3.2.1 (2017-03-13):
* Bug fix: Ping now reconnects to the database if connection has been lost. See https://bugs.php.net/bug.php?id=52561
3.2.0 (2017-01-31):
* Better performance for Pgsql Result format process.
* New feature : Declare your own accessor on field declaration
* New feature : Metadata can now be separated of repository (but you need to call Metadata::setRepository)
* New feature : You can now retrieve fields of Metadata with the getFields method.
* New feature : an exception when an SQL error occured now give you the query in message
* Fix PgSQL multiple named pattern with the same name (issue #32)
* Fix missings phpdoc about exceptions
* Adds getter for custom accessors in metadata
* Adds metadata getter in repository
3.1.1 (2016-05-10) :
* Fix hydration problem because of a bad connection name when you have many connections with exactly the same parameters
3.1.0 (2016-03-21) :
* When you do a query on 2 databases Hydrator will now properly hydrate this case
* When many Metadata with same table name are used on a query on 2 databases, you can now use on Hydrator ```objectDatabaseIs```
* Handle postgresql schema, using ```objectSchemaIs``` while hydration if needed
* Pgsql driver now use ```pg_query``` instead of ```pg_query_params``` when there is no parameter
* Fix parameter parsing in SQL query
* Fix parsing of postgresql queries to allow query without from statement
* New feature ```Debug::dump``` and ```Debug::export``` to debug Ting object
3.0.0 (2016-01-26) :
* Fix conflict when hydrating model which use the same table name but on different database
* Fix error on Json Serializer for empty string
* New concept for Hydrator based on Generator to simplify the code and allow more possibility
* New concept for Metadatata, class must now implement MetadataInitializer
* New feature ```mapAliasTo``` on Hydrator to inject virtual column (COUNT(*), IFNULL(...), ...) into object
* New feature ```mapObjectTo``` on Hydrator to inject object into object
* New feature ```unserializeAliasWith``` on Hydrator to unserialize virtual column
* New feature : QueryBuilder available with Repository::getQueryBuilder and provided by aura/sqlquery
* Cache interface is now provided by Doctrine/Cache
* Fix case on virtual column : if you used case on virtual ```COUNT(*) as NbUser``` that update can break your
application, because on the version 2.5.1 ```NbUser``` was changed to lowercase ```nbuser``` due to a bug. This fix
restore the previous behavior, and the column is not longer in lowercase.
* UnitOfWork has now signature "NotifyPropertyInterface $entity" instead of $entity for many methods (see UPDATE)
2.7.0 (2015-12-18) :
* Allow user to ping connection if available on the driver
2.6.2 (2015-12-11) :
* Datetime serializer : Allow psql timestamp to be unserialized
2.6.1 (2015-12-11) :
* Hydrator setting entity property now properly use metadata to cast value
* Better parsing for postgresql : we stop to parse the query after FROM
2.6.0 (2015-12-10) :
* Generator can now create query with in criteria
* Performance improvement : add a pseudo cache over MetadataRepository::findMetadataForTable
2.5.1 (2015-11-18) :
* Fix parsing PostgreSQL query with subquery
2.5.0 (2015-10-02) :
* Adding Ip serializer
2.4.0 (2015-07-03) :
* Adding SphinxQL driver
* user and password are now optional in connection configuration
2.3.0 (2015-07-02) :
* Adding closeAll on ConnectionsPool and close method on drivers
2.2.0 (2015-03-24) :
* Ajout de l'hydrator array
2.1.0 (2015-02-18) :
* Adding methods getAll, getByCriteria and getOneByCriteria on Metadata
* Adding methods getAll, getBy and getOneBy on Repository
* Refactoring of Generator
* Added some missing unit tests
* Fix hydrator on query with LEFT/RIGHT JOIN
2.0.1 (2015-02-07) :
* Fix saving new entity without auto increment
2.0.0 (2015-02-05) :
* Reduce memory usage of UnitOfWork
* UnitOfWork can now detach all entities
* initMetada can now receive database name and connection name into options
1.1.5 (2015-01-26) :
* Fixed UnitOfWork: bug risk when using spl_object_hash