Skip to content

Releases: Eignex/kpermute

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 21 May 13:54

Toolchain refresh: Kotlin 2.3.20, Gradle 9.5.1, kbuild 1.2.1.

What's Changed

  • chore: bump kbuild to 1.2.1 and gradle to 9.5.1 #7

Full Changelog: v1.1.2...v1.2.0

v1.1.2

Choose a tag to compare

@rasros rasros released this 27 Apr 08:07

Patch release that fixes a broken publish in v1.1.1.

  • fix: bump the com.eignex.kmp plugin to 1.1.4 to fix the broken release.

v1.1.1

Choose a tag to compare

@rasros rasros released this 27 Apr 08:07

Quality and tooling pass that splits interfaces into their own files, applies consistent formatting, and expands the set of published target platforms.

  • refactor: move each public interface into its own source file.
  • style: add an .editorconfig and apply project-wide formatting.
  • ci: add a linter step to the GitHub Actions workflow.
  • chore: update to the com.eignex.kmp plugin 1.1.1 and expand target platforms.
  • ci: remove a redundant clean step from the release workflow.

v1.1.0

Choose a tag to compare

@rasros rasros released this 27 Apr 08:07

Restructures the project as a Kotlin Multiplatform library so the permutation APIs can be consumed beyond the JVM.

  • build: migrate the build from JVM-only to Kotlin Multiplatform.
  • docs: update the README and documentation links to reflect the KMP layout.

v1.0.1

Choose a tag to compare

@rasros rasros released this 27 Apr 08:07

Maintenance release that updates the toolchain, tidies the release pipeline, and renames the publishing org from eigenity to eignex.

  • chore: update Kotlin and bump Gradle to 9.2.1.
  • refactor: rename the group/publisher from eigenity to eignex.
  • ci: simplify the release script and allow manual workflow runs.
  • ci: fix credential and environment variable handling in the release workflow.
  • docs: simplify README examples and refresh documentation.

v1.0.0

Choose a tag to compare

@rasros rasros released this 27 Apr 08:07

First public release of kpermute, a small Kotlin library that provides reversible bijective permutations over the full 32-bit Int range and the full 64-bit Long range, suitable for shuffling, ID obfuscation, and deterministic iteration without storing the permutation.

  • feat: implement IntPermutation covering the full 2^32 range with encode/decode and an unchecked hot path.
  • feat: add LongPermutation with a half-long variant, long utilities, and a factory method mirroring the int API.
  • feat: add ArrayIntPermutation for small/degenerate sizes and shared range/list utilities.
  • test: include extensive unit tests plus a statistical fuzzing test covering both int and long permutations.
  • build: ship a Gradle build with signing, code coverage via Kover, and a GitHub Actions release workflow.