Releases: shawnsmithdev/zermelo
Use standard library slices package, and remove golang.org/x/exp
- Update min go to go1.21
- Replaced `golang.org/x/exp/slices` with standard library `slices`
- Replaced deprecated `math/rand` with `crypto/rand`
- Removed `rand.Seed` calls as they are no longer needed
- Added standard library `slices.Sort` benchmarks
- In unsafe float code, use newer `Slice` and `SliceData` instead of `SliceHeader`
- replace use of `golang.org/x/exp/constaints` with our own versions and `cmp.Ordered`
v2.0.1 Improve docs, tests, benchmarks
- Improve docs, tests, benchmarks
- Removed go.sum from .gitignore
- Get ready for some go1.21 fun (!)
V2.0.0 - Version 2 - Generics Only
This is a major revision, and has breaking API changes. In particular, you will need to change all import string to github.com/shawnsmithdev/zermelo/v2
.
- New clean, generics-focused API
- All previous type-specific subpackages have been removed
- New benchmarks to compare performance of
sort.Sort
,slices.Sort
,zermelo.Sort
andzermelo.Sorter
- Float code (which uses unsafe now for reasons) is moved into a subpackage
- For the first time, zermelo has 100% code coverage!
v1.5.3 - NaN handling in FloatSorter, test cleanups
Fix nan handling in sorter, test cleanups
v1.5.2 - NaNs and deprecation documentation updates
- NaNs and deprecation documentation updates
- Update exp dependency
- More tests
v1.5.1 - Add missing docs, cleanup benchmarks
- Add missing documentation for new generic API
- Cleanup benchmark code
- Prep layout for v2 and removing old non-generic API
v1.5.0 - Add support for Generics
This commit represents the biggest change to zermelo
in years as it
adds support for go 1.18 generics. This means most of the old
subpackages are now obsolete, along with the old Sorter
and Sort
.
The tests have been thrown out and rewritten, and for now there's no
longer any benchmarks. This will likely be cleaned up over time.
The intention here is to keep backwards compatability with the old
non-generic interface, but there may have been mistakes made here and
there. The v1.x branch will strive to keep that API, but there will be a v2.x
eventually that will drop all that and thereby greatly simplify the public API.
For now this should be considered relatively rough code, compared to
the stability of zermelo up to now, but I've done what I can to test
it extensively. Any bug reports are greatly appreciated.
v1.0.4 (bugfix: sorted shortcut bug in uint32)
fixes #7
thanks to opennota for catch
Port shift optimization to remaining types
v1.0.1 Port shift optimization to remaining types
Release v1.0.0
zermelo
is fairly stable at this point, and folks already use it in several projects out there. Let's make it official.