Nemo CDB - Changes

Changes of the second generation of CDB routines and library.

This software is not compatible with…

  • CDBs created by Nemo CBD prior to version 3.0 or any version of DJB CDBs.

v3.3 - UNRELEASED

This release contains fixes. Particular emphasis is on cross platform compatibility.

Version Notes
• Changed Refactored die_*() routines.
• Fixed Compilation of cdbmake.c.
• Fixed Build system.
• Requires Nemo DJB Library v3.0 or later.
• Requires Nemo BufIO Library v3.0 or later.

v3.2.2 - January 28, 2019

This release contains small changes.

Version Notes
• Changed Renamed conf-home to conf-prefix.
• Changed cdbdump - code optimisation.
• Changed cdb_findnext() - code optimisation.
• Changed Removed executable bit from all files.
• Changed Minor changes to build system.
• Fixed cdbmake.sv - change name of substitution variable.
• Requires Nemo DJB Library v2.12 or later.
• Requires Nemo DJBIO Library v2.2.4 or later.

v3.2.1 - December 28, 2017

This release contains small changes.

Version Notes
• Changed Implement #include <nemo/macro_noreturn.h> from Nemo DJB Library.
• Changed Implement #include <nemo/macro_unused.h> from Nemo DJB Library.
• Changed Minor changes to build system.
• Requires Nemo DJB Library v2.10 or later.
• Requires Nemo DJBIO Library v2.2.3 or later.

v3.2 - August 18, 2017

This release contains new features, optimisations and fixes. Particular emphasis has been on cross platform compatibility.

Tested on Linux raspberrypi 4.9.35-v7+ #1014 SMP, armv7l GNU/Linux - Raspbian with Desktop, 32 bit platform.

Version Notes
• Changed conf-cc - expand examples.
• New cdb_open() - convenience wrapper.
• New cdb_close() - convenience wrapper.
• Fixed st.st_size <= 0xffffffff to st.st_size <= (signed)0xffffffff.
• Fixed cdb_*.c - reorganised includes.
• Fixed cdb_read() - cast seek_set() offset to off_t.
• Fixed cdb_make_start() - cast seek_set() offset to off_t.
• Fixed cdb_*.c - changed source formatting to over come -Werror=misleading-indentation compile warnings in gcc 6.3.x
• Requires Nemo DJBIO Library v2.2.2 or later.

v3.1 - February 12, 2017

Version Notes
• API change cdb_seek() and cdb_bread() - removed old style interface routines.
• Changed cdbdump(1) - formatting changes
• Changed Accommodate changes in Nemo DJBIO Library v2.2.1.
• Changed print-docman.sh and print-mancat.sh - removed second parameter, output now to stdout.
• Changed print-docman.sh - renamed to print-sedit.sh.
• Changed Minor changes to build system.
• Removed FILES - unused and high maintenance.
• Removed trycpp.c
• Requires Nemo DJB Library v2.7 or later.
• Requires Nemo DJBIO Library v2.2.1 or later.

v3.0.3 - June 20, 2016

Version Notes
• Changed conf-cc - add comment about building on gcc+glibc platform.
• Fixed Minor changes to build system.
• Requires Nemo DJB Library v2.5.2 or later.
• Requires Nemo DJBIO Library v2.1.5 or later.
• Removed choose.sh

v3.0.2 - March 30, 2016

Version Notes
• Changed hier.c - implemented unsigned int install_manuid from Nemo DJB Library v2.5.1.
• Requires Nemo DJB Library v2.5.1 or later.

v3.0.1 - December 2, 2015

Version Notes
• Changed cdb_seek.c - replaced lseek() routines with seek_set(), minor code optimisations.
• Changed Accommodate changes in Nemo DJB Library v2.5.
• Fixed cdb_seek.c - compiler error, missing #include declaration.
• Requires Nemo DJB Library v2.5 or later.

v3.0 - September 18, 2015

Version Notes
• Changed Replaced existing hash algorithm with siphash24() hash algorithm from Nemo DJB Library v2.4.
• Requires Nemo DJB Library v2.4 or later.

v2.1.1 - July 31, 2015

Version Notes
• Changed Accommodate changes in Nemo DJB Library v2.2.4.
• Changed Manual pages - incorporate first line of file 'VERSION' into footer.
• Requires Nemo DJB Library v2.2.4 or later.

v2.1 - June 29, 2015

Version Notes
• New cdbmake-12(1) - manual page.
• API change cdb_read() - function now refers to void *, formerly char *.
• API change cdb_hash() - function now refers to const void *, formerly const char *.
• API change cdb_find() - function now refers to const void *, formerly const char *.
• API change cdb_findnext() - function now refers to const void *, formerly const char *.
• API change cdb_unpack() - function now refers to const void *, formerly const char *.
• API change struct cdb_make - member data items changed from char to byte_t.
• API change cdb_make_add() - function now refers to const void *, formerly const char *.
• API change cdb_datapos() - Converted to inline function. Changed parameter to a const.
• API change cdb_datalen() - Converted to inline function. Changed parameter to a const.
• API change cdb_make_add() - Changed 4th parameter to a const.
• Changed Makefile - implemented c-auto-define to create __UNUSED__ macro.
• Changed Various minor code optimisations.
• Fixed Accommodate API changes in Nemo DJB Library v2.1.
• Fixed Accommodate API changes in Nemo DJBIO Library v2.1.
• Fixed Stricter compiler error reporting.
• Requires Nemo DJB Library v2.1 or later.
• Requires Nemo DJBIO Library v2.1 or later.

v2.0.2 - April 1, 2015

Version Notes
• New cdbdump(1) - manual page.
• New cdbget(1) - manual page.
• New cdbmake(1) - manual page.
• New cdbstats(1) - manual page.
• New cdbtest(1) - manual page.

v2.0.1 - January 25, 2015

Version Notes
• New MAP_FAILED constant for detection of failed mmap(3) calls.
• Changed Minor changes to build process.
• Changed Minor formatting changes to manual pages.
• Removed "systype" processing.

v2.0 - January 22, 2015 - Major Changes from Original Distribution

General:

Version Notes
• New Manual pages created for existing routines.
• New Makefile target: "clean".
• New To avoid name clashes with header files, the header files are installed in a subdirectory "nemo" (in the includes directory).
• API change Changed many signed return values into unsigned return values.
• Changed Build/installation framework provided by Nemo DJB Library (nemo-libdjb).
• Changed Many routines replaced by those found in Nemo DJB Library (nemo-libdjb).
• Changed Routines that used the 1st generation of buffered I/O are now using Nemo DJBIO Library (nemo-libcdb) based buffered I/O.
• Changed Converted K&R prototypes to ANSI.
• Changed All manual pages have been converted to mdoc(7) format.
• Changed Additional annotations/comments - some source code files.
• Changed Using some of the standard integer types in the POSIX standard.
• Changed Changed many signed integers into unsigned integers.
• Changed All public header files are compatible with C++ development environments.
• Changed Source code formatting is now "Compact Control Readability Style" - variant of K&R, similar to the Stroustrup variant.
One exception: single line conditional returns are on same line as the conditional.
Long lines are rarely wrapped.
Indent size is two spaces.
• Fixed Resolved all compile errors and warnings from the GNU C compiler (-W -Wall -Werror).
• Fixed Implemented errno fix - patched source code to use #include <errno.h>
• Fixed In scripts and the Makefile, all references to "head -1" have been changed to "head -n 1".
• Requires Nemo DJB Library v2.0 or later.
• Requires Nemo DJBIO Library v2.0 or later.

Libraries:

Version Notes
• New libcdb.a - the main library.