Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- name: setup
uses: shivammathur/setup-php@2.32.0
with:
php-version: 8.3
php-version: 8.4
coverage: none
- name: composer install
run: composer update --prefer-stable
Expand All @@ -41,9 +41,8 @@ jobs:
fail-fast: false
matrix:
php-versions:
- 8.2
- 8.3
- 8.4
- 8.5
steps:
- name: checkout
uses: actions/checkout@master
Expand Down Expand Up @@ -76,7 +75,7 @@ jobs:
- name: setup
uses: shivammathur/setup-php@2.32.0
with:
php-version: 8.2
php-version: 8.4
coverage: none
extensions: mbstring, fileinfo, json, intl, dom
- name: composer install
Expand Down
2 changes: 1 addition & 1 deletion .php-cs-fixer.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
->in(__DIR__ . '/src')
->in(__DIR__ . '/tests')
->append([__DIR__ . '/castor.php'])
->exclude(['cache', 'Bundle/Resources/var', 'Bundles/Resources/config'])
->exclude(['cache', 'Bundle/Resources/var', 'Bundle/Resources/config'])
;

return (new PhpCsFixer\Config())
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

- [GH#297](https://github.com/jolicode/automapper/pull/297) : Support PHP 8.5 and Symfony 8, this library now use the `TypeInfo` Component for types instead of PropertyInfo directly.
- [BC Break] `PropertyTransformerSupportInterface` does not use a `TypesMatching` anymore, you can get the type directly from `SourcePropertyMetadata` or `TargetPropertyMetadata`.
- Debug command now show the type of each property mapped, transformers will also display more information.
- Profiler now show the type of each property mapped, transformers will also display more information.
- Add a castor task to serve the symfony app in tests for debugging purpose.

## [9.5.0] - 2025-09-18
### Added
- [GH#260](https://github.com/jolicode/automapper/pull/260) Add support for identifiers detection and comparison of objects, this allow mappers to detect if objects are equals based on some properties, which allow better deep merge / update of collections.
Expand Down
3 changes: 3 additions & 0 deletions bootstrap.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?php

\Symfony\Bridge\PhpUnit\DeprecationErrorHandler::register("max[direct]=0&verbose=1");
8 changes: 8 additions & 0 deletions castor.php
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,11 @@ function doc_build_github_pages()

run('git reset --hard gh-pages', context: $context);
}

#[AsTask('serve', namespace: 'test', description: 'Serve the symfony app in tests')]
function test_serve($prod = false): void
{
$file = $prod ? 'index.php' : 'dev.php';

run('php -S localhost:8000 tests/Bundle/Resources/public/' . $file, context: context()->withAllowFailure());
}
68 changes: 34 additions & 34 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,44 +16,44 @@
}
],
"require": {
"php": "^8.2",
"php": "^8.4",
"composer-runtime-api": "^2.1 || ^3.0",
"nikic/php-parser": "^5.0",
"symfony/deprecation-contracts": "^3.0",
"symfony/event-dispatcher": "^6.4 || ^7.0",
"symfony/expression-language": "^6.4 || ^7.0",
"symfony/lock": "^6.4 || ^7.0",
"symfony/property-info": "^6.4 || ^7.0",
"symfony/property-access": "^6.4 || ^7.0",
"phpdocumentor/type-resolver": "^1.7",
"phpstan/phpdoc-parser": "^1.13 || ^2.0"
"nikic/php-parser": "^5.6",
"symfony/deprecation-contracts": "^3.6",
"symfony/event-dispatcher": "^7.4 || ^8.0",
"symfony/expression-language": "^7.4 || ^8.0",
"symfony/lock": "^7.4 || ^8.0",
"symfony/property-info": "^7.4 || ^8.0",
"symfony/property-access": "^7.4 || ^8.0",
"symfony/type-info": "^7.4 || ^8.0",
"phpdocumentor/type-resolver": "^1.12",
"phpstan/phpdoc-parser": "^2.3"
},
"require-dev": {
"api-platform/core": "^3.0.4 || ^4",
"doctrine/annotations": "^2.0",
"doctrine/doctrine-bundle": "^2.15",
"doctrine/collections": "^2.2",
"doctrine/inflector": "^2.0",
"doctrine/orm": "^2.0 || ^3.0",
"matthiasnoback/symfony-dependency-injection-test": "^5.1",
"api-platform/core": "^4.2",
"doctrine/collections": "^2.4",
"doctrine/doctrine-bundle": "^3.0",
"doctrine/inflector": "^2.1",
"doctrine/orm": "^3.5",
"matthiasnoback/symfony-dependency-injection-test": "^6.1",
"moneyphp/money": "^3.3.2",
"phpunit/phpunit": "^9.0",
"symfony/browser-kit": "^6.4 || ^7.0",
"symfony/console": "^6.4 || ^7.0",
"symfony/finder": "^6.4 || ^7.2",
"symfony/filesystem": "^6.4 || ^7.0",
"symfony/framework-bundle": "^6.4 || ^7.0",
"symfony/http-client": "^6.4 || ^7.0",
"symfony/http-kernel": "^6.4 || ^7.0",
"symfony/serializer": "^6.4 || ^7.0",
"symfony/stopwatch": "^6.4 || ^7.0",
"symfony/twig-bundle": "^6.4 || ^7.0",
"symfony/uid": "^6.4 || ^7.0",
"symfony/var-dumper": "^6.4 || ^7.2",
"symfony/var-exporter": "^6.4 || ^7.0",
"symfony/web-profiler-bundle": "^6.4 || ^7.0",
"symfony/yaml": "^6.4 || ^7.0",
"willdurand/negotiation": "^3.0"
"phpunit/phpunit": "^12.4",
"symfony/browser-kit": "^7.4 || ^8.0",
"symfony/console": "^7.4 || ^8.0",
"symfony/filesystem": "^7.4 || ^8.0",
"symfony/finder": "^7.4 || ^8.0",
"symfony/framework-bundle": "^7.4 || ^8.0",
"symfony/http-client": "^7.4 || ^8.0",
"symfony/http-kernel": "^7.4 || ^8.0",
"symfony/phpunit-bridge": "^8.0",
"symfony/serializer": "^7.4 || ^8.0",
"symfony/stopwatch": "^7.4 || ^8.0",
"symfony/twig-bundle": "^7.4 || ^8.0",
"symfony/uid": "^7.4 || ^8.0",
"symfony/var-dumper": "^7.4 || ^8.0",
"symfony/web-profiler-bundle": "^7.4 || ^8.0",
"symfony/yaml": "^7.4 || ^8.0",
"willdurand/negotiation": "^3.1"
},
"suggest": {
"symfony/serializer": "Allow to use symfony serializer attributes in mapping"
Expand Down
3 changes: 2 additions & 1 deletion docs/_nav.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,6 @@
- [Api Platform](bundle/api-platform.md)
- [Migrate existing application](bundle/migrate.md)
- [Debugging](bundle/debugging.md)
- [Upgrading to 9.0](upgrading-9.0.md)
- [Upgrading](upgrading/upgrading-10.0.md)
- [Upgrading to 9.0](upgrading/upgrading-9.0.md)
- [Contributing](contributing.md)
Loading