diff --git a/Changes.txt b/Changes.txt index aa081261..a6b30c06 100644 --- a/Changes.txt +++ b/Changes.txt @@ -2,6 +2,17 @@ @page changes Changes +## 1.1.5 December 30 2022 + +- Added support for writing a workbook to a memory buffer instead of to a file + via the `output_buffer` parameter of @ref workbook_new_opt(). See also + @ref output_buffer.c. + +- Add support for using in-memory data instead of temporary files on systems where + `fmemopen()` and `open_memstream()` are supported. This requires the `USE_MEM_FILE` + compilation option. + + ## 1.1.4 October 9 2021 - Added support for Worksheet tables. Tables in Excel are a way of grouping a diff --git a/docs/src/getting_started.dox b/docs/src/getting_started.dox index 1e3a897a..50d5fced 100644 --- a/docs/src/getting_started.dox +++ b/docs/src/getting_started.dox @@ -536,21 +536,21 @@ with larger CMake builds. In particular it enables building on Windows. The following are various compilation targets and options for both build systems: -| Make | CMake | Description | -| :----------------------- | :----------------------------------------- | :---------------------------------------------------- | -| `examples` | `-DBUILD_EXAMPLES=ON` | Build the example | -| `test` | `-DBUILD_TESTS=ON` | Build the tests | -| `USE_DTOA_LIBRARY=1` | `-DUSE_DTOA_LIBRARY=ON` | Use alternative double in sprintf | -| `USE_MEM_FILE=1` | `-DUSE_MEM_FILE=ON` | Use fmemopen()/open_memstream() instead of temp files | -| `USE_OPENSSL_MD5=1` | `-DUSE_OPENSSL_MD5=ON` | Use OpenSSL for MD5 digest | -| `USE_NO_MD5=1` | `-DUSE_NO_MD5=ON` | Don't use a MD5 digest | -| `USE_SYSTEM_MINIZIP=1` | `-DUSE_SYSTEM_MINIZIP=ON` | Use system minzip library | -| `USE_STANDARD_TMPFILE=1` | `-DUSE_STANDARD_TMPFILE=ON` | Use system tmpfile() function | -| `USE_BIG_ENDIAN=1` | `-DUSE_BIG_ENDIAN=ON` | Build on big endian systems | -| `universal_binary` | `-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"` | Create a macOS "Universal Binary" | -| | `-DBUILD_SHARED_LIBS=ON` | Build shared library (default on) | -| | `-DUSE_STATIC_MSVC_RUNTIME=ON` | Use static msvc runtime library | -| | `-DCMAKE_BUILD_TYPE=Release` | Set the build type. | +| Make | CMake | Description | +| :----------------------- | :----------------------------------------- | :-------------------------------------------------------- | +| `examples` | `-DBUILD_EXAMPLES=ON` | Build the example | +| `test` | `-DBUILD_TESTS=ON` | Build the tests | +| `USE_DTOA_LIBRARY=1` | `-DUSE_DTOA_LIBRARY=ON` | Use alternative double in sprintf | +| `USE_MEM_FILE=1` | `-DUSE_MEM_FILE=ON` | Use `fmemopen()`/`open_memstream()` instead of temp files | +| `USE_OPENSSL_MD5=1` | `-DUSE_OPENSSL_MD5=ON` | Use OpenSSL for MD5 digest | +| `USE_NO_MD5=1` | `-DUSE_NO_MD5=ON` | Don't use a MD5 digest | +| `USE_SYSTEM_MINIZIP=1` | `-DUSE_SYSTEM_MINIZIP=ON` | Use system minzip library | +| `USE_STANDARD_TMPFILE=1` | `-DUSE_STANDARD_TMPFILE=ON` | Use system `tmpfile()` function | +| `USE_BIG_ENDIAN=1` | `-DUSE_BIG_ENDIAN=ON` | Build on big endian systems | +| `universal_binary` | `-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"` | Create a macOS "Universal Binary" | +| | `-DBUILD_SHARED_LIBS=ON` | Build shared library (default on) | +| | `-DUSE_STATIC_MSVC_RUNTIME=ON` | Use static msvc runtime library | +| | `-DCMAKE_BUILD_TYPE=Release` | Set the build type. | The compilation options would be used as follows: diff --git a/include/xlsxwriter.h b/include/xlsxwriter.h index c3d593fd..702b08e9 100644 --- a/include/xlsxwriter.h +++ b/include/xlsxwriter.h @@ -18,8 +18,8 @@ #include "xlsxwriter/format.h" #include "xlsxwriter/utility.h" -#define LXW_VERSION "1.1.4" -#define LXW_VERSION_ID 114 -#define LXW_SOVERSION "4" +#define LXW_VERSION "1.1.5" +#define LXW_VERSION_ID 115 +#define LXW_SOVERSION "5" #endif /* __LXW_XLSXWRITER_H__ */ diff --git a/include/xlsxwriter/workbook.h b/include/xlsxwriter/workbook.h index 0a63b51e..7b1a59ee 100644 --- a/include/xlsxwriter/workbook.h +++ b/include/xlsxwriter/workbook.h @@ -414,6 +414,13 @@ lxw_workbook *workbook_new(const char *filename); * * [zip64_wiki]: https://en.wikipedia.org/wiki/Zip_(file_format)#ZIP64 * + * - `output_buffer`: Output to a memory buffer instead of a file. The buffer + * must be freed manually by calling `free()`. This option can only be used if + * filename is NULL. + * + * - `output_buffer_size`: Used with output_buffer to get the size of the + * created buffer. This option can only be used if filename is `NULL`. + * * @note In `constant_memory` mode each row of in-memory data is written to * disk and then freed when a new row is started via one of the * `worksheet_write_*()` functions. Therefore, once this option is active data diff --git a/libxlsxwriter.podspec b/libxlsxwriter.podspec index 898d3932..ff9347c9 100644 --- a/libxlsxwriter.podspec +++ b/libxlsxwriter.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "libxlsxwriter" - s.version = "1.1.4" + s.version = "1.1.5" s.summary = "Libxlsxwriter: A C library for creating Excel XLSX files." s.ios.deployment_target = "8.0" s.osx.deployment_target = "10.8"