Releases: argtable/argtable3
v3.3.1
This patch release fixes the following major issues:
- Fix the -Wstringop-truncation warning in the release build in the GCC toolchain.
- Remove the Git hash from the version tag.
- Use Docker for the build process.
- Enhance the CI pipeline to catch compiler warnings.
- Enhance the CI pipeline to catch memory issues with ASan and Valgrind.
Important
When downloading the source archive, make sure to use the source archives provided by the project team, rather than the auto-generated archives from GitHub. The GitHub-generated archives do not include the version.tag file in the root directory. Without this file, generating argtable3.pc with the correct version number may fail. Only the official assets released by the project team contain the version.tag file.
v3.3.0
This minor release merged the following improvement from the community:
- Enhance the Doxygen comments of the public API functions.
- Enhance the documentation in the
docsdirectory. - Publish (officially) the sub-command API functions and the dynamic string functions used for composing command output.
- Add the new
multicmdsample application that demonstrates how to implement a multi-command CLI. - Enhance GitHub Actions workflows, which can make sure that Argtable3 can be built in Visual C++, GCC, Clang, and MinGW64.
- Bug fixes since the last release.
Important
When downloading the source archive, make sure to use the source archives provided by the project team, rather than the auto-generated archives from GitHub. The GitHub-generated archives do not include the version.tag file in the root directory. Without this file, generating argtable3.pc with the correct version number may fail. Only the official assets released by the project team contain the version.tag file.
v3.2.2
v3.2.1
The major goal of this release is enhancing CMake scripts so Argtable3 can support the latest vcpkg manifest mechanism. Besides the vcpkg support, this release also has the following major improvements:
- docs: Describe vcpkg support
- fix: Add
-Wconversionto fix type conversion issues - feat: Use
BUILD_SHARED_LIBSto control lib type - fix: Add
version.tagto release archives
v3.2.0
This release has the following major improvements:
- feat: Switch to FreeBSD
getoptlibrary - feat: Automate creating amalgamation distribution
- feat: Add options to use
getopt_long_only - fix: Potential string overflows
- fix: Avoid GCC optimization errors for
trex_compile - chore: Make examples using the static library
- docs: Detect memory issues with ASan and Valgrind
Since we've automated the amalgamation distribution generation, we will start to provide the distribution archives again.
v3.1.5
This release has the following major improvements:
- fix: GCC8 and later gives warnings for strncpy and strncat
- fix: CTest always reports success even when there are failed tests
- fix: Remove unnecessary -Dargtable3_IMPORTS
- doc: Describe how to build and test configurations on all platforms
v3.1.4
This release has the following major improvements:
- doc: Describe how to build and test configurations on all platforms
- doc: Show how to run CMake and CTest commands to build and test
- fix: MSVC Release builds have compiler warnings
- fix: Only include tests when we enable ARGTABLE3_ENABLE_TESTS
- fix: VS2019 complains __cplusplus undefined
- fix: Fix MacOSX compiler and cmake warnings
- fix: Resolve VC and MinGW compiler errors and warnings
- fix: MSYS2 MINGW64 complains C++ comment and unknown pragma
- fix: Set empty string in reset function
- fix: Text longer than colwidth wasn't cutoff at whitespace boundary as intended
- fix: Added a new function arg_dstr_catc for appending char
- fix: Make argtable3 ISO C90
- fix: Assign execute permission to tools/build
- chore: Add Travis CI status image
- fix: Travis CI failed to run Conan package manager
- fix: Fail to build Conan package
v3.1.2
This release has the following improvement:
- chore: Update README and the root Makefile for the latest build system
- test: Add tests for all library types
- feat: Add version information to shared library
- chord: Remove manually created Makefiles
- chord: Add copyright notice of the libraries used in argtable3
- feat: Add Windows DLL library
- feat: Add static library and make examples link to libraries
- fix: Adapt CMake scripts to new project file structure
v3.1.0
This release has huge differences from the last one. Here are the major changes:
- Add original source files and the amalgamation generator utilities
- Add dynamic string utilities (
arg_dstr) used to generator output - Add hash table utilities (
arg_hashtable) used to store sub-commands - Add utilities (
arg_cmd) used to implement the sub-command mechanism - Use clang-format to unify the coding style
- Add new unit tests
- Fix warnings under strict compiler settings in VC and GCC
- Add
ARG_REPLACE_GETOPTto choose the built-in or systemgetopt - Add utilities to generate help messages
- Cleanup the mess after various pull requests