HappySeaFox Sail Versions Save

The missing small and fast image decoding library for humans (not for machines) ⛵ https://sail.software

v0.9.4

4 weeks ago

SVG: Fix testing for NanoSVG

v0.9.3

4 weeks ago

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

v0.9.2

1 month ago

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

4 months ago

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

6 months ago

🎉🎉🎉 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

1 year ago

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

1 year ago

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

1 year ago

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

2 years ago

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

v0.9.0-pre22

2 years ago

BINDINGS/C++: Fixed tuple compilation on come old compilers BINDINGS/C++: Rename to_load/save_options() to to_options() BINDINGS/C++: Downgrade to C++11 CODECS: Remove unused 'properties' field from [save-features] CODECS: Rename compression-types to compressions COMMON: Added sail_compression_level COMMON: Fix source_properties -> source_image.properties COMMON: Move tuning field down COMMON: Remove SAIL_CHROMA_SUBSAMPLING_UNSUPPORTED COMMON: Remove SAIL_COMPRESSION_UNSUPPORTED COMMON: Remove references to non-existing read_features.input_pixel_formats COMMON: Rename compression levels fields like level_min -> min_level COMMON: Rename output_pixel_formats to pixel_formats in write features [closes #165] COMMON: Split image properties DOC: Remove examples as outdated DOC: Remove properties from save-features DOC: Update bagdes SAIL: Added CMAKE_POSITION_INDEPENDENT_CODE SAIL: Added SAIL_INSTALL_PDB option SAIL: Added SAIL_THREAD_SAFE compile option [closes #170] SAIL: Advance codecs layout V6 -> V7 as we renamed codec interface functions from 'read' to 'load' TESTS: Rename able-to-load test to can-load TIFF: Added comment to check_c_source_runs() test TIFF: Disable check_c_source_runs() in cross-compiling mode