Skip to content

Releases: pomsky-lang/pomsky

0.12.0 - 2025-11-08

08 Nov 11:05

Choose a tag to compare

Release Notes

New

  • RE2 flavor added

  • Intersection of character sets added, using the new & operator:

    [Thai] & [Nd] # equivalent to the regex [\p{Thai}&&\p{Nd}]
    

    Note that subtraction can be achieved by negating the character set to be subtracted:

    [Thai] & ![Nd] # equivalent to the regex [\p{Thai}--\p{Nd}]
    
  • Match Script Extensions, using the scx: or script_extensions: prefix:

    [scx:Syriac]
    

    Other Unicode properties also get optional prefixes:

    # old         # new         # alternative
    [Latin]       [sc:Latin]    [script:Latin]
    [InGreek]     [blk:Greek]   [block:Greek]
    [Letter]      [gc:Letter]   [general_category:Letter]
    

    Note that for the In prefix of Unicode blocks is omitted when the blk: or block: prefix is used. Unicode blocks with In instead of blk: will be deprecated.

  • pomsky test subcommand added to compile and test all *.pomsky files in a directory. This command ignores files matched by a .ignore or .gitignore file. For help, run pomsky test --help.

  • Unit tests can now be run with the Rust regex crate. To use it, specify --flavor=rust or --engine=rust.

  • Diagnostic to detect infinite recursion. If a recursive expression can never terminate, an error is shown.

Changes

  • lazy and unicode mode is no longer inherited when expanding variables.

    This changes the meaning of expressions such as this:

    let variable = 'test'*;
    enable lazy;
    variable
    

    Before Pomsky 0.12, the repetition was lazy, but now it isn't.

    The enable or disable statement has to appear before the repetition syntactically, it doesn't matter where the variable is used. The old behavior was too unintuitive and easy to mess up, so we fixed it.

  • Optimize single-character alternatives, and merge adjacent or overlapping ranges.

    For example, 'a' | ['bc'] | ['f'-'i'] is optimized to [a-cf-i].

    The order of character ranges in a set is no longer preserved. Currently, they are sorted in ascending order; for example, ['x' 'X' 'A'-'F' 'a'-'f'] becomes [A-FXa-fx].

  • No longer warn about lookbehind in JavaScript. Lookbehind is now widely supported.

  • Update Unicode support data for properties added in Unicode 15.x

Fixes

  • Allow supported Unicode binary properties in Java (previously, binary properties in Java were unsupported)

  • Link PCRE2 statically (previously it was linked dynamically, which doesn't work if PCRE2 isn't installed on the target system)

  • Allow Unicode blocks in Ruby, but not PCRE

  • Output [r] as \r, not as \n (this was a bug introduced by normalizing verbatim line endings in strings).

Install pomsky-bin 0.12.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/pomsky-lang/pomsky/releases/download/v0.12.0/pomsky-bin-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/pomsky-lang/pomsky/releases/download/v0.12.0/pomsky-bin-installer.ps1 | iex"

Install prebuilt binaries into your npm project

npm install @pomsky-lang/cli@0.12.0

Download pomsky-bin 0.12.0

File Platform Checksum
pomsky-bin-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
pomsky-bin-x86_64-apple-darwin.tar.xz Intel macOS checksum
pomsky-bin-x86_64-pc-windows-msvc.zip x64 Windows checksum
pomsky-bin-x86_64-pc-windows-msvc.msi x64 Windows checksum
pomsky-bin-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
pomsky-bin-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
pomsky-bin-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum

Release v0.11

09 Nov 09:25

Choose a tag to compare

This is a new release of Pomsky. See what's new in the changelog.

Installation

If you're running on Linux, macOS or Windows, you can use the binaries below.

On Arch Linux, you can install pomsky-bin from the AUR with

$ yay -S pomsky-bin

You can also build Pomsky with Cargo, Rusts package manager. To install the Rust toolchain, see the installation manual. Then run

$ cargo install pomsky-bin

You might have to add the .cargo/bin folder to your PATH afterwards.
Please file issues if you run into any problems or have suggestions.

Release v0.10

21 Mar 23:44

Choose a tag to compare

This is a new release of Pomsky. See what's new in the changelog.

