Skip to content

Releases: badgateway/ketting

v8.0.0

26 Feb 04:16
acec0de
Compare
Choose a tag to compare

Ketting v8!

Ketting 8 has been in a testing state for so long, it was time to release. I've recently had lots of changes in my life (new job, kid), and this project has unfortunately not gotten enough love.

Ketting 8 had been planned for a long time to modernize the codebase a bit, so no massive changes. I hope to have some more time in the future to focus on this again. Some changes in this list had been ready for literally 2 years, so apologies to all that have waited for this.

BC Breaks

  • We're no longer doing a webpack / minified build. Most people use this library in their own build system, and rarely webpack is still in use. I'm very much open to doing a browser build in the future using a more modern stack, but please open an issue with a request for this!
  • We now require Node 18.
  • No longer using node-fetch, which I'm sure is a welcome change. fetch() is around pretty much everywhere these days.

Other changes

  • #476: When cache: no-store is specified on fetch() functions, Ketting will now no longer store responses with a Content-Location in its internal cache.
  • #477: When storing responses with Content-Location, bodies are now cloned bodies storing so callees can still read the data.
  • Added HAL 'name' property to links.
  • Updates for changes in Typescript strictness.
  • Upgraded OAuth2 dependency to [@badgateway/oauth2-client][8].
  • Submitting actions with missing required fields will now throw an exception.
  • Actions that have pre-filled values will auto submit those values unless they are explicitly overridden.
  • #459: Now uses the correct spelling of 'placeholder' in HAL forms (@dayre).
  • Export the FetchMiddleware type.
  • #444: Allow multiple query parameters to be set with the same key when specifying template variables. (@qmachard)
  • Upgrade to Typescript 5

v7.5.2

19 Sep 03:06
4062dc2
Compare
Choose a tag to compare

Housekeeping and updating some dependencies to ensure we're not incompatible with anything.

v8.0.0-alpha.3

11 Jun 06:05
688a476
Compare
Choose a tag to compare
v8.0.0-alpha.3 Pre-release
Pre-release
  • #476: When cache: no-store is specified on fetch() functions, Ketting will now no longer store responses with a Content-Location in its internal cache.
  • #477: When storing responses with Content-Location, bodies are now cloned before storing so callees can still read the data.
  • Testing Node 20.

v8.0.0-alpha.2

11 Apr 20:41
2d78dd0
Compare
Choose a tag to compare
  • Added HAL 'name' property to links.
  • Updates for changes in Typescript strictness.

v8.0.0-alpha.1

16 Mar 21:11
e216cf1
Compare
Choose a tag to compare
  • Ketting requires Node 16 now.
  • No longer using node-fetch, as fetch() is natively supported on Node 18. If you are using Ketting with Node 16, you should install node-fetch or run node with the --experimental-fetch option.
  • Upgraded OAuth2 dependency to [@badgateway/oauth2-client][8].
  • Submitting actions with missing required fields will now throw an exception.
  • Actions that have pre-filled values will auto submit those values unless they are explicitly overridden.
  • #459: Now uses the correct spelling of 'placeholder' in HAL forms (@dayre).
  • Export the FetchMiddleware type.
  • #444: Allow multiple query parameters to be set with the same key when specifying template variables. (@qmachard)
  • Upgrade to Typescript 5

v7.5.1

04 Sep 01:53
2b01de4
Compare
Choose a tag to compare
  • Typescript 4.8 support!

v7.5.0

26 Aug 21:19
49743b3
Compare
Choose a tag to compare
  • #401: The mechanism that de-duplicates identical requests is now a bit
    smarter, and will not de-duplicate requests that are significantly different
    such as a different Accept header. (@hugothomas @reda-alaoui)
  • #450: value field for some HAL inputs were ignored (color, checkbox,
    radio).

Special acknowledgement to @hugothomas and @reda-alaoui . I'm sorry it took so long to get this feature out.

v7.4.2

11 May 16:05
e022ad6
Compare
Choose a tag to compare
  • Added support for minLength and maxLength attributes on textarea fields in HAL Forms. (@dayre).

v7.4.1

21 Mar 05:11
162a918
Compare
Choose a tag to compare
  • #433: Fixed race condition when processing nested _embedded resources and
    emiting update events. The order at which they happen is now consistent.
    When the update event happens, the entire cache should be up to date.
  • #328: Resource.go() and Client.go() can now take a Link object as the
    argument.

v7.4.0

17 Mar 19:02
191b2ae
Compare
Choose a tag to compare
  • #426: Setting up cache dependencies through inv-by links is now possible via HAL _links and in embedded resources, as well as links from all the other formats.
  • #425: Fewer warnings related to 'Max listeners exceeded'. The default of 10 is too low for typical Ketting applications.