Skip to content

Releases: aquefir/hinterlib

Integration of Mersenne–Twister 19937, and revival of tables module

27 Oct 20:55
9769876
Compare
Choose a tag to compare

This is a release that has been months in the making by this point. The table/ module provides a general-purpose system for keyed data store, and for key generation it has depended on the generation of random integers.

This originally used the Mersenne–Twister 19937 algorithm, as supplied by Aquefir’s dedicated mt19937lib, but this proved to be a serious challenge to the architecture of unilib itself, for two reasons:

  1. the original mt19937lib implementation simply wrapped the implementation in the C++11 STL, creating a library dependency on the C++11 standard library. this was untenable for the kinds of systems unilib is intent on targeting.
  2. the structure of the unilib project was becoming increasingly monolithic, and the dependency on the outside mt19937lib would have forced it to be subsumed into the project. unilib needed to be broken apart along modular boundaries before the Mersenne–Twister algorithm could be depended on.

The second item got done and became the 1.1 product release, and a while back the algorithm was reimplemented in ANSI C. Today these changes were finally put together, and this has allowed the table module to finally enter production starting with semver 1.3.0.

hotfix for cascading dependencies

15 Oct 10:15
59b73a6
Compare
Choose a tag to compare
v1.1.0-1.2.1

err depends on log

New modular layout!

15 Oct 09:42
41cc413
Compare
Choose a tag to compare
v1.1.0-1.2.0

update all Makefiles to support PUBHFILES and PRVHFILES

Final minor updates of the 1.0 product series

15 Oct 09:41
41cc413
Compare
Choose a tag to compare

The unilib project is accreting a lot of useful functionality. Most recently, efforts to integrate mt19937lib have shown that the project is starting to become quite monolithic. Rather than take the workable path of subsuming mt19937lib into unilib, unilib will be split up into its different modules, in such a way that dependency graphs can be plotted for each module, and modules not depended on are not included as a dependency. This will not break unilib’s public API, but unilib will be more of an ‘umbrella project’ from then instead. This is the last release of the increasingly monolithic unilib, in (product version (symver) 1.0. The API (semver) version will continue to be in the 1.x range.

Update a lot of text

26 Aug 14:18
2e22c0b
Compare
Choose a tag to compare

This release disseminates a lot of boilerplate updates, and fixes the library version in ver.h (it wasn’t updated last time). This includes:

  • the comment boilerplates in all sources
  • the titling of the project in the comment boilerplate and any text files it appeared in
  • a rewrite of the project README
  • moving the BOILERPLATE into etc/ as per ADP 1

Product increment, public API bump to v1.1

20 Aug 13:58
bfb1094
Compare
Choose a tag to compare

This includes a lot of battle tested quality improvements, and a ton of new public API modules. It is also the first release to support the Nintendo Game Boy Advance. It maintains 1.x compatibility in its public API, however I opted not to increment the minor product version as this is, for all my intentions, a much more proper “1.0” release. This version of unilib is complete enough to replace most Aquefir and related applications’ dependency on GLib.

v1.0: Initial release

24 Mar 03:59
ec84b9a
Compare
Choose a tag to compare

Aquefir One provides unintrusive glue code for nearly all C projects developed & maintained by @aquefir and @arqadium. This release marks the start of its stable public API version 1.0.0, coincidentally shipping with product v1.0 as well.