Skip to content

Releases: HappySeaFox/sail

v0.9.5

20 May 12:48
Compare
Choose a tag to compare

BINDINGS/C++: Added image::mirror() (closes #212)
BINDINGS/C++: Added more image ctors (closes #211)
COMMON: Added sail_mirror()
COMMON: Fix mirroring horizontally
PCX: Ignore redundant PaletteInfo header field (closes #210)
TESTS: Test copy and move of C++ images

v0.9.4

17 Apr 14:34
Compare
Choose a tag to compare

SVG: Fix testing for NanoSVG

v0.9.3

16 Apr 18:15
Compare
Choose a tag to compare

COMMON: Added missing share.h include (for MinGW-w64), #208

v0.9.2

16 Apr 08:09
Compare
Choose a tag to compare

COMMON: Added SAIL_WINDOWS_UTF8_PATHS CMake option (Convert file paths to UTF-8 on Windows). ON by default
EXTRA: Update to the latest master
SAIL: Added resvg for macOS in Travis
SVG: Check the ReSVG version is fresh enough

v0.9.1

13 Jan 11:21
Compare
Choose a tag to compare

AVIF: Hold shallow pointers to load_options/save_options
BINDINGS/C++: Added constructors with load/save options
BINDINGS/C++: Always suppress C4251 in sail-c++.h
BMP: Fix compilation issue
BMP: Hold shallow pointers to load_options/save_options
CODECS: Don't use REQUIRED with find_library() as it requires CMake 3.18
CODECS: memcpy static palette
COMMON: Added missing <stdint.h>
COMMON: Added sail_malloc_std_signature()
COMMON: Added sail_scan_line()
COMMON: Rename __sail_error_result to __sail_status
COMMON: Update comments
DOC: Added NanoSVG
DOC: Added PNM
DOC: Added SAIL_ENABLE_OPENMP
DOC: Added links to brew formula
EXAMPLES: Don't use sail::io_file to match the advanced level of API
GIF: Hold shallow pointers to load_options/save_options
ICO: Hold shallow pointers to load_options/save_options
JPEG2000: Hold shallow pointers to load_options/save_options
JPEG: Hold shallow pointers to load_options/save_options
JPEGXL: Hold shallow pointers to load_options/save_options
JPEGXL: Use sail_malloc_std_signature()
LIBSAIL-MANIP: Improve performance by simplifying pixel consumers
LIBSAIL-MANIP: Merge grayscale functions (up to bpp8) into one
LIBSAIL-MANIP: Merge indexed functions into one
LIBSAIL: Added more comments on v8 functions
LIBSAIL: Clarify more on io_file API
LIBSAIL: Hold a copy of load_options in hidden_state
LIBSAIL: Use current file offset to double check for EOF
PCX: Hold shallow pointers to load_options/save_options
PNG: Fix reading APNG images with hidden frame
PNG: Hold shallow pointers to load_options/save_options
PNG: More robust return
PNG: Pass our malloc and free functions to libpng
PNM: Added PNM codec
PNM: Added pnm-ascii special property
PSD: Hold shallow pointers to load_options/save_options
QOI: Hold shallow pointers to load_options/save_options
QOI: Pass our malloc and free functions to qoi.h
SAIL: OpenMP support
SAIL: Remove debian/ subdirectory as SAIL is now available in Debian Sid with separate packaging rules
SVG: Hold shallow pointers to load_options/save_options
SVG: Remove configuration message
SVG: Try to find NanoSVG as a fallback rendering library when resvg is not found
TESTS: Added PNM test images
TGA: Hold shallow pointers to load_options/save_options
TIFF: Hold shallow pointers to load_options/save_options
WAL: Hold shallow pointers to load_options/save_options
WEBP: Hold shallow pointers to load_options/save_options
XBM: Hold shallow pointers to load_options/save_options

v0.9.0

06 Nov 19:08
Compare
Choose a tag to compare

🎉🎉🎉 20 years anniversary! 🎉🎉🎉

APNG: Remove number-of- in special properties
AVIF: Fetch EXIF and XMP meta data
AVIF: Remove I/O trace messages
AVIF: Update find_dependency rules
AVIF: Use find_package()
BINDINGS/C++: Added image::bits_per_pixel() class method
BINDINGS/C++: Fix possible type error
BINDINGS/C++: Fix potential division by zero
BINDINGS/C++: Hide abstract_io_adapter
BINDINGS/C++: Make pixels_size size_t
BINDINGS/C++: Move suppress code to separate files
CODECS: Added comments with dependencies names in sail-codecs CMake file
CODECS: Don't load special properties when SAIL_OPTION_META_DATA is not set
CODECS: Remove duplicates from the enable/only lists
COMMON: Added CMYKA pixel format
COMMON: Added SAIL_META_DATA_JUMBF
COMMON: Added SOURCE-IMAGE feature
COMMON: Added sail_alloc_iccp_for_data()
COMMON: Added sail_alloc_meta_data_and_value_from_[un]known_key()
COMMON: Added variant printf functions
COMMON: Clarify palette data format
COMMON: Don't seek back in I/O reading functions
COMMON: Fix logic in erasing keys in sail_hash_map
COMMON: Fix use-after-free in sail_hash_map
COMMON: Pixels layout clarification
COMMON: Remove BPP16_FLOAT and BPP32_FLOAT pixel formats
COMMON: Remove I/O id field
COMMON: Remove unnecessary include
COMMON: Rename 'read' to 'load'
COMMON: Rename _length to _size in variables names
COMMON: Rename error.h to status.h
COMMON: Rename 'moved' and 'adopted' to 'shallow'
COMMON: Rename sail_file_contents_to_data() to sail_alloc_data_from_file_contents()
COMMON: Update comments on sail_bytes_per_line()
COMMON: Use actual size 3 instead of SIZE_MAX
COMMON: Use snprintf
EXAMPLES: Added 'frame' to the 'probe' help text
EXAMPLES: Added new command 'decode' to the sail app
EXAMPLES: Bump sail CLI app version to 1.5.0
EXAMPLES: Don't use probe() to fetch codec info
EXAMPLES: Fix SDL example includes
EXAMPLES: Print extra space in special properties before :
EXAMPLES: Print special properties
EXAMPLES: Remove extra print 'Success'
EXAMPLES: Remove file filters as separate files
EXAMPLES: Rename 'Color' to 'Pixel format' in CLI utility
EXAMPLES: Simplify binary data printf
EXTRA: Added libjxl
EXTRA: Don't rename webp libraries
EXTRA: Rename webp libraries
EXTRA: Update resvg
EXTRA: Use CMake to install files where possible
JPEG2000: Fix reading last bytes of rows
JPEG2000: Use find_package()
JPEG: Fixed memory leak in ICCP loading
JPEG: Set read buffer size from 4096 to 8192
JPEGXL: Added jpeg xl codec
LIBSAIL: Allow only upper-case letters and numbers for codec names in codec info
LIBSAIL: Fix MSVC security warnings in inih
LIBSAIL: Fix passing SAIL_OPTION_INTERLACED from save features
LIBSAIL: Rename vx() to v8()
LIBSAIL: Update inih to version 57
PNG: Fix memory leak on error
PSD: Fix memory leak on error
SAIL: Added --rerun-failed --output-on-failure in Travis
SAIL: Added macro SAIL_HAVE_BUILTIN_${CODEC}
SAIL: Added possibility to specify not just individual codecs but codec groups by their priorities in CMake configuration routine
SAIL: Allow disabling forced codecs with SAIL_DISABLE_CODECS
SAIL: Allow only lower-case letters and numbers in sail_codec() macro
SAIL: Build several configurations at once in Travis to save score
SAIL: Check for ASAN only with MSVC >= 2019
SAIL: Check if an input codec actually exists
SAIL: Fix Debian rules
SAIL: Print build parameters in Travis
SAIL: Print compiler id in ASAN function
SAIL: Remove Windows deployment script
SAIL: Remove installed SAIL after testing in Travis
SAIL: Rename DEPENDENCY_COMPILE_OPTIONS to DEPENDENCY_COMPILE_DEFINITIONS in sail_codec()
SAIL: Reorganize includes to always use prefixes like sail-common/
SAIL: Update Debian compat to 13
SAIL: Use '--parallel 2' in Travis
SAIL: Use BUILD_TESTING instead of SAIL_BUILD_TESTS
SAIL: Use the same SO version for all the SAIL libraries
SVG: Fixed memory leak
SVG: Use resvg_transform_identity()
TESTS: Added test images
TESTS: Added C++ can-load test with abstract_io
TESTS: Clarify on external tests
TESTS: Disable JPEG test images in Travis as they fail to be read on Windows. The reason is unknown
TESTS: Downgrade C++ std to C++11 in external C++ test
TESTS: Move PNG test files lines
TIFF: Don't use malloc in test
WEBP: Make the find_package(WebP) call case sensitive
WEBP: Support 1.3.0 naming with 'lib' prefix
WEBP: Use find_package()

v0.9.0-rc3

23 Feb 11:35
Compare
Choose a tag to compare

BINDINGS/C++: Added reverse_bytes()
COMMON: Added ZIP compression
COMMON: Added bytes reverse functions
COMMON: Fix order of case:
DOC: Add vcpkg note without CMake
DOC: Added PSD
DOC: Note on unsupported blend operations
EXAMPLES: Show source image compression in probe()
LIBSAIL: Update comments
LIBSAIL: Update flag docs
PNG: Added error message in blend function
PNG: Added note on transparent background
PNG: Apply disposal method only for images with bpp >= 8 (workaround)
PNG: Blend grayscale images
PNG: Store number of frames and plays
PSD: Added PSD codec
SAIL: Apply fix from https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
SAIL: Rename pkg-config variables to have SAIL_ naming
SAIL: Require CMake 3.12 to link against object libraries
SAIL: Update SAIL_COMBINE_CODECS docs
TESTS: Added more ull suffixes
TESTS: Remove unused include string.h
TIFF: Fix empty list of compressions in VCPKG mode

v0.9.0-rc2

17 Dec 23:13
Compare
Choose a tag to compare

SAIL: Add CodeQL workflow for GitHub code scanning
BINDINGS/C++: Add missing sail_variant forward declaration
BINDINGS/C++: Include missing common.h for SailCompression
BINDINGS/C++: Include missing common.h for SailPixelFormat
BINDINGS/C++: Include missing compression_level-c++.h for sail::compression_level
BINDINGS/C++: Include missing cstddef
BINDINGS/C++: Include missing includes
BINDINGS/C++: Include missing manip_common.h for manip options
BINDINGS/C++: Include missing stddef
COMMON: Added floating point pixel formats
COMMON: Include missing includes
COMMON: Include missing stddef
DOC: Remove LGTM badge
DOC: Update description
LIBSAIL: Include missing includes
LIBSAIL: Include missing stddef
PNG: Use snprintf()
SAIL: Added missing return
SAIL: Remove LGTM config
SAIL: Update Linux distro to 22.04 in Travis
SAIL: Update comments
SAIL: Update links to git
SAIL: Update macOS to 12.6 in Travis config
SAIL: Use <> brackets in CMake test
SAIL: Use Windows.h with _WIN32_WINNT=0x0600

v0.9.0-rc1

14 Sep 00:47
Compare
Choose a tag to compare

BINDINGS/C++: Added explicit keyword
BINDINGS/C++: Added finish() to image_input and image_output
BINDINGS/C++: Added io_memory(arbitrary_data)
BINDINGS/C++: Added more constructors to io_memory
BINDINGS/C++: Added variant::clear()
BINDINGS/C++: Make image_output::next_frame() non-const
BINDINGS/C++: Refactor image_input
BINDINGS/C++: Refactor image_output
BINDINGS/C++: Update comments
BMP: Make marker constants as enum
CODECS: Remove I/O parameter from codec functions
CODECS: Remove parameters checks in codecs
COMMON: Make sail_bits_per_pixel() non-defensive
COMMON: Make sail_bytes_per_line() non-defensive
COMMON: Make sail_print_errno() non-defensive
COMMON: Make sail_string_hash() return 0 on empty input
COMMON: Remove orientation
COMMON: Rename 'flip' functions to 'mirror'
DOC: Added X10 X11 XBM specifications
EXAMPLES: Support CMake configurations that export SDL2::SDL2
LIBSAIL: Fix indent
LIBSAIL: Fixed allocating memory I/O for reading and writing when reading was not allowed
PCX: Added missing size of []
SAIL: Added SAIL_ENABLE_CODECS CMake option
SAIL: Remove extra quotes
SAIL: Rename junior functions to not have image in their names
SAIL: Rename loading/saving functions to have from/into in their names
TESTS: Added TGA images
TESTS: Added X11 XBM image
TESTS: Added XBM images
TESTS: Added more BMP files
TESTS: Detect codec info for loading from memory
TESTS: Move images to an upper level
TESTS: Rename PNG image
TGA: Note on avoiding mirroring
XBM: Fixed reading X10 images

v0.9.0-pre23

04 May 17:11
Compare
Choose a tag to compare
v0.9.0-pre23 Pre-release
Pre-release

BINDINGS/C++: Added ostream for common enums [closes #177]
BINDINGS/C++: Fixed crash in variant constructor
BINDINGS/C++: Remove unnecessary anonymous namespace
CODECS: Remove codec-specific .cmake files and move logic into codec-specific CMakeLists.txt
COMMON: Added resolution unit serialization
COMMON: Remove flip functions as they don't update image orientation correctly (may be will address this in the future)
DOC: Added link to Conan recipe
SAIL: Rename SAIL_EXCEPT_CODECS to SAIL_DISABLE_CODECS
TIFF: Enable all codecs in VCPKG or cross-compilation mode