Installation

If you're running on Linux, macOS or Windows, you can use the binaries below.

On Arch Linux, you can install pomsky-bin from the AUR with

$ yay -S pomsky-bin

You can also build Pomsky with Cargo, Rusts package manager. To install the Rust toolchain, see the installation manual. Then run

$ cargo install pomsky-bin

You might have to add the .cargo/bin folder to your PATH afterwards.
Please file issues if you run into any problems or have suggestions.

Release v0.9

14 Jan 20:17

Choose a tag to compare

This is a new release of Pomsky. See what's new in the changelog.

Installation

If you're running on Linux, macOS or Windows, you can use the binaries below.

On Arch Linux, you can install pomsky-bin from the AUR with

$ yay -S pomsky-bin

You can also build Pomsky with Cargo, Rusts package manager. To install the Rust toolchain, see the installation manual. Then run

$ cargo install pomsky-bin

You might have to add the .cargo/bin folder to your PATH afterwards.
Please file issues if you run into any problems or have suggestions.

Release v0.8

12 Dec 22:52

Choose a tag to compare

This is a new release of Pomsky. See what's new in the changelog.

Installation

If you're running on Linux, macOS or Windows, you can use the binaries below.

On Arch Linux, you can install pomsky-bin from the AUR with

$ yay -S pomsky-bin

You can also build Pomsky with Cargo, Rusts package manager. To install the Rust toolchain, see the installation manual. Then run

$ cargo install pomsky-bin

You might have to add the .cargo/bin folder to your PATH afterwards.
Please file issues if you run into any problems or have suggestions.

Release v0.7

10 Sep 17:44

Choose a tag to compare

This is a new release of Pomsky. See what's new in the changelog.

Installation

If you're running on Linux, macOS or Windows, you can use the binaries below.

On Arch Linux, you can install pomsky-bin from the AUR with

$ yay -S pomsky-bin

You can also build Pomsky with Cargo, Rusts package manager. To install the Rust toolchain, see the installation manual. Then run

$ cargo install pomsky-bin

You might have to add the .cargo/bin folder to your PATH afterwards.
Please file issues if you run into any problems or have suggestions.

Release v0.6

03 Aug 17:20

Choose a tag to compare

This is a new release of Pomsky. See what's new in the changelog.

Installation

If you're running on Linux, macOS or Windows, you can use the binaries below.

On Arch Linux, you can install pomsky-bin from the AUR with

$ yay -S pomsky-bin

You can also build Pomsky with Cargo, Rusts package manager. To install the Rust toolchain, see the installation manual. Then run

$ cargo install pomsky-bin

You might have to add the .cargo/bin folder to your PATH afterwards.
Please file issues if you run into any problems or have suggestions.

Release v0.5

04 Jul 18:40

Choose a tag to compare

This is a new release of Pomsky (formerly Rulex). See what's new in the changelog.

Installation

If you're running on Linux, macOS or Windows, you can use the binaries below.

You can also build Pomsky with Cargo, Rusts package manager. To install the Rust toolchain, see the installation manual. Then run

$ cargo install pomsky-bin

You might have to add the .cargo/bin folder to your PATH afterwards.
Please file issues if you run into any problems or have suggestions.

Release v0.4.3

19 Jun 14:11

Choose a tag to compare

This is a new release of rulex. See what's new in the changelog.

Installation

If you're running on Linux, macOS or Windows, you can use the binaries below.

On Arch Linux, you can install the AUR package with

yay -S rulex-rs-bin

You can also build rulex with Cargo, Rusts package manager. To install the Rust toolchain, see the installation manual. Then run

$ cargo install rulex-bin

You might have to add the .cargo/bin folder to your PATH afterwards.
Please file issues if you run into any problems or have suggestions.

Release v0.4.2

16 Jun 20:19

Choose a tag to compare

This is a new release of rulex. See what's new in the changelog.

Installation

If you're running on Linux, macOS or Windows, you can use the binaries below.
Alternatively, you can build rulex with Cargo, Rusts package manager. To install the Rust toolchain, see the installation manual. Then run

$ cargo install rulex-bin

You might have to add the .cargo/bin folder to your PATH afterwards.
Please file issues if you run into any problems or have suggestions.