All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, featuring Added, Changed, Deprecated, Removed, Fixed, Security, and others; and this project adheres to Semantic Versioning.
- DLLs (on share folder) re-compiled for new version.
- Updated sxmlc library to version 4.5.3 (2022/09). Contains among other things, a few memory leak fixes.
- Preparing for 0.3.0.
- Support for compatibility with Visual Studio. Code provided by @gvollant on PR (#11).
- Issue #5 "Parsing double and locale". Fix provided by @gvollant. On some locales, floating point is different from the usual dot, like a comma.
- Hardcoded relative paths to XLSX internals were working only on Windows. Fixed for other OS.
- Added a fallback for when usual environment variable that points to temp directory doesn't exist for the current OS. According to POSIX/FHS it should be "/tmp" then. Hardcoding that.
- Added include for errno.h for non-Windows users.
- Issue #2 "tmpnam warning".
- Issue #3 "missing ENVIRONMENT_VARIABLE_TEMP". The line of code that uses this macro was working only on Windows, now it should work in any other OS too.
- Improved README.md.
- zip library updated from 0.1.21 to 0.1.32.
- New function: xlsx_get_last_column().
- New xlsx_sheet_t member: last_column, that won't have value (NULL), unless xlsx_get_last_column() gets called at least once.
- New private (static) function, helper of xlsx_get_last_column(): withdraw_alphabetic_chars().
- Several new test assertions for the new functionality.
- README.md
- Documentation on the header.
- Several assertions on test_xlsx_load_sheet().
- README.md
- LICENSE
- Some variables were renamed to reflect Excel naming.
- Error codes so they are unique.
- xlsx_read_cell() return. Now returns 1 or 0 depending on success or failure.
- Some code style towards simpleness.
- When a cell has no value, but style set, it was triggering problems. Code has been written to take this into account.
- Unit tests to test empty cells.
- Error reporting system. As suggested by the web, I'm not using anymore errno error system to give info about an error since that system is supposed to be used only by the OS. Now I'm using a custom one setting xlsx_errno static global variable, accessible through xlsx_get_xlsx_errno().
- Unit test regarding error reporting system change.
- Manually fixed problems with the zip library (since were acknowledged by the maker but didn't release a new version). The function that opens and deploy the zip weren't returning a negative number if fails under certain circumstances.
- Added a few tests for unicode (UTF-8) support.
- Libraries used: zip 0.1.20 -> 0.1.21; sxmlc 4.3.0 -> 4.5.1.
- Explicit typecast made on several long values that have been assigned to int holders.
- A string cell value could have a style associated, this wasn't taken into account before. Code was written to embrace this possibility.
- set_cell_data_values_for_number() wasn't working perfect. If an "E" is present in a cell value that isn't a string, that values are always returned as a double, even if it isn't a floating point value.
- Finished test_xlsx_read_cell(). A total of 662 assertions were written for unit testing. All passing at this version.
- Finished test_xlsx_load_sheet() & test_xlsx_unload_sheet() & test_xlsx_close().
- Although the user shouldn't want to access freed data after it was freed, he might want to give it a try. I wasn't setting pointers to freed data to NULL, and now I decided to do it. These changes were implemented in xlsx_unload_sheet() & xlsx_close().
- Finished test_xlsx_open() assertions battery of tests.
- Problem in the creation of the temporary directory where the XLSX is deployed.
- The way data related to default styles is loaded. Previously, data were loaded on runtime and also had to be freed on exit. Now this data is compiled, and doesn't need to be freed.
- Shared strings could not exist when the XLSX is empty or has no strings. The code was modified to contemplate this possibility.