Skip to content

v1.0.0

Compare
Choose a tag to compare
@lxsmnsyc lxsmnsyc released this 12 Dec 04:10
· 55 commits to main since this release

What's Changed

  • Introduce createStream a403955
    • This function provides a universal streaming primitive that users can use. ReadableStream isn't a JS standard and so there was no counterpart to Promise when it comes to streaming data, so I had to introduce a minimal streaming primitive that is both portable and serializable.
  • Create seroval-plugins 22dcc59
    • This package is dedicated for authoring plugins.
    • Given that createStream has been introduced, seroval is no longer dependent from the ReadableStream API, which makes seroval no longer tied to the Web API too.
  • Move the following Web API support to seroval-plugins/web
    • Blob
    • CustomEvent
    • DOMException
    • Event
    • File
    • FormData
    • Headers
    • ReadableStream
    • Request
    • Response
    • URLSearchParams
    • URL
  • Deprecate some feature flags. The following features can no longer be disabled:
    • Set
    • Map
    • Promise
    • BigInt
    • TypedArray
    • Symbol
    • WebAPI
  • Plugin parsing is now on a higher priority, which would allow users to customize serialization for things like plain objects.
  • Promise and AsyncIterable is now supported in sync mode, but will only generate a non-resolving instance.
  • Add extends option to Plugins API. This allows the plugins to require other plugins in case the feature is required (e.g. Request relies on both Headers and ReadableStream)

Fixes

  • Fix RegExp serialization
  • Fix string deserialization
  • Fix plugin tag deserialization check
  • Fix treeshaking for top-level variables

Full Changelog: v0.15.1...v1.0.0