Releases: atlasphp/Atlas.Orm
3.1.1
2.8.0
This release backports a feature from the 3.x series, such that when the
TableEvents::beforeInsert() or TableEvents::beforeUpdate() methods return an
array, that array is used for the insert or update. This allows finer control
over, among other things, the logic that determines differences from the initial
Row data.
Expanded testing to include PHP 7.2 and 7.3.
2.7.0
This release adds support for 'manual' transactions outside a unit of work,
via Atlas::beginTransaction(), commit(), and rollBack() methods.
Also, Row::isEquivalent() now compares booleans as integers, so that a change
from 1 => true or 0 => false (and vice versa) is no longer considered a
difference. This should help reduce "Expected 1 row affected, actual 0" errors
with some databases (notably MySQL).
2.6.0
This release introduces an AtlasBuilder similar to the one in the 3.x series,
thereby allowing you to lazy-load mappers instead of having to register them
in advance. Using AtlasBuilder is now preferred over AtlasContainer, though
of course the latter continues to work as before. Documentation and tests have
been updated accordingly.
2.5.0
This release exposes underlying profiler functionality in Aura.Sql
ConnectionLocator via two new methods: Atlas::setProfiling() and
Atlas::getProfiles().
It also incorporates two performance enhancements: one to
AbstractMapper::newRelated() via a prototype object for relateds, and one to
AbstractTable::newRow() via array_intersect_key() comparison.
3.1.0
3.0.0
2.4.0
3.0.0-beta1
This release provides a PHPStorm metadata resource to aid in IDE autocompletion
of return typehints, found at resources/phpstorm.meta.php
. Copy it to the root
of your project as .phpstorm.meta.php
, or add it to your root-level
.phpstorm.meta.php/
directory as atlas.meta.php
.
Also, the documentation and tests for this package have been updated to honor
changes to the underlying Mapper and Table packages. In particular, the Mapper
classes no longer use a Mapper suffix.
2.3.0
This release adds one "off-interface" method, AbstractTable::getIdentityMap()
,
to support retrieval of initial values on rows.
It also fixes a bug where a relationship definition could use the same name more
than once, silently overwriting the previous definition.
Finally, it includes updated documentation and tests.