Skip to content

Latest commit

 

History

History
634 lines (459 loc) · 30.8 KB

CHANGELOG.md

File metadata and controls

634 lines (459 loc) · 30.8 KB

Changelog

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

Added

  • [JsonSchema] GH#405 Validation

Fixed

  • [JsonSchema] GH#595 Fix "oneOf" with nullable

7.1.7 - 2022-02-03

Added

  • [OpenApi3] GH#586 Ability to customize strings field normalization/denormalization based on format keyword

Fixed

  • [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

Fixed

  • [AutoMapper] GH#589 Fix setting properties when using target to populate object

7.1.5 - 2021-12-16

Added

  • [JsonSchema] GH#580 Add typehint for generated Normalizer & Dernomalizer

7.1.4 - 2021-12-16

Added

  • [OpenApi] GH#577 Handle application/problem+json error responses

Changed

  • [Jane] GH#571 Symfony 6 compatibility

Fixed

  • [AutoMapper] GH#567 Fixed MapperContext::withNewContext target_to_populate value

7.1.3 - 2021-11-12

Added

  • Run test suite with PHP 8.1

Changed

  • [AutoMapper] GH#564 Remove deprecations

Fixed

  • [AutoMapper] GH#567 Fix the value of target_to_populate on MapperContext::withNewContext call

7.1.2 - 2021-10-18

Fixed

  • [AutoMapper] GH#560 Fix fail on generic object without explicit classname

7.1.1 - 2021-10-08

Fixed

  • [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

Added

  • [Jane] GH#537 Added JsonSchema & OpenApi bundles
  • [AutoMapper] GH#546 Add stdClass to stdClass transformation support

Changed

  • [AutoMapper] GH#536 Update benchmark scripts

Fixed

  • [OpenAPI] GH#543 Fix jane-openapi binary file

7.0.0 - 2021-05-19

Added

  • [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

Changed

  • [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

Fixed

  • [AutoMapper] GH#461 Transformer arguments typo
  • [AutoMapper] GH#487 Can not call getName when type is adders/removers

6.3.9 - 2021-10-08

Added

  • [JsonSchema] GH#556 Support for $defs field

Fixed

  • [JsonSchema] GH#542 Fix cs fixer >= 3 compatibility

6.3.8 - 2021-05-10

Changed

  • [OpenAPI] GH#528 Added message to exception UnexpectedStatusCodeException

Fixed

  • [Jane] GH#530 Fix usage of PHP-CS-Fixer
  • [OpenApi] GH#531 Fix file_exists check

6.3.7 - 2021-03-26

Fixed

  • [JsonSchema] GH#521 Fix normalizer mapping for reserved PHP names in JaneObjectNormalizer

6.3.6 - 2021-03-16

Fixed

  • [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

Fixed

  • [OpenAPI] GH#511 Fix is_file char limit

6.3.4 - 2021-03-11

Changed

  • [OpenAPI] GH#508 Improve exceptions to have higher-level exceptions

Fixed

  • [Jane] GH#502 PHP 8 support
  • [OpenAPI] GH#509 Fix exception reserved variable keywords

6.3.3 - 2021-02-10

Added

  • [OpenAPI] GH#500 Bring ability skip query / header check

Changed

  • [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.

Fixed

  • [OpenAPI] GH#497 Fixing a whitelisted paths notation in OpenAPI 2 and 3 guessers

6.3.2 - 2020-12-23

Changed

  • [AutoMapper] GH#465 Allow dateTimeFormat customisation when initialising
  • [Jane] GH#483 PHP 8 support

Fixed

  • [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

Documentation

  • [OpenAPI] GH#477 Fixed typo about usage with Symfony recipe

6.3.1 - 2020-11-24

Fixed

  • [Jane] GH#463 Update version deps

6.3.0 - 2020-11-22

Added

  • [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

Changed

  • [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

Fixed

  • [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

Documentation

  • [OpenAPI] GH#438 Fix documentation namespaces for consistency

6.2.4 - 2020-10-02

Fixed

  • [Jane] GH#423 Skip required fields in Normalizer generation

6.2.3 - 2020-09-29

Fixed

  • [Jane] GH#421 Fix non-array data in denormalize

Added

  • [OpenAPI] GH#412 Test generated client in CI

6.2.2 - 2020-09-15

Fixed

  • [Jane] GH#416 Fix version constraints for json-schema

6.2.1 - 2020-09-10

Fixed

  • [OpenAPI] GH#408 Fix http_build_query method calls
  • [Jane] GH#409 Fix version constraints for Jane Packages

6.2.0 - 2020-09-09

Added

  • [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

Changed

  • [Jane] GH#388 GH#389 Update doctrine/inflector to support both v1 & v2
  • [AutoMapper] GH#403 Allow ^5.0 for phpdocumentor/reflection-docblock

Fixed

  • [AutoMapper] GH#396 Typo in DateTime transformer
  • [JsonSchema] GH#394 Return object in denormalize if data is null
  • [JsonSchema] GH#392 Nullable property handling

Documentation

  • [OpenAPI] GH#395 Better Authentication documentation

6.1.1 - 2020-09-15

Fixed

  • [Jane] GH#414 Fix dependencies for 6.1.x

6.1.0 - 2020-08-20

Changed

  • [OpenAPI] GH#316 Improvement & fix on whitelisted path feature
  • [AutoMapper] GH#306 AutoMapper update

Fixed

  • [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

Refactoring

6.0.5 - 2020-08-18

Fixed

  • [JsonSchema] GH#379 Fixed array items with mixed types

6.0.4 - 2020-08-03

Changed

  • [OpenAPI] GH#362 Allow non-standard HTTP codes
  • [Jane] GH#364 Use iterable instead of ArrayObject type hint

Fixed

  • [OpenAPI] GH#365 Client methods with invalid characters (Support for GitHub OpenAPI)

6.0.3 - 2020-07-29

Added

  • [OpenAPI] GH#318 Handle references in operation responses
  • [OpenAPI] GH#358 Being able to introduce custom QueryResolver normalizers

Fixed

  • [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

Fixed

  • [Jane] GH#335 Symfony 5.1 compatibility

6.0.1 - 2020-06-11

Added

  • [OpenAPI] GH#308 [Authentication] Registry to handle multiple Auth scopes
  • [OpenAPI] GH#319 Add support for custom endpoint generator class

Changed

  • [OpenAPI] GH#317 Allow dictionary parameters for OpenAPI 3

Fixed

  • [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

Added

  • [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

Changed

  • [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

Removed

  • [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)

Fixed

  • [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 (with x-nullable field)

Documentation

  • [Jane] GH#270 Update documentation for v6

[5.3.3] - 2020-04-23

Added

  • [JsonSchema] GH#263 Else assign null when property has no value is wrong
  • [OpenAPI] GH#283 Handle server port of OpenAPI v3 specification

Changed

  • [JsonSchema] GH#295 Update league/uri dependency

5.3.2 - 2020-03-05

Added

  • [JsonSchema] GH#239 Allow different datetime formats for parsing and serializing

Fixed

  • [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

Documentation

  • GH#254 Improves JSON multi schemas doc
  • GH#244 Improved documentation

5.3.1 - 2020-02-04

Added

  • [Jane] GH#240 Add date type
  • [Jane] GH#238 Allow DateTimeInterface as typehint
  • [Jane] GH#242 Add logo for Jane 🎉

Fixed

  • [Jane] Fixing gitsplit
  • [OpenAPI] GH#234 Fix variable conflict in authentication generator
  • [JsonSchema] GH#235 Fixed JsonSchema dependencies

5.3.0 - 2020-01-15

Added

  • [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

Changed

  • [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

Deprecated

  • [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

Removed

  • [OpenAPI] GH#216 Removed out-of-date USAGE instructions
  • [Jane] GH#222 Remove coveralls integration

Fixed

  • [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

Added

  • [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

Changed

  • [Jane] GH#190 Cleaning all components (dependencies / tests)
  • [Jane] GH#196 Make cs fixer opt-in instead of opt-out

Fixed

  • [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

Changed

  • [OpenAPI] GH#174 Better handling of nullable fields in Normalizer
  • [OpenAPI] GH#175 Handling of nullable attribute on query parameters

Fixed

  • Fixing Gitsplit workflow
  • [AutoMapper] GH#179 Fixing incompatible changes in Symfony 5.0

5.2.0 - 2019-11-05

Added

  • GH Actions for tests & cs-check
  • [JsonSchema] GH#167 add deprecated behavior (for classes & properties)

Changed

  • [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)

Fixed

  • [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

Fixed

  • [OpenAPI] GH#129 Missing exception interfaces

5.1.0 - 2019-09-26

Added

  • [OpenAPI] GH#120 Support for PSR18 client generation
  • [Documentation] GH#122 OpenAPI example

Changed

  • [Documentation] GH#124 Update documentation with new PSR-18 Client

Fixed

  • [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

Removed

  • [OpenAPI] GH#119 Removing OpenAPI v2 support

Deprecated

  • [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

Fixed

  • [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

Added

  • 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)

Fixed

  • [OpenAPI] GH#101 Remove warning when using Generate command

4.4.0 - 2019-06-17

Added

  • [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

Fixed

  • [JsonSchema Runtime] Fix composer dependency to allow symfony 4
  • [OpenAPI] Be less restrictive to detect schema serializable

4.0.0 - 2018-02-12

Added

  • 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

Fixed

  • [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 and Accept headers
  • [Jane] Fix all-of not merging properties with the same name

Older versions

See :