All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
3.0.0 - 2026-01
- Added the following files (for better management of contributions):
- CREDITS
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- CLA.md
- Added .gitkeep file into sevaral directories (e.g. ./obj) to keep them in the directory structure on GitHub
- Added a new function in the String Handling category to check FQDN validity (check_fqdn_validity())
- The unique file src/mixfApi.c in previous releases has been split into 4 files for increased readability
- All exposed funtions (i.e. those declared in headers/mixf.h) have been renamed due to a change in the name convention adopted (from UpperCamelCase to snake_case). For example, InitParamList() has been renamed in init_param_list()
- Boolean type and TRUE/FALSE macros have been substituted respectively with bool type and true and false values defined in stdbool.h
- in include/mixfApi.h type definitions have been renamed to denote new types with UpperCamelCase names
- in include/mixfApi.h the following macros have been renamed as follows:
- LONGSTRINGMAXLEN -> EXTENDEDSTRINGMAXLEN
- MEDIUM2STRINGMAXLEN -> LONGSTRINGMAXLEN
- in include/mixfApi.h type definitions for strings of various lengths have been slightly changed, to align their lengths to integer powers of 2
- Several routines in which string parameters whose lengths is checked and possibly truncated have been updated, to reflect new limits (see previous point)
- Changed README (content updated and format changed from plain text to markdown)
- Updated all examples to reflect the changes above
- The Boolean type previously defined and the corresponding macros TRUE* and FALSE have been removed (and substituted with bool type in stdbool.h)
- Removed RevHistory.txt (its content has been moved in this file, i.e. CHANGELOG.md)
- Deleted the libmixf.pdf guide in ./docs. Its content has been updated and moved into the README.md and related files
- Fixed bug in check_license(), that didn't work correctly when hostId was shorter than 8 chars
- Fixed bug in check_and_dump_ctr(), that causes a segmentation fault when base and aggregate dump times starts again from the beginning of the dump times string
- Fixed bug in check_ipv4_add_validity(), that provides a segmentation fault when the innput string is longer than 32 characters
2.1.0 - 2021-06
- Introduction of some new parameter types in the family of Configuration Files Handling functions (ipv4, mail, url) along with the corresponding functions needed to manage them, i.e.:
- AddMailParam()
- AddIPv4Param()
- AddUrlParam()
- GetMailParamValue()
- GetIPv4ParamValue()
- GetUrlParamValue()
- Introduction of the following functions in the String Handling category:
- CheckMailValidity()
- CheckIPv4AddValidity()
- CheckUrlValidity()
- GenerateToken()
- Optimization of Configuration File Handling functions (added dynamic parameters allocation vs static allocation employed before).
- Introduction of InitParamList()
- Changed name from libmisc to libmixf (a libmisc library was already available on sourceforge)
- Licensed under the Apache License, Version 2.0
- Changed names to Error Definition Macros in headers\mixf.h (to avoid conflicts with C standard library)
- Corrected some bugs in the following functions (License Handling):
- CreateLicense()
- CheckLicense()
- Added a new family of functions for Counters Handling
- First version
- Originally named libmisc
- License-free Software (i.e. Proprietary)
- Not released on GitHub
- Static/Dinamic C/C++ Library which contains several general purpose functions organized in the following families:
- File and File System Handling
- Time and Date Handling
- String Handling
- Configuration Files Handling
- Log Handling
- License Handling
- Lock Handling