Skip to content

Latest commit

 

History

History
179 lines (109 loc) · 6.88 KB

CHANGELOG.md

File metadata and controls

179 lines (109 loc) · 6.88 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • Support for element traversal via the Visitor pattern (#14)
    • DefaultSirenElementVisitor for visitors that don't need to visit every type of element
    • LinkFinder for searching an entity's links
    • ActionFiller for populating an action's fields
    • CompositeVisitor for composing multiple visitors
  • Support for crawling an API via crawl (#15)
  • Support for validating fields on action submission (#16)
  • Default JSON serializer (#27)
  • Advanced submit usage examples in the JSDocs
  • Default serializer is available for extension (see submit docs)

Changed

  • Links to source in the docs are no longer generated

0.8.2 - 2023-08-01

Fixed

  • Custom header pairs ([string, string][]) are now merged correctly on action submit (#35)

0.8.1 - 2023-05-25

Added

  • Usage docs for resolve
  • Re-export for Href and isHref to round out docs

Fixed

  • Re-export resolve (#32)

0.8.0 - 2023-05-25

Added

Changed

  • Project is now built with Node 18

Removed

  • Contribution guidelines and code of conduct, which now live here

0.7.0 - 2023-04-20

NOTE: This release includes breaking changes from v0.6.0.

Added

  • Support for relative URLs (#21)

Changed

  • For supporting relative URLs (#21), follow's RequestInit parameter is now nested in an options object
  • Serialization's contentType is now optional
  • The default serializer no longer requires checkbox fields to use the checked extension (#22)

Fixed

  • Submitting a multipart/form-data action now includes the boundary parameter (#23)

0.6.2 - 2023-03-15

Fixed

  • EmbeddedEntity's properties now default to an empty object (#19)

0.6.1 - 2023-03-08

Fixed

  • Made reflect-metadata a non-dev dependency (#18)

0.6.0 - 2023-03-06

NOTE: This release includes breaking changes from v0.5.0.

Removed

  • SirenClient has been removed in favor of top-level functions (see below)
  • Support for Node.js has been removed (for now), primarily for serialization simplification (#17). Including polyfills for File and FormData may resolve this.

Added

  • Top-level follow, submit, and parse functions (#12)
  • API documentation generated by TypeDoc

Changed

  • Redefined Siren element classes from @siren-js/core (#11)
  • Simplified default serializer (#17)

0.5.0 - 2022-01-22

Added

  • Default serializer for multipart/form-data actions (#8)

0.4.0 - 2021-12-05

Added

  • Support for custom serializers
  • Default serializer for text/plain actions

Changed

0.3.1 - 2021-06-12

Changed

  • Using @web-std/file in place of web-file-polyfill (fixes #6)

0.3.0 - 2021-06-02

Added

Changed

  • When creating entries for action submission, fields' name and value properties are converted according to the HTML standard.

0.2.1 - 2021-05-19

Fixed

  • When submitting an action, non-checkbox and non-radio fields with no value property are submitted with an empty string value, rather than "undefined" (#3).

0.2.0 - 2021-05-18

Added

  • The client class now has a headers property for customizing HTTP headers sent in each request. The property can be initialized via the constructor's options object (see the README).

0.1.0 - 2021-05-03

Added

  • Client class for communicating with a Siren server
    • fetch() method for hitting API entry point
    • follow() method for following links (including embedded links)
    • submit() method for submitting actions; currently, only actions whose type is "application/x-www-form-urlencoded" are supported.
  • Client Response wrapper for parsing Siren responses