Skip to content

Releases: HappySeaFox/sail

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

v0.9.0-pre22

22 Apr 18:40
Compare
Choose a tag to compare
v0.9.0-pre22 Pre-release
Pre-release

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

v0.9.0-pre21

06 Apr 21:54
Compare
Choose a tag to compare
v0.9.0-pre21 Pre-release
Pre-release

BINDINGS/C++: Add more ctors
BINDINGS/C++: Rename with_ to set_
BINDINGS/C++: Added editable image::meta_data()
BINDINGS/C++: Added image::scan_line()
BINDINGS/C++: Added more moving methods to image
BINDINGS/C++: Added more variant constructors for sail_variant *
BINDINGS/C++: Added supported tuning options to read/write features
BINDINGS/C++: Make codec options getter to return non-const reference
BINDINGS/C++: Remove confusing 'shallow' word in image ctors
BINDINGS/C++: Remove image's size and pixels methods from public
BINDINGS/C++: Remove image::set_meta_data(sail::meta_data). Use editable image::meta_data() instead
BINDINGS/C++: Remove obsolete with_id() from docs
BINDINGS/C++: Remove unnecessary explicit deletion of copy/move stuff
BINDINGS/C++: Update iccp:copy() to allow empty data
BINDINGS/C++: Use const_cast to cast variant specialization parameter
COMMON: Added codec tuning options
COMMON: Added sail_compare_variants()
COMMON: Added sail_hash_map
COMMON: Added sail_image.sail_source_image.special_properties [closes #53]
COMMON: Added sail_traverse_hash_map_with_user_data
COMMON: Added variant set functions
COMMON: Added variant_node
COMMON: Move IO functions to io_common.h
COMMON: Move string_node to sail-common, make it public, and re-implement with the linked list API
COMMON: Put variant-related string functions first
COMMON: Reimplement meta data nodes with common linked list API
COMMON: Remove 'must be destroyed with ...' from docs [closes #156]
COMMON: Remove USER variant type in favor of DATA
COMMON: Remove forward declaration of non-existent sail_pixel_formats_mapping_node
COMMON: Remove known/unknown functions from meta data
COMMON: Remove sail_alloc_variant_from_xxx functions
COMMON: Remove sail_read_options_from_features() as read options now needs to be explicitly allocated because of added tuning
COMMON: Remove unnecessary forward declaration of sail_meta_data_node
COMMON: Remove write_features.properties [closes #155]
COMMON: Rename 'io_options' to 'options' [closes #154]
COMMON: Rename 'stolen' to 'adopted'
COMMON: Rename sail_compare_variants() to sail_equal_variants()
COMMON: Rename sail_io_contents_to_data() to sail_alloc_data_from_io_contents()
DOC: Delete TODO
DOC: Re-make the formats table with HTML
EXAMPLES: Added -v to 'sail list' command
EXAMPLES: Added support of PNG filters
EXAMPLES: Added tuning example for the Qt/C API example
JPEG: Added tuning options
LIBSAIL: Reimplement codec_bundle_node_private with the linked list API [closes #158]
PNG: Add support of filters via tuning options
PNG: Support writing grayscale images [closes #163]
QOI: Fixed potential memory leak on error
SAIL: Added sail_check_alignas()
SAIL: Enable ASAN for all libs (with SAIL_DEV)
SAIL: Enable ASAN for external tests and SAIL_DEV=ON
SAIL: Update macOS 11.3 -> 11.6 in Travis
TESTS: Added more /bindings/c++ prefixes
TESTS: Added overwrite test for sail_hash_map
TESTS: Added test to put and erase many items in a hash map
TESTS: Added variant test
TESTS: Fixed main() return type to be int
TESTS: Improve read_options and write_options tests with modified tuning values
TESTS: Reduce number of keys for hash map test to 2500
TESTS: Rename comparators to avoid conflicts
TESTS: Test copying hash maps
TGA: Fix alignment
TGA: Fixed allocating meta data
WEBP: Fix alignment
XBM: Added XBM image format

v0.9.0-pre20

07 Feb 04:17
3d93b90
Compare
Choose a tag to compare
v0.9.0-pre20 Pre-release
Pre-release

BINDINGS/C++: Added comments on io[file/mem]::codec_info()
BINDINGS/C++: Added const to some pimpls
BINDINGS/C++: Added image_output::written() instead of stop(&written)
BINDINGS/C++: Added io_base base class for I/O objects and io_file
BINDINGS/C++: Added io_memory
BINDINGS/C++: Added more overloaded methods in image_input and image_output
BINDINGS/C++: Added sail::abstract_io instead of sail::io
BINDINGS/C++: Added sail::io_file()
BINDINGS/C++: Detect codec info with I/O-specific method
BINDINGS/C++: Include <stdexcept> instead of <new>
BINDINGS/C++: Remove 'struct' from sail_io usage to avoid MSVC 2017 error
BINDINGS/C++: Remove unnecessary error.h include
BINDINGS/C++: Rename file_pimpl to io_file_pimpl
BINDINGS/C++: Rename sail_io() to sail_io_c()
BINDINGS/C++: Sort headers in sail-c++.h
BINDINGS/C++: Update comments on image constructors
CODECS: Export dependent OBJECT libraries for clients as CMake doesn't do that (for static builds)
CODECS: Fix linking in static mode
CODECS: Remove sail-codecs-objects as it's not needed anymore. enabled_codecs.c explicitly refers to every codec function and compilers don't throw them away anymore
COMMON: Rename 'mem' to 'memory'
DOC: Update license years
LIBSAIL: Make file and memory I/O functions visible
LIBSAIL: Rename _mem to _memory and _write to _read_write
LIBSAIL: Rename sail_read_file, sail_read_memory, sail_write_file, sail_write_memory
LIBSAIL: Reorder read/write callbacks
SAIL: Added RENAME parameter for sail_install_pdb() to allow sail.exe.pdb
SAIL: Added combined build for Linux in Travis
SAIL: Added external tests in Travis
SAIL: Added external tests to make sure external linking works fine
SAIL: Added static build in Travis
SAIL: Added support of MSVC 2022 to make-portable.sh.in
SAIL: Check for -fsanitize=address
SAIL: Clarify more on object libraries in static mode in sail_codec.cmake
SAIL: Hardcode sail.exe pdb file name to avoid failures on Travis Windows
SAIL: Print CMake version
SAIL: Print codecs separated by spaces instead of commas
SAIL: Remove SAIL_STATIC CMake variable in favor of BUILD_SHARED_LIBS
SAIL: Remove Windows static build in Travis as it doesn't support external tests
SAIL: Rename local variable to have no SAIL_ prefix
SAIL: Split Linux builds into shared and static in Travis
WEBP: Use find_library to find dependencies in static builds as Webp doesn't distribute CMake configs by default

v0.9.0-pre19

20 Dec 15:54
Compare
Choose a tag to compare
v0.9.0-pre19 Pre-release
Pre-release

BINDINGS/C++: Added comment on C4251
BINDINGS/C++: Use unique_ptr
COMMON: Added more BPP16 RGB[X] pixel formats
COMMON: Added sail_io_contents_to_data() and sail_io_contents_into_data()
COMMON: Make sail_now() return 0 on error, not SAIL_OK
EXAMPLES: Fixed using bytes per line (ignored previously)
ICO: Added ICO image format
LIBSAIL: Make codec priorities as enum
PCX: Added PCX image format
QOI: Added QOI image format (https://phoboslab.org/log/2021/11/qoi-fast-lossless-image-compression)
SAIL: Install licenses of third-party components (standalone bundle only)
SAIL: Move icons to every codec directory
SAIL: Run ldconfig in Travis only on Linux
SAIL: Run sail --version on Travis to make sure the binary is functional (no missing dependencies etc.)
SAIL: Update benchmarks

v0.9.0-pre18

24 Oct 15:02
987c987
Compare
Choose a tag to compare
v0.9.0-pre18 Pre-release
Pre-release

BINDINGS/C++: Added new sail::palette(pixel_format, data) constructor
BINDINGS/C++: Added new sail::resolution constructor
BINDINGS/C++: Added new palette::palette(pixel_format, data, color_count) constructor
BINDINGS/C++: Fixed copying invalid palette
BINDINGS/C++: Fixed image::image(std::string_view) not allocating pimpl
BINDINGS/C++: Make with() builders destructive even when the input is invalid
BINDINGS/C++: Simplify with_data() overload in iccp
CODECS: Fix using release/debug dependencies for static builds
CODECS: Use generator expression to append to INTERFACE_LINK_LIBRARIES
COMMON: Fixed memory leak in copying palette
EXAMPLES: Display only the first image info
EXTRA: Added resvg
EXTRA: Fix linking to ZSTD and JBIG in TIFF in Debug builds
EXTRA: Install Rust and cargo instead of using portable version
EXTRA: Repack resvg as tar.gz
EXTRA: Specify build type Release/Debug in command line
EXTRA: Unpack perl quietly
JPEG2000: Don't use extra void *ptr to malloc
JPEG2000: Remove io.h inclusion
JPEG2000: Use jas_stream_memopen() instead of jas_stream_memopen2()
LIBSAIL: Added (void) to intentionally ignore return value
LIBSAIL: Search for file extension in file name component only
PNG: Print trace instead of error when no gamma is present #127
SAIL: Added missing include for atoi()
SAIL: Added script to build portable versions automatically
SAIL: Convert icons to PNG
SAIL: Fixed configuring SDL example
SAIL: Install icons per codec
SAIL: Merge sail-convert and sail-probe into a single 'sail' tool
SAIL: Quote test name to allow extra characters in its name as per the doc
SAIL: Update help message in sail utility
SVG: Added SVG reader
TESTS: Added more sail::iccp and sail::palette tests
TESTS: Added test to load images in C++
TESTS: Remove unused includes
TESTS: Test copying invalid sail::iccp and sail::palette
WAL: Added WAL codec and icon
WEBP: Added missing NAMES for find_library()

v0.9.0-pre17

06 Oct 19:37
Compare
Choose a tag to compare
v0.9.0-pre17 Pre-release
Pre-release

AVIF: Fixed library name for static vcpkg
BINDINGS/C++: Added image::with_meta_data() overload
BINDINGS/C++: Cleanup headers
BINDINGS/C++: Make moving operators noexcept
BINDINGS/C++: Print 'NULL pointer has been passed' with TRACE level
BINDINGS/C++: with_background() in conversion_options sets two colors
CODECS: Added priorities
CODECS: Advance codec layout version to 6
CODECS: Fill compression of source images
CODECS: Remove seek_next_pass codec function and interlaced-passes parameter
COMMON: Added AV1 compression
COMMON: Added SAIL_IMAGE_PROPERTY_FLIPPED_HORIZONTALLY
COMMON: Added SAIL_META_DATA_ID
COMMON: Added SAIL_META_DATA_SOFTWARE_VERSION, SAIL_META_DATA_TIME_CONSUMED, SAIL_META_DATA_JOB
COMMON: Added image flipping functions
COMMON: Added image gamma
COMMON: Remove SAIL_IO_OPTION_INTERLACED from default read and write options
DOC: Added priority description
EXTRA: Added jasper
GIF: Treat extension length as unsigned
JPEG2000: Added JPEG2000 (reading)
JPEG: Save image gamma
LIBSAIL-MANIP: Use size_t instead of unsigned
LIBSAIL: Fixed error on enumerating codecs
PNG: Fixed memory leak in hex_string_to_meta_data_node()
PNG: Save and load image gamma
SAIL: Added release/debug prefix in make-portable.sh
TGA: Added TGA (reading)
WEBP: Fixed seeking
WEBP: Fixed library name for static vcpkg

v0.9.0-pre16

08 Sep 08:59
Compare
Choose a tag to compare
v0.9.0-pre16 Pre-release
Pre-release

COMMON: Fixed memory leak in sail_copy_meta_data_node()
COMMON: Remove redundant SAIL_CHECK_XXX_NULL_PTR macro
COMMON: Update error macro docs
DOC: Update docs on SAIL_THIRD_PARTY_CODECS with ';'
GIF: Fixed memory leak in saving meta data
LIBSAIL: Allow multiple ';'-separated paths in SAIL_THIRD_PARTY_CODECS_PATH #108
LIBSAIL: Improve stability of split_into_string_node_chain()
SAIL: Added target name in ASAN enabled message
SAIL: Rename SAIL_THIRD_PARTY_CODECS macro to SAIL_THIRD_PARTY_CODECS_PATH

v0.9.0-pre15

24 Aug 08:34
Compare
Choose a tag to compare
v0.9.0-pre15 Pre-release
Pre-release

BINDINGS/C++: Added image::load() and image::save()
BINDINGS/C++: Added minimal tests for read_options and write_options just to make sure they don't crash
BINDINGS/C++: Avoid name clashes
BINDINGS/C++: Enable /EHsc with MSVC
BINDINGS/C++: Rename read() to load() in image_input. Rename write() to save() in image_output
COMMON: Added JPEG-XL compression
COMMON: Added JPEG-XR compression
COMMON: Added SAIL_LIKELY and SAIL_UNLIKEY macro. Moved compiler-specific code into compiler_specifics.h
COMMON: Added function to copy only a substring into a meta data node
COMMON: Define ENABLE_VIRTUAL_TERMINAL_PROCESSING if it's not defined
COMMON: Move serialize utils from utils.h to common_serialize.h
COMMON: Re-arrange 'SAIL_THREAD_LOCAL static' to 'static SAIL_THREAD_LOCAL'
COMMON: Remove _HEX_ meta data keys
COMMON: Rename JPEG2000 to JPEG-2000
COMMON: Rename MULTI-FRAME to MULTI-PAGED
COMMON: Rename sail_alloc_buffer... to sail_alloc_data...
COMMON: Rename sail_alloc_data_from_file_contents() to sail_file_contents_to_data()
COMMON: Use _MSC_VER instead of SAIL_WIN32 to enable _s() functions
DOC: Added LGTM shield
DOC: Added codec info file format description
DOC: Added macOS 11 in BUILDING
DOC: Fix docs after renaming image_reader to image_input
DOC: Remove sail_finish() from examples
EXTRA: Added libwebp
EXTRA: Added libwebpdemux
EXTRA: Update aom to 3.1.2
JPEG: Fixed memory corruption in fetching ICCP
LIBSAIL: Added SAIL_THIRD_PARTY_CODECS. Renamed SAIL_MY_CODECS_PATH to SAIL_THIRD_PARTY_CODECS_PATH
LIBSAIL: Added sail_call_once()
LIBSAIL: Added sail_init() with default flags
LIBSAIL: Check codecs don't allocate pixels
LIBSAIL: Guard context with mutexes
LIBSAIL: Make INIH functions hidden
LIBSAIL: Make global_context static
LIBSAIL: Move _XOPEN_SOURCE definition to sail_enable_xopen_source
LIBSAIL: Move sail_string_node alloc/destroy functions into string_node_private.h
LIBSAIL: Probe files by extensions first
LIBSAIL: Refactor context allocation functions
LIBSAIL: Use 0x%X to print GetLastError()
PNG: Fix potential memory corruption in saving EXIF
PNG: Fix skipping a hidden frame in APNG when some image properties were left default, delay in particular
PNG: Write EXIF with png_set_exif_1() and raw profiles
SAIL: Added script to make portable packages on Windows with MSVC
SAIL: Build in debug mode in Travis
SAIL: Cache built extra libs on Windows in Travis
SAIL: Call vital commands with fail_on_error() to test their return values
SAIL: Fix duplicating ENABLED_CODECS and empty DISABLED_CODECS #103
SAIL: Remove macOS 10.15 and Ubuntu 18.04 from Travis to save some Travis credits
TESTS: Added PRIVATE keyword for linking tests
TESTS: Enable ASAN on tests
TIFF: Added JPEG-XL compression
WEBP: Added WEBP reading support