Skip to content

Commit bb08517

Browse files
committed
chore: update changelog, remove coverage
1 parent a096ed4 commit bb08517

File tree

2 files changed

+63
-50
lines changed

2 files changed

+63
-50
lines changed

.github/workflows/test.yml

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -74,53 +74,3 @@ jobs:
7474

7575
- name: Build and run tests
7676
run: env PCRE2_SYS_STATIC=1 cargo test
77-
78-
coverage:
79-
runs-on: ubuntu-latest
80-
steps:
81-
- name: Checkout
82-
uses: actions/checkout@v5
83-
84-
- name: Setup Rust
85-
uses: dtolnay/rust-toolchain@nightly
86-
87-
- name: Setup Java
88-
uses: actions/setup-java@v5
89-
with:
90-
java-version: '24'
91-
distribution: temurin
92-
93-
- name: Setup .NET
94-
uses: actions/setup-dotnet@v4
95-
with:
96-
dotnet-version: '7.x.x'
97-
98-
- name: Setup Deno
99-
uses: denoland/setup-deno@v1
100-
with:
101-
deno-version: v2.x
102-
103-
- name: Setup grcov
104-
env:
105-
TAG: v0.8.19
106-
run: |
107-
mkdir -p ~/.local/bin
108-
curl -sL https://github.com/mozilla/grcov/releases/download/$TAG/grcov-x86_64-unknown-linux-gnu.tar.bz2 | tar jxf - -C ~/.local/bin
109-
echo ~/.local/bin >> $GITHUB_PATH
110-
111-
- name: Run grcov
112-
env:
113-
PROJECT_NAME: pomsky
114-
RUSTFLAGS: '-Cinstrument-coverage -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
115-
RUSTDOCFLAGS: '-Cpanic=abort -Zpanic_abort_tests'
116-
CARGO_INCREMENTAL: 0
117-
run: |
118-
rustup component add llvm-tools-preview
119-
PCRE2_SYS_STATIC=1 cargo test
120-
grcov . -s . -t lcov --llvm --ignore-not-existing --ignore "/*" --ignore "pomsky-bin/src/test.rs" --ignore "target/*" -o lcov.info -b ./target/debug/pomsky
121-
122-
- name: Coveralls upload
123-
uses: coverallsapp/github-action@v2
124-
with:
125-
github-token: ${{ secrets.GITHUB_TOKEN }}
126-
files: 'lcov.info'

CHANGELOG.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,69 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### New
11+
12+
- Support for the RE2 flavor
13+
14+
- Intersection of character sets. For example, `[Letter] & [Latin]` matches a letter that is also in the Latin script.
15+
16+
- Character class prefixes: `gc:` (general category), `sc:` (script), `scx:` (script extension), `blk:` (blocks).
17+
For example, `[scx:Syriac]` matches all characters with the Syriac script extension.
18+
19+
- Adds support for script extensions (currently supported in PCRE, JavaScript, and Rust)
20+
- If the `blk:` prefix is used, `In` must be removed; e.g. `[InPrivate_Use]` becomes `[blk:Private_Use]`
21+
- Writing the prefix is optional, except for script extensions
22+
23+
- A `pomsky test` subcommand for running unit tests
24+
25+
- Two supported regex engines for testing: `pcre2` and `rust`
26+
- The `--test` argument is now deprecated
27+
28+
- Many optimizations (see below)
29+
30+
### Changed
31+
32+
- Change hygiene of `lazy` and `unicode` mode to behave as one would expect.
33+
Going forward, modes depend on the scope where an expression is defined, not where it is used:
34+
35+
```pomsky
36+
let foo = 'foo'*; # this repetition is not lazy
37+
(enable lazy; foo)
38+
```
39+
40+
- Increase the maximum length of group names from 32 to 128 characters.
41+
Group names this long are supported in PCRE2 since version 10.44.
42+
43+
- Produce an error if the contents of a lookbehind assertion are not supported by the regex flavor (Java, Python, PCRE)
44+
45+
- Produce an error if infinite recursion is detected
46+
47+
- Remove the compatibility warning for lookbehind in JavaScript.
48+
Lookbehind is now widely supported in JavaScript engines.
49+
50+
- Allow all supported boolean Unicode properties in the Java flavor
51+
52+
- Deprecate the `--test` argument; use `pomsky test -p <PATH>` instead
53+
54+
### Optimizations
55+
56+
- De-duplicate and merge character ranges: `['b' 'a'-'f' 'c'-'m']` becomes `[a-m]`
57+
58+
- Note that this doesn't work with Unicode classes, e.g. `Alphabetic`
59+
60+
- Merge common alternation prefixes: `'do' | 'double' | 'down'` becomes `do(?:uble|wn)??`
61+
62+
- This only works with string literals and character sets, for now
63+
- Only adjacent alternatives can be merged to ensure that precedence isn't affected
64+
65+
- Combine single-character alternations into a set: `'a' | 'b' | 'c' | 'f'` becomes `[a-cf]`
66+
67+
- Merge constant nested repetitions: `('a'{3}){4}` becomes `a{12}`
68+
69+
### Bugfixes
70+
71+
- Do not miscompile `[r]`
72+
1073
## [0.11.0] - 2023-11-09
1174

1275
### New

0 commit comments

Comments
 (0)