All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
7.2.0 - 2022-02-17
- [JsonSchema] GH#405 Validation
- [JsonSchema] GH#595 Fix "oneOf" with nullable
7.1.7 - 2022-02-03
- [OpenApi3] GH#586 Ability to customize strings field normalization/denormalization based on format keyword
- [JsonSchema] GH#587 Prefix property starting with number with 'n'
- [OpenApi] GH#593 Add type hints to exceptions, cleanup parent constructor call
- [OpenApi3] GH#592 Fix issue in whitelisting when having referenced schema in referenced responses
- [AutoMapper] GH#594 Issue when no targetTypes in BuiltinTransformer
7.1.6 - 2022-01-27
- [AutoMapper] GH#589 Fix setting properties when using target to populate object
7.1.5 - 2021-12-16
- [JsonSchema] GH#580 Add typehint for generated Normalizer & Dernomalizer
7.1.4 - 2021-12-16
- [OpenApi] GH#577 Handle application/problem+json error responses
- [Jane] GH#571 Symfony 6 compatibility
- [AutoMapper] GH#567 Fixed MapperContext::withNewContext target_to_populate value
7.1.3 - 2021-11-12
- Run test suite with PHP 8.1
- [AutoMapper] GH#564 Remove deprecations
- [AutoMapper] GH#567 Fix the value of
target_to_populate
onMapperContext::withNewContext
call
7.1.2 - 2021-10-18
- [AutoMapper] GH#560 Fix fail on generic object without explicit classname
7.1.1 - 2021-10-08
- [Jane] GH#554 Relax dependency constraints for 7.1 upgrade
- [AutoMapper] GH#553 Fix generated Mappers with adder calls
7.1.0 - 2021-06-25
- [Jane] GH#537 Added JsonSchema & OpenApi bundles
- [AutoMapper] GH#546 Add stdClass to stdClass transformation support
- [AutoMapper] GH#536 Update benchmark scripts
- [OpenAPI] GH#543 Fix jane-openapi binary file
7.0.0 - 2021-05-19
- [AutoMapper] GH#462 Move bundle out of the component
- [AutoMapper] GH#433 Handle dictionaries with ArrayTransformer
- [AutoMapper] GH#432 Ignore API Platform resources when using AutoMapper normalizer
- [AutoMapper] GH#495 Add Symfony Uid transformers #495
- [AutoMapper] GH#507 Add
skip_null_values
feature
- [Jane] GH#464 Update version deps for 7-dev
- [Jane] GH#457 BC-BREAK Move components into
component
folder and update namespaces - [AutoMapper] GH#458 Add PrioritizedTransformerFactoryInterface and implementation
- [AutoMapper] GH#459 Add DependentTransformerInterface and implementation
- [AutoMapper] GH#460 Add AssignedByReferenceTransformerInterface and implementation
- [AutoMapper] GH#461 Transformer arguments typo
- [AutoMapper] GH#487 Can not call getName when type is adders/removers
6.3.9 - 2021-10-08
- [JsonSchema] GH#556 Support for $defs field
- [JsonSchema] GH#542 Fix cs fixer >= 3 compatibility
6.3.8 - 2021-05-10
- [OpenAPI] GH#528 Added message to exception UnexpectedStatusCodeException
6.3.7 - 2021-03-26
- [JsonSchema] GH#521 Fix normalizer mapping for reserved PHP names in JaneObjectNormalizer
6.3.6 - 2021-03-16
- [OpenAPI] GH#513 Fix method name in exceptions
- [OpenAPI] GH#514 Fix high level exception that can start with number
6.3.5 - 2021-03-12
- [OpenAPI] GH#511 Fix
is_file
char limit
6.3.4 - 2021-03-11
- [OpenAPI] GH#508 Improve exceptions to have higher-level exceptions
6.3.3 - 2021-02-10
- [OpenAPI] GH#500 Bring ability skip query / header check
- [AutoMapper] GH#498 Improve FileLoader: do not use registry at all when hot reload is disabled.
- [AutoMapper] GH#498 When using bundle: automatically disable hot reload when not in debug mode.
- [OpenAPI] GH#497 Fixing a whitelisted paths notation in OpenAPI 2 and 3 guessers
6.3.2 - 2020-12-23
- [AutoMapper] GH#465 Allow dateTimeFormat customisation when initialising
- [Jane] GH#483 PHP 8 support
- [OpenAPI] GH#472 Check if contentType is null before passing to mb_strpos
- [OpenAPI] GH#480 Allow null for non required request body
- [OpenAPI] GH#482 Fix ExceptionGenerator
- [OpenAPI] GH#484 Handle multipart body integer as string
- [OpenAPI] GH#477 Fixed typo about usage with Symfony recipe
6.3.1 - 2020-11-24
- [Jane] GH#463 Update version deps
6.3.0 - 2020-11-22
- [AutoMapper] GH#443 Add configuration to use custom NameConverter
- [AutoMapper] GH#446 Add autoconfigure on TransformerFactoryInterface
- [AutoMapper] GH#453 Introducing autoregistering of custom Mapper configuration
- [AutoMapper] GH#431 Add a second parameter to
forMember
with target object - [AutoMapper] GH#452 Improve
ClassLoaderInterface
service definition
6.2.5 - 2020-11-18
- [AutoMapper] GH#426 Fix mapping for empty collection value on an array property
- [OpenAPI] GH#444 Remove unused files
- [OpenAPI] GH#447 Fix errors caused by empty responses in OpenAPI specs
- [OpenAPI] GH#438 Fix documentation namespaces for consistency
6.2.4 - 2020-10-02
- [Jane] GH#423 Skip required fields in Normalizer generation
6.2.3 - 2020-09-29
- [Jane] GH#421 Fix non-array data in denormalize
- [OpenAPI] GH#412 Test generated client in CI
6.2.2 - 2020-09-15
- [Jane] GH#416 Fix version constraints for json-schema
6.2.1 - 2020-09-10
- [OpenAPI] GH#408 Fix http_build_query method calls
- [Jane] GH#409 Fix version constraints for Jane Packages
6.2.0 - 2020-09-09
- [OpenAPI] GH#393 Throw unexpected status code when nothing matched in Endpoint
- [Jane] GH#390 Bring Runtime with generated files
- [AutoMapper] GH#397 Update AutoMapper to be able to bind custom TransformerFactory
- [JsonSchema] GH#404 Handle required fields
- [Jane] GH#388 GH#389 Update
doctrine/inflector
to support both v1 & v2 - [AutoMapper] GH#403 Allow ^5.0 for phpdocumentor/reflection-docblock
- [AutoMapper] GH#396 Typo in DateTime transformer
- [JsonSchema] GH#394 Return object in denormalize if data is null
- [JsonSchema] GH#392 Nullable property handling
- [OpenAPI] GH#395 Better Authentication documentation
6.1.1 - 2020-09-15
- [Jane] GH#414 Fix dependencies for 6.1.x
6.1.0 - 2020-08-20
- [OpenAPI] GH#316 Improvement & fix on whitelisted path feature
- [AutoMapper] GH#306 AutoMapper update
- [AutoMapper] GH#354 Do not try to create an instance of an interface
- [AutoMapper] GH#353 Allow date_time_format override from bundle
- [AutoMapper] GH#372 Use copy transformer for sibling arrays
- [Jane] GH#371 Exclude tests from classmap
- [Jane] GH#378 Remove Tests and fixtures from distributed composer installs using .gitattributes
- [Jane] GH#315 Normalize components
- [OpenAPI] GH#384 Naming
- [OpenAPI] GH#382 Guessers
- [OpenAPI] GH#381 Generators
- [OpenAPI] GH#385 Builder
6.0.5 - 2020-08-18
- [JsonSchema] GH#379 Fixed array items with mixed types
6.0.4 - 2020-08-03
- [OpenAPI] GH#362 Allow non-standard HTTP codes
- [Jane] GH#364 Use iterable instead of ArrayObject type hint
- [OpenAPI] GH#365 Client methods with invalid characters (Support for GitHub OpenAPI)
6.0.3 - 2020-07-29
- [OpenAPI] GH#318 Handle references in operation responses
- [OpenAPI] GH#358 Being able to introduce custom QueryResolver normalizers
- [Jane] GH#342 Guess type for Schema when only enum property is set
- [Jane] GH#350 Deal with null schema
6.0.2 - 2020-06-13
- [Jane] GH#335 Symfony 5.1 compatibility
6.0.1 - 2020-06-11
- [OpenAPI] GH#308 [Authentication] Registry to handle multiple Auth scopes
- [OpenAPI] GH#319 Add support for custom endpoint generator class
- [OpenAPI] GH#317 Allow dictionary parameters for OpenAPI 3
- [OpenAPI] GH#309 [Whitelist paths] fix infinite loop on circular reference in models
- [Jane] GH#327 Fix composer dependencies
6.0.0 - 2020-05-06
- [Jane] GH#263 Forcing a null value on non-set property can be opt-out
- [Jane] GH#287 New dump-config command
- [OpenAPI] GH#290 Whitelist paths in OpenApi to generate only needed paths and related models
- [Jane] GH#258 BC-BREAK Array instead of stdClass
- [Jane] GH#264 Update master branch to 6.x version
- [Jane] GH#268 Upgrade dependencies
- [OpenAPI] GH#289 Better use of Guesser for Authentication generation
- [OpenAPI] GH#266 Deprecation Removed HTTPlug Client generation
- [OpenAPI] GH#265 Deprecation Removed any NormalizerFactory usage
- [OpenAPI] GH#267 Deprecation Remove OpenApi component (replaced by OpenApi3)
- [OpenAPI] GH#293 Missing getSerializedBody on OpenApiRuntime BaseEndpoint class
- [JsonSchema] GH#292 Update
null
values handling in normalizers - [OpenAPI] GH#298 Update OpenAPI v2
null
support (withx-nullable
field)
- [Jane] GH#270 Update documentation for v6
- [JsonSchema] GH#263 Else assign null when property has no value is wrong
- [OpenAPI] GH#283 Handle server port of OpenAPI v3 specification
- [JsonSchema] GH#295 Update
league/uri
dependency
5.3.2 - 2020-03-05
- [JsonSchema] GH#239 Allow different datetime formats for parsing and serializing
- [OpenAPI] GH#247 Fix multiple OpenAPI version in configuration mapping
- [OpenAPI] GH#250 Fix when no operationId is given and path has a dot
- [OpenAPI] GH#251 Fixing issue where class names could contains dots
- [CI] GH#256 Fix setup-php steps
- [OpenAPI] GH#255 Fix null parameter to empty string transformation to keep zero value
- [OpenAPI] GH#259 & GH#260 Update & fix twitter fixtures
5.3.1 - 2020-02-04
- [Jane] GH#240 Add date type
- [Jane] GH#238 Allow DateTimeInterface as typehint
- [Jane] GH#242 Add logo for Jane 🎉
- [Jane] Fixing gitsplit
- [OpenAPI] GH#234 Fix variable conflict in authentication generator
- [JsonSchema] GH#235 Fixed JsonSchema dependencies
5.3.0 - 2020-01-15
- [OpenAPI] GH#177 Authentication feature
- [Jane] GH#210 Added JaneObjectNormalizer to lazy-load Normalizer when needed
- [OpenAPI] GH#206 OpenAPI 2 component
- [AutoMapper] GH#214 Added a quick documentation about the AutoMapper
- [Jane] GH#223 Add test with lowest dependencies
- [Jane] GH#212 Improve sorting in MultiType guesser
- [Jane] GH#213 More explicit message for denormalize exceptions
- [Jane] GH#220 Upgrade phpunit to v8.x
- [Jane] GH#224 Added typehints onto all methods & parameters and fixing obvious AST miss-match
- [Jane] GH#210 NormalizerFactory is now deprecated, you should use JaneObjectNormalizer
- [OpenAPI] GH#206 Branch 4.x & all v4.x tags are now deprecated, you should use last OpenAPI 2 component
- [OpenAPI] GH#206 OpenAPI component is now deprecated, you should use OpenAPI 3 component
- [OpenAPI] GH#218 Fixed ServerPluginGenerator by not using instance variables
- [OpenAPI] GH#217 Missing requestBody Reference handling
- [Jane] GH#227 Fixing JSON Pointer being created too much times
- [OpenAPI] GH#226 Missing non-body parameters Reference handling
- [OpenAPI] GH#230 Better handling of nullable properties (& strict mode) in Normalizers
5.2.2 - 2019-12-09
- [Jane] GH#192 & GH#195 Symfony 5 compatibility
- [Jane] GH#197 Local cache for Reference contents
- [Jane] GH#198 Remove generated code before new generation
- [OpenAPI] GH#203 Readonly property support
- [Jane] GH#190 Cleaning all components (dependencies / tests)
- [Jane] GH#196 Make cs fixer opt-in instead of opt-out
- [OpenAPI] GH#173 No content in requestBody
- [OpenAPI] GH#194 Fixed undefined offset error with servers paths
- [OpenAPI] GH#201 Fix nullable array types in generated Normalizer
- [JsonSchema] GH#193 Fixing non-sanitized property fields & methods
5.2.1 - 2019-11-25
- [OpenAPI] GH#174 Better handling of nullable fields in Normalizer
- [OpenAPI] GH#175 Handling of nullable attribute on query parameters
- Fixing Gitsplit workflow
- [AutoMapper] GH#179 Fixing incompatible changes in Symfony 5.0
5.2.0 - 2019-11-05
- GH Actions for tests & cs-check
- [JsonSchema] GH#167 add deprecated behavior (for classes & properties)
- [JsonSchema] GH#132 upgrade specs to draft-06
- [JsonSchema] GH#134 upgrade specs to draft-07
- [JsonSchema] GH#136 upgrade specs to 2019-09 (last version)
- [OpenAPI] GH#137 upgrade specs to 3.0.2 (last version)
- [OpenAPI] GH#143 Check if object for normalizers supportNormalization method
- [JsonSchema] GH#141 Better nullable checks on generated normalizers
5.1.1 - 2019-09-27
- [OpenAPI] GH#129 Missing exception interfaces
5.1.0 - 2019-09-26
- [Documentation] GH#124 Update documentation with new PSR-18 Client
- [OpenAPI] GH#118 Correct discriminator classname snake_case into camelCase for denormalization
- [OpenAPI] GH#121 Fix nullable property support
- [OpenAPI] GH#123 / GH#125 Check if path exists before using it in *ClientGenerator
- [OpenAPI] GH#126 Fix reference in endpoint parameter schema
- [OpenAPI] GH#119 Removing OpenAPI v2 support
- [OpenAPI] GH#120 Jane\OpenApiRuntime\Client\Psr7HttplugClient deprecated, use Jane\OpenApiRuntime\Client\Psr18Client instead.
- [OpenAPI] GH#120 Jane\OpenApiRuntime\Client\Psr7HttplugEndpoint deprecated, use Jane\OpenApiRuntime\Client\Psr7Endpoint instead.
- [OpenAPI] GH#120 Jane\OpenApiRuntime\Client\Psr7HttplugEndpointTrait deprecated, use Jane\OpenApiRuntime\Client\Psr7EndpointTrait instead.
5.0.1 - 2019-09-16
- [JsonSchema] GH#109 Support for default value for array type
- [OpenAPI] GH#115 Fix Content-Type comparison in generated endpoints
5.0.0 - 2019-09-11
- BC-BREAK All libraries now use php-parser v4
- [OpenAPI] BC-BREAK Use the openapi v3 specification (v2 is no longer supported)
- [OpenAPI] BC-BREAK No more asynchronous code generation (sync and async api can be the same on php 7.3 by using ext-async)
- Composer upgrade (PHP version to 7.2 and dependencies)
- [OpenAPI] GH#101 Remove warning when using Generate command
4.4.0 - 2019-06-17
- [Jane] nullable properties
- [Jane] add null type to PHPDoc for getters/setters
- [Jane] checking if helper function exists before creating it (php-parser 3.x / 4.x compatibility)
4.3.0 - 2019-05-31
- [OpenAPI] Discriminator support
- [Jane] php-parser 4.x compatibility
4.2.0 - 2019-08-03
- [Jane] Add support for default value in model (only scalar)
- [OpenAPI] Add support for httplug 2.0
4.1.0 - 2019-01-24
- [Jane] Added
use-cacheable-supports-method
option to add CacheableSupportsMethodInterface to your Normalizers.
4.0.4 - 2018-10-19
- [OpenAPI] Fix items object generation for json schema and openapi #29
- [OpenAPI] Fix bad parameter generation #41 #18
- [Jane] Fix properties having the same name #25
- [Jane] Fix bad normalizer on reserved keywords #16
4.0.1 - 2018-02-22
- [JsonSchema Runtime] Fix composer dependency to allow symfony 4
- [OpenAPI] Be less restrictive to detect schema serializable
4.0.0 - 2018-02-12
- BC-BREAK New namespace and repository name due to using a new monolith repository
- BC-BREAK JanePHP now require and generate code for PHP 7.1
- BC-BREAK Config file is now mandatory, console client does not provide anymore options
- BC-BREAK There is no more Resource file, all calls are now done in an unique Client class
- [OpenAPI] BC-BREAK Arguments for each endpoint may be different, they are now split between query, form and headers.
- [OpenAPI] BC-BREAK Response with 400 to 599 status code will know throw custom generated exception instead of returning an object
- [OpenAPI] BC-BREAK Base path is no more present in the url as you can use a HTTPlug plugin for that
- [OpenAPI] New documentation available at https://jane.readthedocs.io/en/latest/
- [OpenAPI] Add Optional Asynchronous Client Generation (through async option)
- [OpenAPI] Add support for file in form parameters which will create a multipart stream
- [OpenAPI] Better method naming when dealing with special characters thanks to @pyrech
- [OpenAPI] New class
Client
generated which will contains all endpoints of the API - [OpenAPI] New factory method for the client which provide better DX to start using a Generated Client
- [OpenAPI] Add support for global parameters
- [OpenAPI] Support Symfony 4
- [OpenAPI] Each endpoint have its own class, this helps extending a generated Client.
- [OpenAPI] Add support for binary format
- [Jane] Add a not strict mode, which generate more permissive normalizers (allowing null / not defined properties in several places)
- [Jane] Add property description in doc block comment
- [Jane] Add support for additionalProperties / patternProperties with existing properties
- [OpenAPI] When a response does have a Schema which is not an object, it will not return the json_decoded value of the data instead of null
- [OpenAPI] Remove base path from method name
- [OpenAPI] Fix references having a space in the name
- [OpenAPI] Fix
Content-Type
andAccept
headers - [Jane] Fix all-of not merging properties with the same name
See :