Skip to content

v2.16.0

Choose a tag to compare

@krulis-martin krulis-martin released this 31 Mar 20:53
· 129 commits to master since this release

Changelog

  • A new endpoint specification system was created that uses attributes instead of doc-comments.
  • Endpoint parameter verifications were rewritten to use new attributes.
  • OpenAPI generator fixed, API documentation is now generated from the endpoint specifications.

Commits

422c790 #! v2.16.0
38e7308 Fixing few typos.
fd0a060 Fixing a TODO at VBool verification.
13a9dbd Fixing InvalidArgument exception issues.
9622231 changed comment
75a209f changed string value to int
b8a7e99 refactored strictness in validators
6ad7d10 added comment
2ccd6f5 debug: reverted that error messages showed user values
bc10d3b changed validation rule
17d9b7e debug: display test values
f481bdb VBool text validation now supports strings as well
c164fe0 path params are now checked
314cf1b format and loose attributes can both be used on the same endpoint
c0d3d11 query and path parameters now use different validators
c6556ee getExampleValue can now return null
de58e1b removed endless recursion
f7042d8 renamed VFormat to VObject
d25b588 validators now have a common ancestor
acb93c0 added readable operationIds
651e82d added swagger generator support for format classes
1a371f8 added support for nested formats
049de89 Merge pull request #480 from ReCodEx/meta-views
687e7e1 bugfix: removed erroneous query param
311f567 added a todo regarding VBool
a7b607f VBool now supports 'false' for one test to pass
f9d4ca3 tests now send proper booleans to endpoints instead of strings and ints
74c55a7 removed gettype type validation
c0335c5 made VBool stricter
14b11df improved VString validation
29a03e3 improved VInt validation
a7b342b improved VDouble validation
d3e649f removed deprecated method
7003162 changed validator
13361ad added doc-comment for UserFormat
ec70d27 improved FormatCache::formatExists performance, added getter for a hash set of format names
311e9fa fixed misleading attribute comments
b52d924 improved attribute class description
efa5084 renamed file to match class name
728de68 simplified doc-comment typename
424a49b bugfix: explicitly set nullability of a parameter is now considered as well (no actual behavioral changes, all the changed endpoint parameters were optional so nullable by default, now they are explicitly nullable as well)
9af19f3 bugfix: added nullability to field
b2ee348 added type checking comparison
9f08c53 added type checking comparison
8c7de0e replaced comments with doc-comments
1d1f32c replaced comments with doc-comments
a86d53b inlined a function
74eba85 replaced switch with dictionary
971c77e replaced hardcoded numbers
9fc4ab5 added comment
81f25e5 removed hardcoded namespaces where possible
9b20a75 replaced switch with translation dictionary
cfa83e5 inlined function
dae8c9b replaced string slice with str_starts_with
051247d code cleanup
449d164 refactored the FormatCache
4e96b1f resolved todo
9bf3a44 bugfix: loose params are no longer saved
9a850fc removed MetaRequest, refactored actionCreateInvitation to use a format class
b724809 added shorthands for format parameter attributes
2b61283 fixed param comment
a165107 checkedAssign now explicitly throws when an invalid value is passed, resolved some todos
a20fafd removed circular dependency of the annotation converter on the produced attributes
9bbfd26 added more comments to validators
a28887c implemented VTimestamp
8c358c4 swagger generator extracts data only from attributes now
184bfe1 bool validator now supports 1 and 0 as well
ffee4a5 resolved some todos
a9a5764 Merge branch 'master' into meta-views
83a2524 Adding unique index for user.email column.
c400a1f implemented more validators
cd8c805 int validator now supports numeric strings
14dbbff changed error message
0ad910e made parameter error messages more verbose
6e701c8 renamed VFloat to VDouble
1972586 implemented int validator
57f9d73 implementing validators WIP
38ff805 bugfix: changed command name in config
da2bf97 refactored the conversion command
5025336 added VMixed validator as a placeholder for params with missing validations
b05b6bf added mixed placeholder validator
2a57dee actionValidatePasswordStrength password is now nullable
8c14400 removed unnecessary rethrow mechanism
99a41b8 bugfix: InvalidArgumentExceptions are no longer intercepted.
1ea5bc1 bugfix: attributes derived from Param are now also considered for validation purposes
8078b72 converted endpoints
042f2f3 @param annotations are removed after conversion
2988669 removed logging in the base presenter, removed format attribute and meta request from registration presenter
6148642 removed duplicit validator parameter
e54eae5 code quality improvement
6d13d82 added shorthands for attributes with a given type
85c40fe path param values are no longer checked (there is no mechanism for that yet)
8630379 bugfix: validators are now converted to arrays in attributes, description strings now escape quotes and $ characters
8de1c28 single validators no longer need to be in arrays
2f06e9a missing validations are defaulted to string
585dda5 improved code quality, added more comments
3b4c253 restructured code
d6f0d09 bugfix: converted attributes are no longer used multiple times
5bed864 removed deprecated conversion mechanism
c190b5f added support for @param annotation to attribute conversion
1498e76 added mechanism for path/query parameter detection WIP
3ae231d refactored attribute converter
61b7f54 Merge branch 'master' into meta-views
b673fb8 added automatic multiline attribute conversions for long annotations
c2c16b5 renamed various classes used in parameter attributes to make them shorter, changed param attribute argument order
7ebda6d replaced single backslashes with double in namespace paths
fb56a60 the annotation to attribute converter no longer uses hardcoded string classnames
8763ca0 unannotated path params are now handled properly
5dd69c4 improved swagger typing, added swagger descriptions
f8991d1 merged FieldFormatDefinition and RequestParamData - now all checks are done using Validators (except for nullability/required)
42934b0 loose attributes now support nullability
b79bad0 loose attributes work now (requestFormatInstance is now created properly using a stdClass)
e497148 added fields to attributes for extraction, formats are now referenced with classnames, not hardcoded strings
19be393 added support for loose attribute validation
ba23bfe the swagger generator is now attribute-based, added empty validators for remaining types
73ee0a1 changed presenter description to avoid a bug in the attribute converter regex
d02392a changed some presenter descriptions to combat regex catastrophic backtracking
b931803 added validators, added extraction method for RequestParamAttribute metadata
8d9d52d added attribute to substitue @param, added script to convert files with @param to attributes
4bfa8f3 renamed RequestAttribute to FormatParameterAttribute
9143986 Merge remote-tracking branch 'origin/master' into meta-views
0372e5b format fields can now be attributed with request details
aaf4ea6 added recursion to validation, made structural validation a public method
bb5f8ee added user format, changed the registration endpoint to accept a request wrapper returning a format instance
c98bad2 each class field can now be checked individually, added cache for reflective structures
106c6ea Merge remote-tracking branch 'origin/master' into meta-views
a1adcc6 replaced annotations with attributes in format classes
a0459bc added a mechanism that can read format definitions from a folder
0bd18c5 merged with swagger branch, formatted meta-format files
0d3ca08 merged with swagger branch
3c6bf16 added validator logic for meta views WIP
3cb526f added support for shallow meta views
3ce0d8b added initial meta views