Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: SimY4/coregex

v1.4.2

12 Jan 05:16
@SimY4 SimY4
13fb823
This commit was signed with the committer’s verified signature.
SimY4 Alex
SSH Key Fingerprint: TBqqAiERimYDgMQBLf4t945tLZGgjP0G3HahmRLE7OE
Verified
Learn about vigilant mode.

Choose a tag to compare

Bugfix release addressing issues with broken group indexes.

🛠 [core] regex group indexes are now computed during parsing to escape issues with incorrect indexing at generation time.
🧰 [kotest] kotest updated to 6.0.7
🧰 [zio-test] zio-test updated to 2.1.24

Assets 2
Loading

v1.4.1

30 Nov 03:59
@SimY4 SimY4
07c9f32
This commit was signed with the committer’s verified signature.
SimY4 Alex
SSH Key Fingerprint: TBqqAiERimYDgMQBLf4t945tLZGgjP0G3HahmRLE7OE
Verified
Learn about vigilant mode.

Choose a tag to compare

This release is fully binary-compatible with 1.4.x release lineage.

This release widens support to more PBT testing frameworks and expands coverage of Scala versions up to 2.12 for existing integrations.

✨ [hedgehog-scala] New integration for hedgehog-scala framework.
✨ [scalacheck] Support for Scala 2.12.
✨ [zio-test] New integration for zio-test framework.
✨ [jetCheck] New integration for jetCheck framework.
🛠 [core] speed up regex numerics parsing
🛠 [core] fixed parsing for non-capturing group with flags (?idmsuxU-idmsuxU:)
🛠 [scalacheck] scalacheck no longer allows attaching generator implicits to all subtypes of String. Only String can be used for generation.
🧰 [kotest] kotest updated to 6.0.5
🧰 [scalacheck] scalacheck updated to 1.19.0

Loading

v1.4.0

01 Sep 07:14
@SimY4 SimY4
c6fc6f2
This commit was signed with the committer’s verified signature.
SimY4 Alex
SSH Key Fingerprint: TBqqAiERimYDgMQBLf4t945tLZGgjP0G3HahmRLE7OE
Verified
Learn about vigilant mode.

Choose a tag to compare

This release introduces binary-incompatible changes between the core library and testing framework extensions. These breaking changes do not affect end users.

The 1.4.0 release marks an important milestone for this project. Starting with this version, I consider the library feature-complete, supporting enough regex constructs to cover most practical string generation use cases (if you find something missing, talk to me—I’d like to know your use case). In fact, I strongly believe this library supports more regex syntax than any other competing solution in this space.

The final missing piece was the ability to generate strings from regex patterns containing lookahead and lookbehind clauses. You might not think this is necessary, but there are many cases where they become essential. For example, \b (word boundary) can now be implemented through lookaheads and lookbehinds. String length limits like (?!.{32,}).+ can only be implemented using negative lookahead, and so on. Several new regex metacharacters were implemented and a few more were re-implemented via lookaheads and lookbehinds: \A \b \B \R \z \Z ^ $.

💥 [core] Coregex.shrink() now returns Stream<Coregex> instead of Optional<Coregex>.
🛠 [core] support for lookahead (?=), negative lookahead (?!), lookbehind (?<=) and negative lookbehind (?<!) regex contructs.
🛠 [core] support for \A \b \B \z \Z metacharacters (desugared to lookahead and lookbehind predicates).
🛠 [core] support for \R
🧰 [kotest] kotest updated to 6.0.1

Loading

v1.3.0

24 Aug 01:36
@SimY4 SimY4
dbb1dac
This commit was signed with the committer’s verified signature.
SimY4 Alex
SSH Key Fingerprint: TBqqAiERimYDgMQBLf4t945tLZGgjP0G3HahmRLE7OE
Verified
Learn about vigilant mode.

Choose a tag to compare

This release carries binary incompatible changes in functional-java and Kotest integrations.

For functional-java APIs have been adjusted to be more idiomatic to the framework. Read the deets below for more info.

For Kotest, Kotest introduced ABI breaking changes in their 6.0 release so you'll need to update this dependency when updating from Kotest 5 to Kotest 6. Minimal required version for Kotest module has also being bumped from 8 to 11. This release has no other changes.

💥 [functional-java] CoregexArbitrary.gen(String), CoregexArbitrary.gen(String, int), CoregexArbitrary.shrink(String) and CoregexArbitrary.shrink(String, int) were replaced with CoregexArbitrary.gen(Pattern) and CoregexArbitrary.shrink(Pattern) to get rid of possibility of failure within arbitrary constructor.
🛠 [functional-java] new CoregexArbitrary.arbitrary(Pattern) API that returns both gen and shrink instance as a pair.
🧰 [kotest] kotest updated to 6.0.0
🧰 [vavr-test] vavr-test updated to 0.10.7

Loading

v1.2.0

28 Jun 09:19
@SimY4 SimY4
553ed8d
This commit was signed with the committer’s verified signature.
SimY4 Alex
SSH Key Fingerprint: TBqqAiERimYDgMQBLf4t945tLZGgjP0G3HahmRLE7OE
Verified
Learn about vigilant mode.

