Releases: contributte/apitte-core
Releases · contributte/apitte-core
v0.8.1
v0.8.0
Bumped! 🚉
Diff: v0.7.1...v0.8.0
Changes:
- Std [004]: kodiak [3db3572] (@f3l1x)
- Readme: support [ecd4c3c] (@f3l1x)
- Readme++ [c99c923] (@f3l1x)
- Readme: fix partners link (#156) [f97fc38] (@petrparolek)
- Github: allow build on all branches (#159) [f43fc82] (@petrparolek)
- ContainerConstraintValidator: fix & simplify documentation [6384a0c] (@martenb)
- BasicEntity: map GET parameters to DELETE method [9a41e4d] (@martenb)
- BasicEntity: map GET parameters to DELETE method - tests [0d46c18] (@martenb)
- [PHP 8.0] Pre-attributes - update annotations to named arguments (#162) [7c46619] (@TomasVotruba)
- Attributes: support attributes, added Koriym attribute reader, update annotations to named arguments [97d3ec3] (@TomasVotruba)
- Tests: make DoctrineAnnotationLoader test run attributes only on PHP 8.0 to avoid parse erorrs [7476965] (@f3l1x)
- QA: ignore attribute controller check, due to failing attribute rules [a23c2a1] (@TomasVotruba)
- Attributes: nested attributes are not allowed [e0df5fc] (@TomasVotruba)
- Composer: bump min version to PHP 7.3 [efd769e] (@TomasVotruba)
- Updates related to attributes feature [5352c86] (@f3l1x)
- Composer: unify authors [1503b25] (@f3l1x)
- CI: update default php, php8 is not allowed to fail [0a64db4] (@f3l1x)
- [PHP 8] Fixup attributes features based on use in practise (#163) [c8ffbe3] (@TomasVotruba)
- Tests: make heredoc named NEON to inform about the syntax language (#166) [5fae3d4] (@TomasVotruba)
- Add AnnotationAttributeDualReader that can read both annotations and attributes at the same time (#165) [7e15641] (@TomasVotruba)
- Readme++ [fca8106] (@f3l1x)
- Added support for HEAD method [1304c8b] (@tg666)
- Fix getcomposer link domain, Fix getcomposer.com to correct domain getcomposer.org. [22862ac] (@woytam)
- BasicEntity: fix json body decode (#169) [0a2f43c] (@miranovy)
Migration:
- RequestParameter - required parameter in
- @RequestParameter(name="id", type="int", description="User ID")
+ @RequestParameter(name="id", in="path", type="int", description="User ID")
v0.7.1
v0.7.0
Bumped! 👩🏼⚕️
Diff: v0.6.0...v0.7.0
Changes:
- Docs update @mabar
- Added endpoint sorting @mabar
- Fixed PsrLogErrorHandler registration @mabar
- Renamed
Request
->RequestBody
@mabar - Added default exception to response conversion @mabar
- Limited only error codes from ApiException as response codes @mabar
- Required nette/utils @mabar
- Trimmed annotations e.g.
ControllerPath
->Path
andGroupPath
->Path
@TonyVlcek - Trimmed annotations e.g.
ControllerId
->Id
andGroupId
->Id
@TonyVlcek - Droped unused or deprecated code @mabar
- Added tests @mabar @f3l1x
- Internal refactoring @mabar
- Open for php8 @Roman3349
- QA @Roman3349 @Vlczech @f3l1x
- Fixed typos @Rixafy
- Better message for missing mask parameter @khorsky
- Travis to github actions @vody105
- Changed ApiRequest default value behaviour (possible BC break) @f3l1x
v0.6.0
Diff: v0.5...v0.6.0
Changes:
- Requires PHP 7.2
- Nette 3 contributte/apitte@9fcff41
- Plugins internal refactoring
- uses nette/schema
- getName() instead of NAME constant, getName() is now statical
- Plugin is now class instead of interface, all plugins must inherit it contributte/apitte@ff6ed9f and contributte/apitte@560dd94
v0.5
Diff: v0.4...v0.5
New:
- rewrited documentation
- Apitte is now wrapped into own
Application
class which must be used for proper functioning (see documentation) - error handler
- transforms all thrown errors into response
- could be disabled by option
catchException: false
in debug mode - apitte/negotiation is used for error transformation instead, if installed
- could be disabled by option
- if an PSR-3 compatible logger (like Monolog) is register in DIC then all errors except our special
ApiException
and it's descendants (ServerErrorException
,ClientErrorException
, ...) are logged witherror
severity- also previous errors from
ApiException
($exception->withPrevious($anotherException)
) are logged
- also previous errors from
- transforms all thrown errors into response
ClientErrorException
andServerErrorException
have default error message contributte/apitte@866418d- new
Request
,Response
andOpenApi
annotations (used by apitte/openapi) contributte/apitte@31d7008 ApiResponse
contain constants with all HTTP response codes contributte/apitte@342311b- request parameters with type
int
andfloat
accept numbers prefixed with+
contributte/apitte@969f9d5 - apitte/playground merged with planette/playground
Changes:
- simplified
ServiceHandler
, overriding implementations need changes contributte/apitte@ccafbd4 FileResponseDecorator
changed to staticFileResponseAdjuster
contributte/apitte@2337b4eIRequestEntity
implementation is now optional for request mapper entities contributte/apitte@38785e1IDecorator
splitted into strictly-typed interfaces contributte/apitte@73597e7ApiRequest
andApiResponse
are now required by all layers instead ofServerRequestInterface
andResponseInterface
contributte/apitte@d3c4ceb
Removals:
- support for alternative, undocumented syntax for most annotations contributte/apitte@e7fced3
Controller
annotation, controllers are now required to only implementIController
contributte/apitte@d0e38d9Schema
from request attributes, as it could be get from DIC contributte/apitte@44c2e28
Fixes:
- tags without value contributte/apitte@028ee61
- url suffixes used in apitte/negotiation now support urls with variable parameter at the end (like
/users/{id}.debug
) contributte/apitte@5c0ea43 - MessageException - default error code contributte/apitte@1cf0d89
v0.4
Bump! 🎉
Diff: v0.3...v0.4
Changes:
- Strict types and native typehints (#18)
- phpstan 0.10
- rewrited exceptions - more consistent and meaningful
- normalized behavior for tags - all tags could have an optional value (#27)
- router throws 405 instead of 404 for methods which are unsupported by endpoint (#54)
- removed BadRequestException and RequestException (api should use ClientErrorException and ServerErrorException only) (#60)
- fully implemented request parameters (#44, #40, #52)
- check format of variable instead of magical typecasting
- implemented datetime and boolean
- removed scalar (use string instead) and object (not implemented)
- removed support for custom types (in consistence with openapi - only object type may be returned in future)
- validations
- each request parameter in path must be defined in mask and each mask parameter must be defined in request parameters
- check validity of request parameter attributes and validity of combination of these attributes
- allow only one default suffix for response mappers and require all suffixes to be unique
- check validity of negotiations (#28)
- optimizations
- check renderers, request and response entities validity in compile-time
- fixes
- fix case where non-last decorator returned null
- Method::addArguments - arguments order (affects only very low-level usage)
v0.3
Bump! 🎃
Diff: v0.2...v0.3
Changes:
- Mapping: normalize request parameter with respect to parameter IN [#14] (thanks @trejjam)
- Openapi: extend configuration [#17] (thanks @trejjam)
- Fix bug with required non-empty parameter [#15] (thanks @trejjam)
This is last PHP 5.6 release.
v0.2
Bump! 🇫🇰
Diff: v0.1.1...v0.2
Changes:
- added RequestMapper/ResponseMapper + validation
- better ArraySerializator
- added frequently used method to Endpoint
- simplify events in Dispatcher
- pass query parameters into attributes
- validate only fullpath (GroupPath+ControllerPath+Path)
- better exception [#13]