Skip to content

Releases: shawnsmithdev/zermelo

Use standard library slices package, and remove golang.org/x/exp

10 Aug 20:26
385516e
Compare
Choose a tag to compare
- 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

09 Aug 07:49
def485a
Compare
Choose a tag to compare
  • Improve docs, tests, benchmarks
  • Removed go.sum from .gitignore
  • Get ready for some go1.21 fun (!)

V2.0.0 - Version 2 - Generics Only

23 May 16:58
d9207db
Compare
Choose a tag to compare

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 and zermelo.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

18 May 01:33
bb6027d
Compare
Choose a tag to compare
Fix nan handling in sorter, test cleanups

v1.5.2 - NaNs and deprecation documentation updates

06 May 21:07
8f0142e
Compare
Choose a tag to compare
  • NaNs and deprecation documentation updates
  • Update exp dependency
  • More tests

v1.5.1 - Add missing docs, cleanup benchmarks

14 Apr 21:48
17839ea
Compare
Choose a tag to compare
  • 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

12 Apr 19:54
aaa7351
Compare
Choose a tag to compare

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)

18 May 17:54
Compare
Choose a tag to compare

fixes #7
thanks to opennota for catch

Port shift optimization to remaining types

19 Jun 04:23
Compare
Choose a tag to compare
v1.0.1

Port shift optimization to remaining types

Release v1.0.0

17 Jun 04:55
9547017
Compare
Choose a tag to compare

zermelo is fairly stable at this point, and folks already use it in several projects out there. Let's make it official.