Skip to content

Latest commit

 

History

History
144 lines (85 loc) · 5.52 KB

CHANGELOG.md

File metadata and controls

144 lines (85 loc) · 5.52 KB

Breaking Changes

  • Framework API now requires only a register route but the rest function now takes a Request and must return a Response.
  • Property property sqlalchemy_type has been renamed to type for compat with columns.
  • column_property are now considered as normal columns.
  • Overriding existing routes no longer works. (except when using @declare)
  • Auth wrappers now take the request, the payload, and the primary keys as arguments and return the response (so you can alter the response headers).

  • Add Request/Response util classes.
  • Add an Idiom abstraction with converts request to data and data to response.
  • Add a yaml idiom (YamlIdiom).
  • Add a json_server idiom (JsonServerIdiom).
  • Add a native python framework implementation (HTTPServerFramework).
  • Add a tornado framework implementation (TornadoFramework).
  • Add a sanic implementation (SanicFramework).
  • Add cleaner examples.
  • Expire items after add/edit to refresh column_property and externally dependent columns (i.e. FDW).
  • Properties can now be used in primary_keys.
  • Routes are not registered directly anymore which allows late route overriding with declare without having the framework to handle route override (most forbid that)
  • Add a rest.virtual() method that behaves like rest() but force no HTTP method registration. Useful for relationships.
  • Add a RestClass option to UnRest to allow Rest overload
  • Add 'fixed' and 'defaults' props in sub rest's route (thanks @Le-Stagiaire, NB: Next time make a PR)
  • Fix dateutil import.
  • Fix declare decorator not returning function.
  • Add a validation_error_code to change the validation error http status.
  • defaults and fixed attributes can now be callable.
  • Add a defaults attribute to set column defaults.
  • Add a fixed attribute to force columns values.
  • Add a manual commit flag to @declare to prevent auto commit.
  • Add log info in unrest.rest.
  • Add a rest.sub method to generate sub collections endpoint.
  • Db session commit is now done in the method wrapper instead of the rest methods. This prevents multi commits when calling multiple rest methods inside a @declare for instance. No commit is done on GET methods! -Don't alter db on GETs.-
  • Return a 404 with json on GET for an unknown id.
  • Add schema for parameter in openapi apparently required according to last swagger commit.
  • Add openapi.json file generation
  • Rewrite OPTIONS generation
  • Fix deferrable columns crash.
  • Add missing default float serializer/deserializer.
  • Don't flush before validating item creation (POST)
  • Add previous and next item in Validatable to allow cross field validation.
  • Allow field validator lists in validators.
  • Disable autoflush while validating to prevent sql errors.
  • Run test before releasing (...) fix validation bug introduced in 0.6.1
  • Add a primary_keys argument to rest endpoints.
  • Fix bug when putting a element that didn't exist.
  • Fix a design flaw in route naming being the same with diferent unrest path.
  • Add ValidationError on Validatable to avoid the need of having a unrest instance.
  • Add validators argument to Rest to provide a mapping of field validators for incoming data.
  • Add the possibility of returning a response wrapper in auth decorators.
  • Handle pagination by returning correct number of total occurences without any limit/offset. Returns limit and offset if any.
  • Handle prioritarly Model.query queries if exist.
  • Add PATCH method
  • Add primary_keys in json response
  • Add extra data on errors
  • Add default coercer for large binary type to base64
  • Handle correctly columns with a different name in mapping