Skip to content

Releases: picamator/transfer-object

5.1.0

07 Dec 11:21
a63f7b1

Choose a tag to compare

Release Notes

Improvements

Transfer Object Generator

  1. Generator accepts Definition Files files lower then 10 MB

Definition Generator

  1. Generator accepts JSON file lower then 10 MB

Composer

  1. Upgraded composer dependencies

Docker SDK

  1. Upgraded xdebug to 3.5.0

5.0.0

28 Nov 18:22
6e3e2be

Choose a tag to compare

Release Notes

Caution

Action Required: regenerate all Transfer Objects.
Action Required: find all lines where transfer constants are used, and replace them with _PROP sufixed constant.
For instance CustomerTranfer::NAME should be replaced with CustomerTranfer::NAME_PROP.

Breaking Changes

  1. Minimum PHP 8.5
  2. Minimum Symfony 8.0
  3. Renamed Transfer Objects constant by adding suffix _PROP

New Features

Transfer Object Generator

  1. Added NoDiscard attribute on facade methods
  2. Used pipe operator
  3. Removed collection initiator attribute

Definition Generator

  1. Added NoDiscard attribute on facade methods
  2. Used pipe operator

Architecture

  1. Added PHPStorm AI configuration .junie/guidelines.md and .aiignore
  2. Added xDebug skipping .xdebug/vendor.map
  3. Fullfilled OpenSSF Best Practices
  4. Upgraded composer dependencies
  5. Integrated Snyk

Improvements

Transfer Object

  1. Optimized from and to array transformation
  2. Fixed issue with constant naming conflict, where defined properties caused to create a constant similar to the extended Abstract class

Transfer Object Generator

  1. Fixed issue with converting property name to upper snake case constant

Definition Generator

  1. Added property check for TransferTypeBuilderExpander

Command

  1. Modernized Symfony console
  2. Catched Fiber's exceptions
  3. Refactored tests to use CommandTester

Docker SDK

  1. Used pie for xDebug installation instead of pecl
  2. Removed unused installs

GitHub Actions

  1. Added php version to the cache key to share cache with phpunit matrix
  2. Run composer install with audit option

4.0.0

24 Oct 06:32
4bca1bd

Choose a tag to compare

Release Notes

Caution

Action Required: regenerate all Transfer Objects.

Breaking Changes

  1. Changed Adapter namespace from Picamator\TransferObject\Transfer\TransferAdapterTrait to Picamator\TransferObject\Transfer\Adapter\TransferAdapterTrait
  2. Changed Adapter namesapce from Picamator\TransferObject\Transfer\DummyTransferAdapterTrait to Picamator\TransferObject\Transfer\Adapter\DummyTransferAdapterTrait
  3. Removed filter Picamator\TransferObject\Transfer\Filter\FilterArrayTrait

New Features

Transfer Object Generator

  1. Intoduced DocBlock definition for array and ArrayObject, see Project's Wiki for more details
  2. Supported property attributes with a new definition key attributes, see Project's Wiki for more details
  3. Added sf-assert shortcut for Symfony constrains attributes

Improvements

Transfer Object

  1. Separated attributes to Transformer and Inititator
  2. Refactored attribute namespace

Command

  1. Modernized Symfony console commands to invokable classes
  2. Modernized one command application initialization

Docker SDK

  1. Added php.ini configuration with error reporting and timezone

3.1.0

12 Oct 14:11
0d6acc4

Choose a tag to compare

Release Notes

Caution

Action Required: regenerate all Transfer Objects.

Features

Transfer Object

  1. Allowed transforming DateTime from integer and float

Improvements

Transfer Object

  1. Refactored attributes, splitting them two separate attribute interfaces

Transfer Object Generator

  1. Refactored validator to return null insted of success object
  2. Used attribute property directly in the TransferBuilderTrait

Definition Generator

  1. Refactored validator to return null insted of success object

Github Actions

  1. Upgraded actions/checkout to v5
  2. Used timeout
  3. Extracted php version to environment variable
  4. Specified composer version on shivammathur/setup-php@v2

Composer

  1. Upgraded composer dependencies
  2. Installed symfony/var-dumper

3.0.6

27 Sep 13:04
eb34f6b

Choose a tag to compare

Release Notes

Tip

Regenerate Transfer Objects to apply constant visibility changes.

Improvements

Transfer Object

  1. Changed transfer object template to set private visability instead of protected on the *_INDEX constants

Transfer Object Generator

  1. Optimized transfer object ConfigFilterTrait
  2. Removed string type casting on ProtectedPropertyExpander

3.0.5

24 Sep 16:34
efef16a

Choose a tag to compare

Release Notes

Improvements

Code Base

  1. Fixed cognitive complexity after enabling SlevomatCodingStandard.Complexity.Cognitive rule

Tests

  1. Added ExecutionTimeReportExtension phpunit extension to get the top 10 slowest TestSuits

3.0.4

21 Sep 14:05
ed9d01f

Choose a tag to compare

Release Notes

Improvements

Dependency

  1. Removed DependencyContainer

Shared

  1. Implemented LazyGhostInitializerTrait

Transfer Generator

  1. Refactored factory cache keys
  2. Used LazyGhostInitializerTrait on the factories

Definition Generator

  1. Refactored factory cache keys
  2. Used LazyGhostInitializerTrait on the factories

Composer

  1. Removed psr/container

3.0.3

21 Sep 10:25
714f76d

Choose a tag to compare

Release Notes

Improvements

Dependency

  1. Renamed dependency container exception

Tests

  1. Truned off global configuration to use testDox
  2. Turned on testDox for running group tests

Docker SDK

  1. Replaced image php:8.4 with php:8.4-cli
  2. Optimized dockerfile
  3. Turned on cli color for xdebug

Tools

  1. Activated new phpstan rules

3.0.2

20 Sep 14:00
037b626

Choose a tag to compare

Release Notes

Improvements

Definition Generator

  1. Reorganized namespace structure
  2. Used array_all function instead of custom logic
  3. Used array_key_first instead of key

Tests

  1. Introduced usage testDox attribure
  2. Unified test cases names

3.0.1

14 Sep 16:50
29960ff

Choose a tag to compare

Release Notes

Improvements

  1. Fixed mixed property access on AbstractTransfer::toArray() where on the same loop requesting data from _data and property
  2. Refactored BuildInTypeEnum::isAllowed() to use whitelist instead of blacklist approach
  3. Updated composer dependencies