Choose a tag to compare

This release contains multiple binary breaking changes. Most of them are justified with significant performance gains that wouldn't be possible otherwise. The rest of them were removals of previously deprecated features, pushing for more idiomatic ways of using this library.

💥 [core] Coregex#generate(RNG) API changed to Coregex#generate(long). RNG interface was removed.
💥 [core] Coregex#minLength() and Coregex#maxLength() were removed from public API. This change is related to overall reimplementation of shrinking logic.
💥 [core] Coregex#sized(int), Coregex$Sized and Coregex#simplify() were removed. This was a weird hack that is no longer necessary.
💥 [core] Coregex$Group API constructors changed to follow regex patterns more closely.
💥 [core] Coregex$Literal was removed. Coregex#literal(String, int) method was introduced to create analogous Coregex.
💥 [core] Coregex$Set was removed. Set class now implements Coregex directly.
💥 [core] Pair class was removed. Pair was dropped from all APIs and no longer being used.
💥 [core] Set#sample(int) now returns OptionalInt to highlight it's partial nature.
💥 [core] Set#shrink() now returns Optional<Coregex>. Set directly implements Coregex and now shared the same contract for shrinking.
💥 [functionaljava-quickcheck] CoregexArbitrary#of methods were renamed to CoregexArbitrary#gen to accommodate for shrinking support
💥 [jqwik, kotest] CoregexArbitrary#withSize and CoregexArbitrary#withEdgecases methods were removed. Size as a concept was removed from core and there is a native way to add edgecases to any arbitrary - no need to roll our own
💥 [scalacheck, vavr-test] CoregexGen and CoregexGenenerator class methods no longer take size due to size as a concept was removed from core
🛠 [core] support for \n and \k back references
✨ [functionaljava-quickcheck] shrinking support
🛠 [kotest] fixed infinite loop in shrinking logic
🧰 [jqwik] jqwik updated to 1.9.3
🧰 [vavr-test] vavr-test updated to 0.10.6

Loading

1.1.0 functionaljava-quickcheck

23 Jan 06:06
@SimY4 SimY4
c3fe8d3
This commit was signed with the committer’s verified signature.
SimY4 Alex
SSH Key Fingerprint: TBqqAiERimYDgMQBLf4t945tLZGgjP0G3HahmRLE7OE
Verified
Learn about vigilant mode.

Choose a tag to compare

✨ [functionaljava-quickcheck] initial functionaljava quickcheck support
🛠 [core] support for non-capturing groups with given flags syntax: (?idmsux-idmsux:X).
🛠 [core] support for \S non-space characters metachar syntax.
🛠 [core] support for 0円n 0円nn and 0円mnn characters with octal value.
🛠 [core] for JDK 9+ support for \N{name} character with Unicode character name.
🧰 [jqwik] jqwik updated to 1.9.2

Loading

v1.0.11

12 Nov 23:44
@SimY4 SimY4
bcbea54
This commit was signed with the committer’s verified signature.
SimY4 Alex
SSH Key Fingerprint: TBqqAiERimYDgMQBLf4t945tLZGgjP0G3HahmRLE7OE
Verified
Learn about vigilant mode.

Choose a tag to compare

🛠 [core] support more "interesting" cases of char class intersections.

Loading

v1.0.10

12 Nov 13:10
@SimY4 SimY4
8691497
This commit was signed with the committer’s verified signature.
SimY4 Alex
SSH Key Fingerprint: TBqqAiERimYDgMQBLf4t945tLZGgjP0G3HahmRLE7OE
Verified
Learn about vigilant mode.

Choose a tag to compare

🛠 [core] support for char class intersection syntax &&.
🧰 [jqwik] jqwik updated to 1.9.1
🧰 [scalacheck] scalacheck updated to 1.18.1
🧰 [vavr-test] vavr-test updated to 0.10.5

Loading

v1.0.9

30 Jun 00:56
@SimY4 SimY4
2d88fcb
This commit was signed with the committer’s verified signature.
SimY4 Alex
SSH Key Fingerprint: TBqqAiERimYDgMQBLf4t945tLZGgjP0G3HahmRLE7OE
Verified
Learn about vigilant mode.

Choose a tag to compare

🛠 [core] regex groups now have their own Coregex subtree representation. It should have no effect on any generation logic for now.
🧰 [jqwik] jqwik updated to 1.9.0
🧰 [kotest] kotest updated to 5.9.1
🧰 [scalacheck] scalacheck updated to 1.18.0

Loading

v1.0.8

24 Feb 02:22
@SimY4 SimY4
f772ce9
This commit was signed with the committer’s verified signature.
SimY4 Alex
SSH Key Fingerprint: TBqqAiERimYDgMQBLf4t945tLZGgjP0G3HahmRLE7OE
Verified
Learn about vigilant mode.

Choose a tag to compare

🛠 [core] simplify parser
🛠 [scalacheck] simplify shrinker
🧰 [jqwik] jqwik updated to 1.8.3
🧰 [kotest] kotest updated to 5.8.0

Loading
Previous 1 3
Previous

AltStyle によって変換されたページ (->オリジナル) /