Tags: elzinko/kexpresso
Tags
chore(release): prepare 0.9.0 (API freeze candidate) (#53) - build.gradle.kts: default version 0.8.0 → 0.9.0. - README install snippets synced to 0.9.0 via scripts/sync-readme-version.sh (the ci.yml guardrail requires README == gradle version). - CHANGELOG: [Unreleased] → [0.9.0] - 2026-06-11, with a freeze-candidate preamble: stable core is final-shaped, best-effort APIs are @ExperimentalKexpressoApi, deprecated names (capitalLetter, pseudo, space) carry ReplaceWith quick-fixes and disappear in 1.0. Migrating off the deprecated names now makes 1.0 a no-op upgrade. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
chore(release): prepare 0.8.0 (first Maven Central release) (#47) * chore(release): prepare 0.8.0 (first Maven Central release) - Switch the release workflow to publishAndReleaseToMavenCentral so a tagged release auto-publishes to Maven Central after Central's validation (no manual Portal click). docs/PUBLISHING.md updated to match. - Roll [Unreleased] into [0.8.0]: first Central release + the Kotlin 2.0.21 (K2) / Dokka 2 / detekt 1.23.8 / kover 0.8.3 toolchain modernisation. - Bump in-development default version to 0.8.0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(release): publish to Maven Central before GitHub Packages (review) Central's validation can fail (esp. first setup) and publishAndReleaseToMaven Central makes that part of the step. Running it AFTER the immutable GitHub Packages upload meant a Central failure left an immutable GH Packages version, so re-tagging the same version hit duplicate-artifact errors. Reorder so Central (preflight + publish) runs first; a failure now leaves GH Packages untouched → clean re-tag. docs/PUBLISHING.md wording updated to match. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
chore(release): prepare 0.7.0 (#45) Rolls [Unreleased] into [0.7.0]: Maven Central publishing + GPG signing (groupId -> io.github.elzinko), pattern.examples(n), the runnable :samples module, and four new helpers (ipv6, macAddress, base64, jwt). Bumps the in-development default version to 0.7.0 and resyncs docs/ROADMAP.md. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
chore(release): prepare 0.6.0 (#40) Rolls [Unreleased] into [0.6.0]: Apple + iOS native targets are now published (the release runs on a macos-latest runner and publishes every target from a single host with complete metadata) + the Apple & Native PR workflow. Bumps the in-development default version to 0.6.0. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
chore(release): prepare 0.5.0 (#32) The multiplatform release. Rolls [Unreleased] into [0.5.0]: - Kotlin Multiplatform (JVM + JS + Wasm + Native), Kotlin 1.9.24. - Portable literal escaping; toPattern() → JVM extension; jacoco → Kover; JMH removed; multi-target publishing. - Breaking: target-suffixed Maven coordinates; some constructs JVM-only at runtime. Also makes the publishing scope honest (the point raised in review): the release runs on Linux, so published targets are jvm/js/wasmJs/linuxX64/mingwX64; macOS Native builds from source only — a macOS release runner is a roadmap follow-up. README + ROADMAP updated; version bumped to 0.5.0. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
chore(release): prepare 0.4.0 (#27) - CHANGELOG: roll [Unreleased] into [0.4.0] — the Reverse API (regex -> DSL) plus a Security section documenting the supply-chain & quality hardening (CodeQL, Scorecard, Dependabot, SHA-pinned actions, release provenance + checksums, coverage gate). Add compare links. - Bump in-development default version to 0.4.0. - ROADMAP: mark 0.4.0 shipped; Kotlin Multiplatform is the next bet. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
chore(release): prepare 0.3.0 (#15) - CHANGELOG: roll [Unreleased] into [0.3.0] (honest enabler + benchmarks, ReDoS analysis, AST spine + describe(), typed captures); add compare links. - Bump in-development default version to 0.3.0. - ROADMAP: mark 0.3.0 shipped (incl. describe/typed-captures/AST landed early); reframe the path to 1.0 with Reverse (regex -> DSL) as the next bet. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
chore(release): prepare 0.2.0 (#10) - Reorganise CHANGELOG: move lookarounds and the distribution/release pipeline into the [0.1.0] section (they shipped in the v0.1.0 tag), and group the post-0.1.0 work under a new [0.2.0] section (domain helpers, DSL completions, composition & escape hatch, string-operations API, Gradle 8, hosted docs). - Add changelog compare links for 0.2.0. - Bump the in-development default version to 0.2.0. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
feat(dsl): add lookaround support (lookahead & lookbehind) (#5) Lookarounds were the main missing regex capability. Adds four fluent, documented constructs to KexpressoBuilder that assert a condition at the current position without consuming characters: - followedBy { } -> positive lookahead (?=...) - notFollowedBy { } -> negative lookahead (?!...) - precededBy { } -> positive lookbehind (?<=...) - notPrecededBy { } -> negative lookbehind (?<!...) Includes KDoc with verified examples, 5 new TDD tests (93 total, 100% line coverage), a README "Lookarounds" reference subsection, and a CHANGELOG entry. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>