aklomp / base64

Fast Base64 stream encoder/decoder in C99, with SIMD acceleration
BSD 2-Clause "Simplified" License
866 stars 162 forks source link

Cleanup round (no functional inpact) before releasing v0.4.0 #55

Closed aklomp closed 4 years ago

aklomp commented 4 years ago

I would like to release a new library version (v0.4.0) which puts a tag on the code that everyone has been using for the last few years. This will make room to introduce some breaking changes from here on forward.

However, before we can release, the code is in need of a cleanup round. The codebase has accumulated a lot of patches from various contributors, in various different styles. This has led to some inconsistencies with how things are done, as well as diminished the quality of comments, and accumulated dead code.

Objective: push a set of commits which fix many of these issues, without introducing any functional changes. The library code, as seen by the compiler, must remain unchanged from what it is now, to avoid regressions for anyone switching to this new version.

BurningEnlightenment commented 2 years ago

Maybe it's time for a 0.4.1/0.5.0/1.0.0 release due to the same reasons?

aklomp commented 2 years ago

Yes, I intend to do a new release once everyone is happy with the cmake stuff. The reason is that I might want to make some API changes, like remove the avx codec (which is identical to ssse3 right now) and rethink the runtime feature detection a bit.

BurningEnlightenment commented 2 years ago

Can you create a meta-issue (and perhaps a milestone) to track the open work?

aklomp commented 2 years ago

I created #90 to release v0.5.0, and added a milestone to tag issues with that version.

I won't be releasing v1.0.0 just yet because I am seriously unhappy with the API for this library. The issues raised in #65 are real. I'd like to get rid of the codec "forcing" stuff and replace it with a form of runtime discovery of supported/runnable codecs.