Skip to content

Releases: zyga/libzt

New paint job

25 Jun 22:19
v0.3.1
Compare
Choose a tag to compare
  • The build system has been updated to ZMK 0.3.6. This should fix
    current build issues encountered in Debian.

0.3 - the one-more-thing release

27 Apr 22:17
v0.3
Compare
Choose a tag to compare

This release brings many small improvements that result from using libzt on an
actual codebase and huge unexpected improvements to the build system and test
coverage. Internally the library is now built using https://github.com/zyga/zmk
which dramatically simplifies maintenance the sister library - libzc.

Changes in 0.3

  • Pointers captured in zt_value by zt_pack_pointer() are now constant.
    This allows testing pointers to constants with ZT_NULL and ZT_NOT_NULL.
    This does not impact the ABI.

  • Added ZT_CMP_PTR for comparing pointers for equality and inequality.
    Other relations are explicitly left out, at least for now.

  • ZT_CMP_INT and ZT_CMP_UINT now support maximum integral types of the
    architecture. This allows ZT_CMP_UINT to safely work with size_t values.

    This is achieved in a backwards compatible way. Existing test programs
    compiled and linked with libzt 0.1 or 0.2 retain their current semantic.

    The type zt_value has grown two new kinds, ZT_INTMAX and ZT_UINTMAX,
    along with new union members. The static inline pack functions
    zt_pack_integer and zt_pack_unsigned now take intmax_t and uintmax_t
    arguments respectively. Since they are always inlined this is not an
    ABI break. Test programs built with older definitions of the two pack
    functions use distinct kind (ZT_INTEGER instead of ZT_INTMAX and
    ZT_UNSIGNED instead of ZT_UINTMAX) which is now detected and handled
    by zt_cmp_int and zt_cmp_uint. Internally the values are promoted
    and comparison is always performed on the extended types.

  • The function zt_main() now displays both the test case name and the outcome
    of each test when invoked with "-v" command-line argument.

  • Libzt can now build for DOS as either 16bit or extended mode 32bit.
    Note that libzt-test.exe requires the DOS extender as it is too large to fit
    into 64K code segment.

  • The configuration system is more robust and can now detect the use of Gcc,
    Clang and the OpenWatcom compilers. Using OpenWatcom from the open-watcom
    snap allows cross-compiling libzt for DOS and other older targets.

  • The build system is now decoupled from libzt and can be used for other
    projects. Currently a copy resides in-tree but at some later date it may
    become a new development-only dependency. Distribution tarballs will not
    require any new dependencies.

  • The tree now contains comprehensive integration tests that build and
    exercise the library on several different Linux distributions. One of the
    tests cross builds libzt for DOS and tests it with DosBox and DOS/32
    extender.

libzt 0.2 - the-extra-polish-and-tweaks release

21 Feb 17:58
Compare
Choose a tag to compare

Some manual pages got updated. Some code got hardened. There's a new helper typedef.
This is a much more solid release for distribution packaging. All code remains compatible.

libzt 0.1

17 Feb 20:40
Compare
Choose a tag to compare

First public release to assist in packaging.