Skip to content

Releases: ba-st/Stargate

v3.1.1

03 Oct 18:27
3e748b9
Compare
Choose a tag to compare

Non breaking changes

  • PR #61 Fixed bug on the self link for collections when serving the API behind a proxy and the URL in the HTTP request doesn't match the public URL of the API. Thanks @mtabacman

v3.1.0

18 Sep 16:34
13002bb
Compare
Choose a tag to compare

Changelog

PR #58 :

  • Improved encoding support for complex cases that needs an schema in NeoJSON
  • Refactored some duplicated code
  • Fixed typo in resource lookup method
  • Improved exception handling
  • Added some useful extensions

v3.0.0

22 Aug 23:47
a1978fc
Compare
Choose a tag to compare

Changelog

  • Improved code portability
  • Added documentation
  • Redesigned infrastructure (Fixed #7 #13 #31 )
  • #39 Exception handlers are now configurable
  • #29 Subresources support
  • #53 Migration Guide (available in docs folder)
  • #48 Fixed loading of Tests group

v2.0.2

08 Aug 12:40
8506bb7
Compare
Choose a tag to compare

Changelog

  • Fixed #48 : Loading Tests group was failing

v2.0.1

01 Jul 16:07
40ff178
Compare
Choose a tag to compare

Changes

  • Fixed #37 by removing HTTPClientError and its subclasses.

v2.0.0

24 Jun 19:56
5080acd
Compare
Choose a tag to compare

Breaking Changes

  • Add context to the methods resolving the ETag, Location and Media Controls, because in some complex cases it's needed to pass additional information.
  • Added RESTfulControllerResourceCreationPolicy hierarchy. Every controller now has to define which policy must be used on resource creation between these two:
    • RESTfulControllerDoNotRespondCreatedEntityPolicy to return an empty body.
    • RESTfulControllerRespondCreatedEntityPolicy to return a representation of the resource in the response body.
  • Added Hyperspace as a dependency and migrated all uses of HTTPClientError. Now you can handle instances like HTTPClientError notFound or HTTPClientError conflict.

Non Breaking Changes

  • Include "ETag" header when a POST request is responded including a representation
  • Respond with Bad Request when the pagination cannot be correctly created from the parameters
  • Added protocol to easily generate vendor media types.
  • Canonical API tests now lookup for a free port.
  • Add some utilities to ZnUrl for pagination and query parameters including URLs
  • Add some utility methods to ResourceRESTfulControllerTest improving PATCH usage

Migration Notes

Some changes can be automatically migrated from v1:

  • Load manually the package Stargate-MigrationTo2
  • It will include deprecations including automatic rewrite expressions, so if you exercise the code it will get converted to the new versions.

Other changes cannot be migrated in an automated fashion, but are easy to do:

  • Subclasses of ResourceRESTfulController must contemplate the following changes:
    • entityTagOf:encodedAs: is now entityTagOf:encodedAs:within: and receives the context as argument
    • locationOf: is now locationOf:within: and receives the context as argument
    • mediaControlsFor: is now mediaControlsFor:within: and receives the context as argument
    • provideResourceCreationPolicy is now a subclass responsibility

For the methods including the new argument, you can use your old implementation and ignore the context argument (Just change the method signature). For the remaining subclassResponsibility implement it as:

provideResourceCreationPolicy 

	^ RESTfulControllerDoNotRespondCreatedEntityPolicy for: self

v1.0.1

25 Jan 14:06
c819660
Compare
Choose a tag to compare

Changes

  • Fixed #22 CORS not working on error

v1.0.0

24 Jan 20:00
Compare
Choose a tag to compare
Updated baseline

v0.7.0

11 Dec 19:58
93d5bb8
Compare
Choose a tag to compare
v0.7.0 Pre-release
Pre-release

Changes

  • Updated Teapot dependency
  • #19 Improved Portability

v0.6.0

22 Nov 21:02
781d071
Compare
Choose a tag to compare
v0.6.0 Pre-release
Pre-release

Changes

  • Fixed #16 Improve error handling configuration so if a generic handler is configured before installation it will not take precedence over the HTTPClientError one.