Skip to content

Release notes

  • Type Safety: Improved test suite with built-in type checking (#42)

    • Added dedicated Vitest configuration with type checking enabled
    • Support for declarative type tests using .test-d.ts files
    • Isolated package type checking to prevent cross-package type leakage
  • Build System: TypeScript and tooling improvements (#45)

    • Updated moduleResolution to "bundler" for Vite 5+ compatibility
    • Added skipLibCheck to avoid third-party type declaration issues
    • Fixed package.json exports to include explicit types field
    • Applied Biome 2.0 formatting with improved import sorting
  • README overhaul: Enhanced documentation with:
    • Better explanation of utility functions and their usage
    • Improved installation instructions for different package managers
    • More comprehensive examples for each supported platform
    • Clearer structure and formatting

Additional details on the next release will go here.

  • Remove Provider enum in favor of a provider registry or name-based detection.
    • All references to Provider.* are removed.
    • getProviderFromUrl(url) now returns an object with a .name field (e.g. "YouTube") instead of an enum entry.
    • ProviderIdFunctionMap and ProviderIdUrlFunctionMap no longer needed. Each provider is handled in its own module or by calling convertUrlToEmbedUrl(url).
  • Flexible provider approach:
    • Each provider has a consistent shape (name, getIdFromUrl, getEmbedUrlFromId).
    • A new or custom provider can be added to a registry or used independently without updating an enum.
  • Spotify: Extended detection/embedding beyond just track, album, playlist to also support artist, show, and episode links.
  • Improved TSDoc: Various files now include richer doc comments for Typedoc/TypeDoc generation.
  • Refactored unit tests to remove references to the old Provider enum.
  • New tests confirm that URL detection works with the new registry approach or direct function calls.

Maintenance release only, no bug fixes or new features.

  • Security: Fixes to mitigate polynomial regex expressions (#24)

    • Limit URL lengths for Loom, EdPuzzle, and Wistia
  • Move from prettier to biome (#27)

  • Move from eslint to oxc (#26) biome (#27)

    Faster linting, as it is rust-based.

  • Security: Fixes to mitigate polynomial regex expressions (#17)

    • Add plugins: eslint-plugin-redos-detector (redos-detector)

    • lib(matcher): Cap length to prevent some ReDoS vectors

    • Simplify regexes for EdPuzzle, Loom, Spotify, Wistia, YouTube

    • Remove generic URL regex: This regex is difficult to constrain

      • isValidUrl(): in favor of using URL() constructor directly to test URL validity.

  • Regex patterns will be set to be removed in future releases in favor of a typed, URL matching object (interface is to be determined).

Skipped directly to v0.1.0-next.7 due to publishing error.

  • Minimum Node.js version to v18+ (#12)

  • Move from jest to vitest

  • Prettier: Add css and JS import ordering
  • package.json: Add typings: 'dist/index.d.ts'

See commits

See commits

  • Fix for package.json

See commits

  • Move to vite (#8)

See commits

  • Move jest to devDependencies
  • Move from tsdx to rollup (#43)
  • Add matcher helper to generate regex matchers
  • Generic URL regular expression