Ketting Versions Save

The HATEOAS client for javascript

v7.1.1

2 years ago
  • #392: The action() function on State classes would only return the default action (@reda-alaoui).
  • Changed how Cache classes are exported, as an experiment to see if IDE docs are more complete.

v7.1.0

3 years ago
  • Support for the inv-by Link relationship type from the [Linked Cache Invalidation draft][2]. This link lets a resource tell the client that it's cache should expire when the linked resource's cache also expires.
  • The 'prompt' field in HAL Forms for properties with 'options' set was ignored.

v7.0.1

3 years ago
  • No longer testing Node 10 and Node 15. Added Node 16.
  • Actions are now retained when caching. Before this, action information was dropped which meant that any actions in embedded resources were not accessible. (@hugothomas)

v7.0.0

3 years ago

New major version!

Changes since 7.0.0-beta.5

  • The title header is now considered to be an 'entity' / 'content'-header.

Changes since Ketting 6

  • Support for most of the new HAL-Forms features, which got a major refresh in 2021. New features include dropdowns and most field types and field attributes that exist in the HTML5 specification.
  • Ketting actions got a major refresh, in part to support HAL-Forms. (The type changes might be a BC break)
  • Remove support for Prefer-Push. Browsers are basically dropping HTTP/2 Push, and not enough work is done to make this very interesting. (More info).
  • Support for Deprecation and Sunset HTTP headers. (More info)
  • If any HTTP response includes a Content-Location header, Ketting will automatically place the response body in the state cache. This means you could for example do a POST request to create a new resource, and have your server respond with the newly created entity body + a Content-Location header for the new resource location, and Ketting will pre-populate the cache for that new resource, potentially saving a round-trip.
  • State objects (which are returned from .get()) now have a synchronous .follow() and .followAll().
  • Better support for application/problem+json
  • Support for title property on Siren fields.
  • We're now telling the browser to ignore the browser cache if Resource.refresh() is used.
  • The 'parsing API' had a bit of a refresh and was simplified. If you wrote a custom format parser, this will affect you.

v7.0.0-beta.5

3 years ago
  • label and value were parsed in reverse.

v7.0.0-beta.4

3 years ago
  • Added renderAs 'checkbox' to multi-select fields in actions.
  • Export OptionDataSource.

v7.0.0-beta.3

3 years ago
  • Support for HAL Forms version 2021-02-20, which adds the 'options' property.
  • Kettings now has support for 'dropdown' fields, allowing users to provide lists of possible options in 3 different ways:
    1. An inline list
    2. An external HTTP resource (JSON body or CSV body)
    3. Provided as links from a hypermedia source. Only 1 and 2 are supported by HAL Forms, 3 is just an internal feature until there is a format that has first-class support for this.
  • A bit of a rewrite of 'fields' again. Only a single type is exported, and all the types are cleaned up.

v7.0.0-beta.2

3 years ago
  • Support for Siren 'title' on fields. This was an oversight.

v7.0.0-beta.1

3 years ago
  • Remove support for Prefer-Push. Browsers are basically dropping HTTP/2 Push, and not enough work is done to make this very interesting. More background.
  • Revert 'unifiying URLs' PR, we're back to using url.resolve in node.

v7.0.0-beta.0

3 years ago
  • Note: this release has a number of BC breaks, which will only affect you if you wrote custom format parsers. See the wiki for more details.
  • #326: State objects now have follow() and followAll() methods.
  • #322: Add type, status, detail, instance properties to Problem class, for better support of [application/problem+json][6]. (@sazzer).
  • #327: If a response is received with a Content-Location header, the response will now immediately get stored in the cache.
  • Support for [draft-dalal-deprecation-header][7]. Ketting will now emit warnings if a Deprecation header is detected, and will also provide information from the Sunset header and include the uri of the deprecation link relation.
  • Support for the latest [HAL-Forms][5] features, including target, step, min, max, type, minLength, maxLength, placeholder, cols, rows.
  • Support multiple HAL Forms, as per the latest spec updates. Before only a 'default' form was supported.
  • Add textarea form field type.
  • #324: Only use {cache: 'no-cache'} with .refresh(), not .get().
  • Fixed a subtle URL resolving bug in browsers. (Node was not affected).