- Count emoji and pictographs with East Asian Width
W(Unicode 15.0) as two columns wide when calculating width of utf8 strings, so tables with emoji are aligned correctly (#77).
- Add
check_version.pyscript and CI step to check that version in headers, CMake files,ChangeLog.mdand release tag is consistent. CI is also run on release tags now. - Add
CMake lintCI job withcmakelintcheck of all CMake files (it was lost when CI moved from Travis to GitHub Actions).
- Preserve stream formatting state (e.g.
std::hex,std::setprecision,std::setfill) when C++ tables are copied or moved (#75). - Fix possible memory leak in C++ table copy constructor and copy assignment operator when an exception is thrown.
- Fix include and library paths in pkg-config file
libfort.pcwhen absoluteCMAKE_INSTALL_INCLUDEDIRorCMAKE_INSTALL_LIBDIRis used (e.g. in Nix packages) (#76).
- Update Doxygen configuration for Doxygen 1.9.8 and switch documentation to doxygen-awesome-css theme.
- Fix building libfort as a shared library (DLL) on Windows: export of symbols and import library generation (#66).
When libfort is used as a DLL without CMake, define
FT_SHARED(andFT_BUILDING_LIBRARYwhen building the DLL itself). - Fix installation path of pkg-config file
libfort.pcand include directory in it when non-defaultCMAKE_INSTALL_LIBDIRorCMAKE_INSTALL_INCLUDEDIRis used (e.g.lib64). - Fix conflict of
headerstarget with targets of the parent project when libfort is added viaadd_subdirectory(the target is renamed tolibfort_headers).
- Add integration tests (install,
find_package,add_subdirectory) on Windows and macOS to CI. - Add builds of shared library with MSVC to CI.
- Add code coverage reports to Codecov.
- Publish documentation to GitHub Pages via GitHub Actions.
- Add function
ft_col_count()to get number of columns in the table.
- Fix
ft_printf_lnwhen it is used for position which have empty cells before it. - Fix invalid
enum ft_colorvalues. - Fix configuration with CMake 4.x (minimum required CMake version is 3.10 now).
- Migrate CI from Travis CI, AppVeyor, Cirrus CI and Drone to GitHub Actions.
- Add builds with gcc 9-14, clang 14-20, MSVC 2022, MinGW, AppleClang, tcc, FreeBSD 14, Alpine (musl), arm64 and armv7 to CI.
- Enable sanitizer builds with AppleClang.
- Fix compilation of tests with new clang and MinGW.
- Fix amalgamate.py for Python 3.
- Add spell checking with codespell and fix typos.
- Add builds with gcc-9 to CI.
- Fix invalid pointer to integer cast that might cause problems on some platforms.
- Fix spelling in the documentation strings.
- Fix incorrect behaviour in case of using standard iostream manipulators with fort::table.
- Add alias
libfort::fortforforttarget that can be used viaadd_subdirectoryin cmake.
- Add function
ft_erase_rangeto erase range of the cells. - Add functions to check if table is empty to the API.
ft_lnreturns status of operation.- Add new table property
adding_strategy(2 strategies available - replace(default) and insert). - Add function
ft_row_count(row_countin C++ API) to get number of rows in the table. - Add function
ft_strerrorto get string descriptions of error codes. - Change error code names and values.
- Fix incorrect cell width evaluation in case of invisible symbols
- Refactoring of code that uses vectors.
- Add target export in cmake.
- Add option
FORT_ENABLE_TESTINGto turn on/off building tests and examples. - Add option
POSITION_INDEPENDENT_CODEfor library target (libfort::fort).
- Add tutorial from github wiki to repository.
- Fix undefined behavior due to incorrect usage of
isprintfunction. - Fix incorrect border character in
SOLIDstyle
- Fix compilation for compilers other than gcc, clang, msvc.
- Add build with tcc to CI.
- Rewrote
mk_wcwidthfunction.
- Fix incorrect behaviour when setting properties with
FT_CUR_...macros.
- Changes in C++ API (introduced classes
char_tableandutf8-tableinstead oftable). - Add function
ft_set_u8strwid_functo set custom function to compute width of utf8 strings.
- Refactoring of examples.
- Fix incorrect behaviour in case of wide east asian symbols.
- Fix incorrect
ft_u8nwriteimplementation.
- Added support for UTF-8 strings (
ft_u8write,ft_u8printf...). - Added getters for current cell (
cur_col,cur_row,cur_cell) to C++ API. - Enabled wide character and UTF-8 support by default.
- Code refactoring.
- Removed blank lines from
PLAIN_STYLEandSIMPLE_STYLE.
- Changed specific style reset tags to universal reset style tag.
- Fix incorrect border style for the last line in the table.
- Added more tests for border styles.
- Add tests for 'mk_wcswidth' function.
- Removed redundant build options from cmake files.
- Added build for arm platform with drone.ci.
- Fixed error with incorrect types when determine class of 'wchar_t' symbol for platforms with unsigned 'wchar_t'.
- Removed '-Werror' flag from the build process.
- Add library version and soversion to the built library.
Initial release