Skip to content

Releases: slevithan/regex

v6.1.0

Choose a tag to compare

@slevithan slevithan released this 09 Dec 01:33

🚀 Features

  • Added support for interpolating a standalone subroutine definition group via pattern. (#34)
  • Interpolated regexes and patterns avoid adding a (?:â€Ķ) wrapper in more cases when it's not needed.

v6.0.1

Choose a tag to compare

@slevithan slevithan released this 31 Jan 17:23
  • ./internals: Update plugin argument types.

v6.0.0

Choose a tag to compare

@slevithan slevithan released this 29 Jan 18:54

This version's breaking changes don't affect direct use of the library, so they won't affect most users. The modified APIs are used by tools that build on top of Regex+.

ðŸšĻ Breaking

  • Plugins: Expected return value changed from a string to an object with string property pattern.
  • Plugins: Hidden capture indices are now explicitly provided/returned, rather than embedded via markers in the pattern.
  • ./internals: Removed RegExpSubclass's undocumented support for capture transfer.
  • ./internals: Removed emulationGroupMarker; markers are no longer used for hidden captures.
  • rewrite: Renamed the returned expression property as pattern.

🚀 Features

  • Improved performance of the subclass option, especially with long patterns that contain extended syntax.

v5.1.1

Choose a tag to compare

@slevithan slevithan released this 26 Dec 23:39

🐞 Fixes

  • Edge case fix for emulation-only capturing groups with transfer markers (for libraries that use Regex+ internals).

v5.1.0

Choose a tag to compare

@slevithan slevithan released this 26 Dec 20:44

🚀 Features

  • Export emulationGroupMarker in ./internals.
  • Add support for emulation groups with capture transfer to RegExpSubclass.
    • Intended for use in libraries that build on Regex+ internals. This feature is undocumented and experimental.

v5.0.2

Choose a tag to compare

@slevithan slevithan released this 18 Nov 17:10

🚀 Features

  • Enables better tree shaking for ./internals.

v5.0.1

Choose a tag to compare

@slevithan slevithan released this 17 Nov 18:06

🚀 Features

  • Minor improvements for subclass types and error handling.
  • Updated logo for new library name.

v5.0.0

Choose a tag to compare

@slevithan slevithan released this 15 Nov 21:25

This library was renamed from just regex to Regex+, to make it easier to refer to the library and its regex flavor. The package and tag name remain regex as before, so this has no effect on code.

Version 5 is a minor update with small breaking changes that won't affect most people.

ðŸšĻ Breaking

  • Type files (d.ts) were moved from ./types to ./dist/esm and ./dist/cjs.
  • The undocumented ./atomic export added in v4.4.0 was renamed as ./internals.

🚀 Features

  • RegExpSubclass was made available via ./internals.

🐞 Fixes

  • Type resolution works correctly when using the library as CommonJS. (#29, @tao-cumplido)
  • When using option subclass and flag d, resulting subpattern indices are adjusted to account for emulation groups.

v4.4.0

Choose a tag to compare

@slevithan slevithan released this 01 Nov 17:55

🚀 Features

  • Added ./atomic to exports, allowing direct use of the atomic and possessive plugins in other libraries.

v4.3.3

Choose a tag to compare

@slevithan slevithan released this 02 Oct 15:52

🚀 Features

  • When an invalid regex throws, always include the generated source and flags in the error message (some browsers automatically include them, but Firefox and Safari don't).

🐞 Fixes

  • Convert numbers interpolated in enclosed \u{â€Ķ} to hexadecimal. In other words, although interpolating a string like regex`\u{${'160'}}` returns /\u{160}/, interpolating the number regex`\u{${160}}` in this context returns /\u{A0}/. (#24, @graphemecluster)