Skip to content

Latest commit

 

History

History
116 lines (105 loc) · 10.4 KB

File metadata and controls

116 lines (105 loc) · 10.4 KB

Changelog

v2.0.2 - 2026-03-16

General Changes

  • fix(ci): prevent tagpr double-push from leaving cancelled test status by @Pon57 in #73
  • fix(ci): prevent tagpr double-push from leaving cancelled test status by @Pon57 in #74

Dependency Updates

  • fix(deps): update kotest to v6.1.6 by @renovate[bot] in #67
  • chore(deps): update actions/create-github-app-token action to v2.2.2 by @renovate[bot] in #69
  • chore(deps): update actions/create-github-app-token action to v3 by @renovate[bot] in #70
  • fix(deps): update kotest to v6.1.7 by @renovate[bot] in #71
  • fix(deps): update kotlin monorepo to v2.3.20 by @renovate[bot] in #72

v2.0.1 - 2026-03-10

Bug Fixes

  • fix: use defensive copy for shared DEFAULT_MINOR by @Pon57 in #60

General Changes

  • docs: clarify versioning policy and v2 changelog notes by @Pon57 in #53
  • docs: refine release note category titles by @Pon57 in #54
  • refactor: replace per-file @OptIn(ExperimentalUnsignedTypes) with module-level opt-in by @Pon57 in #55
  • perf: cache hashCode, short-circuit compareTo, and intern default index by @Pon57 in #57
  • refactor: consolidate rebalance threshold constants into single object by @Pon57 in #56
  • perf: cache FractionalIndex.default() as a singleton by @Pon57 in #58
  • perf: add encodedLength property to FractionalIndex by @Pon57 in #59
  • perf: zero-copy owned-minor construction in core insert paths by @Pon57 in #61
  • chore: remove unused kotest Gradle plugin to fix test api warning by @Pon57 in #64
  • perf: allocation-free compact minor estimation in scoring by @Pon57 in #63
  • perf: eliminate Pair allocations in parse path by @Pon57 in #62
  • Fix hashCode performance regression with a manual lazy cache by @Pon57 in #65
  • Revert "perf: cache FractionalIndex.default() as a singleton" by @Pon57 in #66

Dependency Updates

  • fix(deps): update kotest to v6.1.5 by @renovate[bot] in #51

v2.0.0 - 2026-03-08

Breaking Changes

  • fix!: use compact successor after FractionalIndex.default() by @Pon57 in #49
    • after(FractionalIndex.default()) now returns the compact successor 8080. In v1, the first key generated after FractionalIndex.default() was different.
      • This also affects nearby before(...), between(...), and rebalance(...) results around the default key
      • Existing canonical keys remain valid and continue to sort correctly
  • Redesign rebalance with multi-strategy optimization by @Pon57 in #50
    • FractionalIndexGenerator.rebalance(...) has been redesigned around optional inclusive endpoints instead of exclusive bounds.
      • Parameters were renamed from lowerExclusive / upperExclusive to lowerEndpoint / upperEndpoint
      • Non-null endpoints are now included in the returned list
      • When both endpoints are present, count now means the total number of returned keys, including the endpoints
      • Reversed endpoints are now invalid; callers must pass an ascending range
      • Exact rebalance output may differ from v1 because v2 uses a new optimization pipeline that prefers shorter layouts in major-gap, minor-gap, zero-major, pivot, and boundary cases

Note

The compact successor change was conservatively listed as breaking at the time. Under the versioning policy now clarified in the README, this change alone would not require a major bump, as existing keys remain valid. See Versioning.

Migration Notes

  • If you previously used rebalance(count, lower, upper) to generate count interior keys, change it to request the new total count including both endpoints
  • If you used named arguments, rename them to lowerEndpoint / upperEndpoint
  • If you passed bounds in arbitrary order, normalize them before calling rebalance
  • If you assert exact generated keys in tests, especially around FractionalIndex.default(), update the expected values for v2

Dependency Updates

  • chore(deps): update dependency com.android.kotlin.multiplatform.library to v9.1.0 by @renovate[bot] in #46
  • chore(deps): update gradle to v9.4.0 by @renovate[bot] in #48

v1.2.0 - 2026-03-02

General Changes

  • feat: add rebalance API with deterministic in-range key redistribution by @Pon57 in #44

v1.1.0 - 2026-03-01

General Changes

  • feat: add OrThrow APIs by @Pon57 in #42

v1.0.1 - 2026-03-01

General Changes

  • test: add benchmark quality regression tests by @Pon57 in #36
  • test: add relative and strict performance regression checks by @Pon57 in #38
  • ci: pin upload-artifact action in perf-strict workflow by @Pon57 in #40
  • refactor: split generator core and tests into internal modules by @Pon57 in #41

v1.0.0 - 2026-02-27

Breaking Changes

  • feat!: redesign key generation with tiered encoding by @Pon57 in #28

General Changes

  • build: enable Kotlin ABI validation and ABI check in CI by @Pon57 in #22
  • ci: run test workflow tasks at repository scope by @Pon57 in #23
  • chore: add KMP drag-and-drop sample app by @Pon57 in #24
  • docs: add Maven Central badge to README.md by @Pon57 in #25
  • chore: configure renovate automerge for patch updates by @Pon57 in #29
  • chore: configure project settings by @Pon57 in #30
  • docs: update demo video and fix example jvmRun task by @Pon57 in #31
  • feat: add codec parameter to Base64 encode/decode by @Pon57 in #32
  • feat: add sortable Base64 encoding that preserves sort order by @Pon57 in #33
  • docs: add versioning policy and remove pre-v1.0.0 warning by @Pon57 in #34
  • perf: reduce object allocations in between() hot path by @Pon57 in #35

Dependency Updates

  • chore(deps): update gradle/actions action to v5.0.2 by @renovate[bot] in #20
  • fix(deps): update kotest to v6.1.4 by @renovate[bot] in #26
  • chore(deps): update songmu/tagpr action to v1.17.1 by @renovate[bot] in #27

v0.0.4 - 2026-02-23

General Changes

  • ci: rename MavenCentral labels to Maven Central in publish workflow by @Pon57 in #18

v0.0.3 - 2026-02-23

General Changes

  • ci: add Gradle cache to tagpr workflow by @Pon57 in #12
  • Ci workflow tuning by @Pon57 in #14
  • Ci workflow tuning by @Pon57 in #15
  • Ci workflow tuning by @Pon57 in #16
  • ci: switch publish workflow to publishAndReleaseToMavenCentral by @Pon57 in #17

v0.0.2 - 2026-02-22

General Changes

  • Add test workflow by @Pon57 in #3
  • Configure tagpr to auto-update JS/Wasm lockfiles after version bumps by @Pon57 in #5
  • chore: Configure Renovate by @renovate[bot] in #6

Dependency Updates

  • chore(deps): update gradle/actions action to v4.4.4 by @renovate[bot] in #7
  • chore(deps): update actions/checkout action to v6 by @renovate[bot] in #8
  • chore(deps): update gradle/actions action to v5 by @renovate[bot] in #11
  • chore(deps): update actions/setup-java action to v5 by @renovate[bot] in #10

v0.0.1 - 2026-02-22