9 Commits

Author SHA1 Message Date
a141938394 feat(shuffle)!: add Shuffle and ShuffleSlice functions (#11)
Add equivalent to `Shuffle` function from `math/rand` and `math/rand/v2`
packages, but based on randomness from `crypto/rand` package. This
allows cryptographically secure shuffling of data.

Also add `ShuffleSlice` function that shuffles a slice of any type.

BREAKING CHANGE: Minimum required Go version is now 1.18 due the `ShuffleSlice` using generics.
2025-03-10 23:50:25 +00:00
ec94efe49e ci(deps): upgrade release-action action 2025-03-07 01:15:50 +00:00
fe4308607c feat(strings/uuidv7): add UUIDv7 generation (#10)
The UUID v7 format is a time-ordered random UUID. It uses a timestamp
with millisecond precision in the most significant bits, followed by
random data. This provides both uniqueness and chronological ordering,
making it ideal for database primary keys and situations where sorting
by creation time is desired.

References:
- https://uuid7.com/
- https://www.ietf.org/archive/id/draft-peabody-dispatch-new-uuid-format-04.html#name-uuid-version-7
2025-02-28 02:16:32 +00:00
127ebbaa03 ci(benchmarks): set correct permissions for benchmarks job (#8) 2025-02-28 01:24:52 +00:00
16bd3ea3b9 feat(deps)!: upgrade to Go 1.17 and golanci-lint 1.64 (#5)
Upgrade to Go 1.17 and golangci-lint to 1.64, and fix the linting issues
that were found.

Also upgrade CI workflow actions to latest versions, and setup a test
matrix for relevant Go versions.

BREAKING CHANGE: Minimum Go version changed from 1.15 to 1.17.
2025-02-28 00:42:28 +00:00
8da5e1ef80 ci(release): setup release-please for managing releases and changelog (#4) 2025-02-28 00:24:59 +00:00
0a42d1e112 chore(deps): update golangci-lint to 1.43 2021-12-17 00:10:50 +00:00
53f7741451 ci(bench): fix missing benchmarks from stored reports/graphs 2021-01-20 08:54:43 +00:00
417d0b007c ci(github): add GitHub Actions CI workflow 2021-01-20 02:58:16 +00:00