Releases: getwarp/warp
3.1.4
What's Changed
- feat(clock): psr-20 compatibility by @hustlahusky in #8
Full Changelog: 3.1.3...3.1.4
3.1.3
getwarp/laminas-hydrator-bridge
- Fix timezone offsets comparison by @hustlahusky in #7
Full Changelog: 3.1.2...3.1.3
3.1.2
getwarp/laminas-hydrator-bridge
- Add timezone support to DateValueStrategy by @hustlahusky in #6
Full Changelog: 3.1.1...3.1.2
3.1.1
What's Changed
- Run tests on PHP 8.2 by @hustlahusky in #3
- Fix phpstan notices
Full Changelog: 3.1.0...3.1.1
3.0.3
What's Changed
- Run tests on PHP 8.2 by @hustlahusky in #4
- Fix phpstan notices
Full Changelog: 3.0.2...3.0.3
3.1.0
getwarp/criteria
Added
- Added
Substring
expression, which allows to test whether given string starts with, ends with or contains needed
substring. Both case-sensitive and case-insensitive comparison options are available. This expression replaces
originalContains
,StartsWith
andEndsWith
expressions fromwebmozart/expression
package.
getwarp/cycle-bridge
Changed
- Provide service factory to migrator's file repository
- Support case-insensitive
LIKE
filters withSubstring
expression.
getwarp/data-source
Changed
- Support
Substring
expression in default expression visitor. - Auto replace original
Contains
,StartsWith
andEndsWith
expressions fromwebmozart/expression
package
withSubstring
expression in default expression visitor.
3.0.2
getwarp/cycle-bridge
- Use
cycle/database
instead ofspiral/database
getwarp/easy-coding-standard-bridge
- Bump
symplify/easy-coding-standard
up to v10 - Update class elements spacing rules: allow no blank line between properties/constants without comments
2.5.4
Welcome to getwarp components library, that is a successor of spaceonfire components. This is compatibility release for spaceonfire/spaceonfire@2.5.2
.
Components in this branch are replacing corresponding spaceonfire ones on composer's packagist. They contain identical code, but with new cleaner and shorter first level namespace (which is Warp\
now), and autoloading polyfills for classes, interfaces, traits and functions.
There is a migration tool spaceonfire2warp
that supposed to help you upgrade your codebase to new components.
3.0.1
getwarp/container
Changed
- Invoker/factory options object now accepts argument values wrapped to
PhpOption\Option
3.0.0
Welcome to new major release of getwarp components! It contains a lot of new features and optimizations, some components got full overhaul.
getwarp components library is successor of spaceonfire. There is a migration tool spaceonfire2warp
that supposed to help you upgrade your codebase to new components.
All components
- Minimal supported PHP version bumped up to 7.4.
- Use typehints and static analysis by PHPStan as much as possible.
- Support for symfony v6 components.
getwarp/clock
New getwarp/clock
component was extracted from getwarp/value-object
. It provides enhanced DateTime classes and Clock API implementations.
getwarp/collection
Changed
- New Collection API: with generics, lazy operations based on generators and mutation methods available.
- Introduce Map API: when you need to operate with key-value data.
- New static constructor style.
getwarp/command-bus
Changed
- Move middlewares to corresponding namespaces.
- Add
Interface
andException
suffix where missing them.
getwarp/common
Changed
- Move
ArrayHelper
from collection package (without methods available inyiisoft/arrays
). - Lazy singletons.
- Interface to mark static constructor method
::new()
. - Fields API: allows extracting data from object/array using
symfony/property-access
,yiisoft/arrays
or implement your own.
getwarp/container
Changed
- Support
psr/container
v1.1 and v2.0 - Full refactoring: similar public api, reorganize code, simplify interfaces, introduce factory API, support for union and intersection types.
getwarp/criteria
Changed
- New static constructor style.
- Immutable criteria design.
- Expression factory is lazy singleton now.
- Selector expression use fields API.
Removed
- Criteria decorators.
- Doctrine expression converter.
JsonApiCriteriaBuilder
class.
getwarp/cycle-bridge
Added
- Split Cycle ORM integration from
data-source
package. - Update API according
data-source
package changes. - Custom mappers with plugins support: domain events, blame (timestamps), entity reference, fields grouping, belongs-to autolink.
- Custom to-many relations with lazy collections support.
- Entity reference wrapper.
- Integration with
criteria
package: convert expressions to query builder filters, support filter by relation using entity object. - CLI commands for cycle/migrations with lock support.
- Describe ORM schema with arrays.
getwarp/data-source
Changed
- Extract
cycle-bridge
package. - Split repository interface to separate reader and persister interfaces.
- Replace mapper interface with property extractor interface.
Added
- Blame API
Removed
- Removed query interface
- Removed entity interface and its default implementation
- Removed nette-utils integration
getwarp/exception
Added
- Default trait implementation for
yiisoft/friendly-exception
contract. - Extend
yiisoft/friendly-exception
contract with client friendly exception to mark exception that can be safely shown to end user. - Translatable exceptions with
symfony/translation-contracts
.
getwarp/laminas-hydrator-bridge
Changed
- Namespace changed:
Warp\LaminasHydratorBridge
->Warp\Bridge\LaminasHydrator
.
Added
SafeReflectionHydrator
: acts like default reflection hydrator, but skips extraction of not initialized properties.BlameStrategy
: strategy to hydrate/extract blame object fromdata-source
package.CasterStrategy
: strategy to hydrate value using caster fromtype
package.DateValueStrategy
: strategy to hydrate/extract datetime object fromvalue-object
package.ValueObjectStrategy
: strategy to hydrate/extract value object fromvalue-object
package.JsonStrategy
: strategy to hydrate/extract data to json format.
Removed
ScalarStrategy
: can be replaced byCasterStrategy
withScalarCaster
.
getwarp/type
Changed
- Rename
DisjunctionType
toUnionType
and all related classes. - Rename
ConjunctionType
toIntersectionType
and all related classes. - Rename
CompositeTypeFactory
toTypeFactoryAggregate
. - New static constructor style which allow type objects to be lazy singletons.
UnionType
andIntersectionType
constructors now accepts variadic arguments.- Introduce separate type casters which replace old
BuiltinType::cast()
.
getwarp/value-object
Changed
- New static constructor style which allows value objects to be lazy singletons.
- Replace
ramsey/uuid
withsymfony/uid
. - Replace
jawira/case-converter
withsymfony/string
. - Laminas Hydrator strategies moved to
laminas-hydrator-bridge
package. - Reorganize code structure.