Changes:
2.32.2
======
- Improve calculation of initial WebKitWebView size.
- Fix kinetic scrolling on touchpad with async scrolling off.
- Fix a crash on empty drag operation in X11.
- Fix rendering on HiDPI /4k screen and scaling.
- Handle null native surface for for surfaceless rendering.
- Fix JavaScriptCore crash on 32-bit big endian systems.
- Fix several crashes and rendering issues.
Release 2.2.15.1 (3 Jun 2021) -- compared to 2.2.15.0
-----------------------------------------------------
* Fix crash / misbehavior in ustring internals on Apple M1 ARM.
Release 2.2.15 (1 Jun 2021) -- compared to 2.2.14
--------------------------------------------------
* BMP improvements: now support reading rle-compressed BMP files; writing
single channel grayscale images now save as 8bpp palette images intead of
24bpp; and reading 8bpp where all palette entries have R==G==B looks like
a 1-channel grayscale instead of 3-channel RGB.
* Bug: IBA::render_text did not properly account for alpha of the draw
color.
* Bug: Fix runaway parsing time for pathological XMP metadata.
* Bug: Fixed a crash is ImageCacheFile::read_unmipped when sampling
* Fix exported cmake config files, which could fail if Imath and OpenEXR
weren't the at the same version number.
* Build: Modernize cmake to use targets for PNG and ZLIB.
* Build: Fix to accommodate upcoming OpenColorIO 2.1 deprecation of
parseColorSpaceFromString.
* Build: Changes to make it build against TBB 2021.
* Dev: Add Strutil functions: find, rfind, ifind, irfind.
non-zero-base channels.
Release 2.2.14 (1 May 2021) -- compared to 2.2.13
--------------------------------------------------
* JPEG: Improve readin of files with mildly corrupted headers.
* TIFF: Support IOProxy for input.
* BMP: Improve performance by eliminating wasteful per-scanline allocation
and needless data copying.
* Build/CI: Fix all the build_*.bash scripts to not use cmake --config flag,
which was harmlessly ignored but is flagged as an error for CMake 3.20.
* Build: More fixes related to supporting a wide range of OpenEXR versions,
and making our exported cmake configs correctly transmit dependencies on
OpenEXR include paths.
* ImageBufAlgo::fillholes_pushpull: added logic to correctly set the spec's
alpha_channel field when generating sub-images.
* Python: MakeTxBumpWithSlopes enum value had been inadvertently omitted
from the Python bindings.
Release 2.2.13 (1 Apr 2021) -- compared to 2.2.12
--------------------------------------------------
* Get ready for upcoming Imath/OpenEXR 3.0 release.
* GIF: Fix error checking for non-existant GIF files.
* Fix crash related to ImageBuf:set_write_format() when used in conjunction
with a file format that doesn't support per-channel data types.
* Make RAW files handle Unicode filenames on Windows.
* Make sure OIIO builds cleanly with C++20.
* BMP: Several bug fixes when reading an older (V1) variety of BMP files.
* Targa: fix reading tga files with 0-sized thumbnails.
* TIFF: fix reading of certain tiled TIFF files with the vertical image size
is not a whole multiple of the tile size.
* Avoid OpenColorIO v2 exception when color-conversion of single points (we
didn't pass a correct stride, thinking that stride isn't used for a single
point).
* make_texture: When outputting to a 'half' data format file, clamp filtered
values to the half range so large values don't inadvertently get converted
to half 'infinite' values.
* Improvements to ustring internals to ensure that no two ustrings ever end
up with the same hash() value.
* Fixes for compiler errors when compiling farmhash.h using C++11 mode with
newer gcc (6+).
Release 2.2.12 (1 Mar 2021) -- compared to 2.2.11
--------------------------------------------------
* Bug fix: Improve parsing of XMP records in metadata: more correct handling
of lists/sequences, better inference of types that look like int or float
(rather than forcing unknown fields into strings), fixed bugs in parsing
rational values.
* Bug fix: Fix loading PSB files with cinf tags.
* Build: Improvements to building or linking static libraries.
* Build: Change default STOP_ON_WARNING to OFF for release branches
(including this one) so that small change in compiler warnings after our
release don't break anybody's builds. (Though we still stop on warnings
for CI builds).
* Build: More clear warnings about using OpenVDB 8+ when building for C++11,
because OpenVDB 8 requires C++14 or higher.
* Build: The pkgconfig OpenImageIO.pc was specifying the include path
incorrectly.
* Build: More gracefully handle building against a custom Imath/OpenEXR even
when another exists in the system area.
* Build: Minor fixes to build cleanly against the upcoming Imath 3.0.
* Dev: hash.h: Make many of the hash functions constexpr.
* Dev: Better unit tests to verify correctness and stability over time of
the hash functions.
* Dev: unordered_map_concurrent.h: New methods find_or_insert, nobin_mask().
* CI: Speed up CI builds by not building OpenEXR example programes.
* CI: Speed up CI by using GitHub 'cache' actions + ccache.
* CI: Separate stages (setup, deps, build, test) into separate GHA "steps"
for better logging and understanding of the timing and performance.
* CI: Now actively testing libheif in Linux CI.
* CI: Remove the last vestiges of Travis-CI, which we no longer use.
* CI: For failed tests, add CMake cache and log part of the saved artifacts.
* PSA: Avoid libheif 1.10 on Mac, it is broken. Libheif 1.11 is fine.
Release 2.2.11.1 (1 Feb 2021) -- compared to 2.2.11.0
-----------------------------------------------------
* Fix build break against Qt 5.15.2 (deprecated enum).
Release 2.2.11 (1 Feb 2021) -- compared to 2.2.10
--------------------------------------------------
* Enabled AVIF decoding of heic files (requires libheif >= 1.7 and for it
to have been built with an AV1 encoder/decoder).
* `oiiotool --help` now prints the OCIO version (where it prints the config
file and known color space).
* Bug fix: ImageBufAlgo::ociolook() and ociofiletransform() internally
reversed the order of their `inverse` and `unpremult` arguments, making it
hard to select the inverse transformation.
* Fix memory leak during decoding of some invalid Exif blocks.
* Build: No longer directly link against python libraries when unnecessary.
* Build: Better finding of OpenJpeg 2.4.
* Build: On Windows, fix some linkage problems by changing the pybind11
bindings to make a CMake "shared" library rather than "module". Sounds
wrong, but seems to work. We will reverse if this causes problems.
* Build: On Mac, libheif 1.10 is very broken. Don't use that version.
* Build: Fix build break against changes coming in future libtiff, where it
is changing from some libtiff-defined integer types to the equivalent
stdint.h types.
* Build: Some final touches to prepare for release of OpenColor 2.0.
* Build: Fixes to support the libraw 202101 snapshot (their in-progress
0.21.0).
* CI: Got Windows CI fully working, bit by bit.
* Dev: Some internal rearrangement of span.h and string_view.h (that should
not break source or ABI compatibility). `std::size()` and `std::ssize()`
should work with OIIO::span and OIIO::string_view now.
* Dev: ustring internals now have a way to ask for the list of ustrings
whose hashses collided.
* Dev: New Filesystem::generic_filepath() returnss a filepath in generic
format (not OS specific).
* Dev: ArgParse::abort() lets the response to a command line argument signal
that no further arguments should be parsed.
* Dev: In oiioversion.h, added macros `OIIO_VERSION_GREATER_EQUAL` and
`OIIO_VERSION_LESS`.
* Dev: In platform.h, added macro OIIO_INLINE_CONSTEXPR, which is equivalent
to `inline constexpr` for C++17, but just constexpr for C++ <= 14.
## Version 3.0.5 (July 1, 2021)
Patch release that fixes problems with library symlinks and
pkg-config, as well as miscellaneous bugs/security issues.
## Version 3.0.4 (June 3, 2021)
Patch release that corrects a problem with the release version number
of v3.0.2/v3.0.3:
## Version 3.0.3 (May 18, 2021)
Patch release that fixes a regression in v3.0.2 the prevented headers
from being installed properly.
# Version 3.0.2 (May 17, 2021)
Patch release with miscellaneous bug/build fixes, including:
* Fix TimeCode.frame max value
* Don't impose C++14 on downstream projects
* Restore fix to macOS universal 2 build lost from #854
* Imath auto-build version defaults to v3.0.2
## Version 3.0.1 (April 1, 2021)
Major release with major build restructing, security improvements, and
new features:
* Restructuring:
- The IlmBase/PyIlmBase submodules have been separated into the
Imath project, now included by OpenEXR via a CMake submodule
dependency, fetched automatically via CMake's FetchContent if
necessary.
- The library is now called ``libOpenEXR`` (instead of
``libIlmImf``). No header files have been renamed, they retain
the ``Imf`` prefix.
- Symbol linkage visibility is limited to specific public symbols.
* Build improvements:
- No more simultaneous static/shared build option.
- Community-provided support for bazel.
* New Features:
- ID Manifest Attributes, as described in ["A Scheme for Storing
Object ID Manifests in OpenEXR
Images"](https://doi.org/10.1145/3233085.3233086), Peter Hillman,
DigiPro 18: Proceedings of the 8th Annual Digital Production
Symposium, August 2018.
- New program: exrcheck validates the contents of an EXR file.
* Changes:
- EXR files with no channels are no longer allowed.
- Hard limit on the size of deep tile sizes; tiles must be less than
2^30 pixels.
- Tiled DWAB files used STATIC_HUFFMAN compression.
- ``Int64`` and ``SInt64`` types are deprecated in favor of
``uint64_t`` and ``int64_t``.
- Header files have been pruned of extraneous ``#include``'s
("Include What You Use"), which may generate compiler errors in
application source code from undefined symbols or
partially-defined types. These can be resolved by identifying and
including the appropriate header.
Imath is a basic, light-weight, and efficient C++ representation of 2D
and 3D vectors and matrices and other simple but useful mathematical
objects, functions, and data types common in computer graphics
applications.
Highlights:
# New classes
- Added a `vtkImageProbeFilter` which works like `vtkProbeFilter`, but for
`vtkImageData`
# New support
- `enum class` setters and getters are now supported via
`vtk{Get,Set}EnumMacro`
# Fixes
- The `QVTKRenderWidget.h` is now installed.
- `vtk3DLinearGridPlaneCutter` guards against `nullptr` points and cells
- The composite date mapper now iterates over data blocks properly
- `vtkStringArray::Resize` takes tuple elements into account
- `vtkArrowSource` now supports scalong and rotation around the origin or the
arrow's center point
- The `VTK::DomainsChemistryOpenGL2`, `VTK::RenderingContextOpenGL2`, and
`VTK::RenderingOpenGL2` modules are added to the `Rendering` group to avoid
missing implementations of rendering components
- `vtkCutter` enables point merging when requested through a
`vtkPointLocator` which merges points
- `vtkAxesActor` bounds calculations improved to avoid assumptions about
range values
- `vtkWindowLevelLookupTable` out-of-range colors are now initialized
properly
- `vtkImageReslice::RequestInformation` is refactored handle common image
information passing
- `vtkImageReslice` creates a new interpolator in `::GetInterpolator`; this
new interpolator now uses the same interpolation mode as `vtkImageReslice`
itself
NEWS - OpenPrinting CUPS Filters v1.28.9 - 2021-06-15
-----------------------------------------------------
CHANGES IN V1.28.9
- libcupsfilters: Silenced compiler warnings
- libcupsfilters: Removed duplicate code in the
apply_filters() function.
- driverless: If there are no driverless IPP printers
available let "driverless" terminate with exit code 0 and
not 1, to follow CUPS' standard of backends in discovery
mode terminating with 0 if there are no appropriate printers
found (Issue #375).
- gstoraster, foomatic-rip: Fixed Ghostscript command line for
counting pages as it took too long on PDFs from evince when
printing DjVu files (Issue #354, Pull request #371, Ubuntu
bug #1920730).
- cups-browsed: Renamed ldap_connect() due to conflict in
new openldap (Issue #367, Pull request #370).
- pdftoraster: Free color data after processing of each page
(Pull request #363).
- cups-browsed: Always save "...-default" option entries
from printers.conf, regardless of presence or absense
of PPD file (Pull request #359).
- cups-browsed: Start after network-online.target (Pull
request #360).
- texttopdf: Set default margins when no PPD file is used
(Pull request #356).
2.4.2
- BUG/MINOR: server-state: load SRV resolution only if params match the config
- BUG/MINOR: server: Forbid to set fqdn on the CLI if SRV resolution is enabled
- BUG/MEDIUM: server/cli: Fix ABBA deadlock when fqdn is set from the CLI
- MINOR: resolvers: Clean server in a dedicated function when removing a SRV item
- MINOR: resolvers: Remove server from named_servers tree when removing a SRV item
- BUG/MEDIUM: resolvers: Add a task on servers to check SRV resolution status
- BUG/MINOR: resolvers: Use resolver's lock in resolv_srvrq_expire_task()
- BUG/MINOR: server/cli: Fix locking in function processing "set server" command
- BUG/MINOR: cache: Correctly handle existing-but-empty 'accept-encoding' header
- BUG/MAJOR: server: fix deadlock when changing maxconn via agent-check
- REGTESTS: fix maxconn update with agent-check
- MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules
- DOC: config: Add missing actions in "tcp-request session" documentation
- CLEANUP: dns: Remove a forgotten debug message
- BUG/MINOR: resolvers: Always attach server on matching record on resolution
- BUG/MINOR: resolvers: Reset server IP when no ip is found in the response
- MINOR: resolvers: Reset server IP on error in resolv_get_ip_from_response()
- BUG/MINOR: checks: return correct error code for srv_parse_agent_check
- BUILD: Makefile: fix linkage for Haiku.
- BUG/MINOR: tcpcheck: Fix numbering of implicit HTTP send/expect rules
- BUG/MINOR: mqtt: Fix parser for string with more than 127 characters
- BUG/MINOR: mqtt: Support empty client ID in CONNECT message
- BUG/MEDIUM: resolvers: Make 1st server of a template take part to SRV resolution
- DOC: config: use CREATE USER for mysql-check
- BUG/MINOR: stick-table: fix several printf sign errors dumping tables
- BUG/MINOR: peers: fix data_type bit computation more than 32 data_types
- DOC: stick-table: add missing documentation about gpt0 stored type
- BUG/MEDIUM: sock: make sure to never miss early connection failures
- BUG/MINOR: cli: fix server name output in "show fd"
- Revert "MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules"
- MINOR: http: implement http_get_scheme
- MEDIUM: http: implement scheme-based normalization
- MEDIUM: h1-htx: apply scheme-based normalization on h1 requests
- MEDIUM: h2: apply scheme-based normalization on h2 requests
- REGTESTS: add http scheme-based normalization test
21.07
New Features:
Controller GUIDs and SDL_GameController mappings are printed on device connect
Update to FNA3D 21.07
Update to FAudio 21.07
Fixes:
Fix the Any CPU configuration in FNA.sln
0.17.1
Added
- Implement support for async side effects in router.
- Support mocking responses using asgi/wsgi apps.
- Added pytest fixture and configuration marker.
Fixed
- Typo in import from examples.md.
- Fix pass-through test case.
0.18.2
Added
* Support for Python 3.10.
* Expose `httpx.USE_CLIENT_DEFAULT`, used as the default to `auth` and `timeout` parameters in request methods.
* Support [HTTP/2 "prior knowledge"](https://python-hyper.org/projects/hyper-h2/en/v2.3.1/negotiating-http2.html#prior-knowledge), using `httpx.Client(http1=False, http2=True)`.
Fixed
* Clean up some cases where warnings were being issued.
* Prefer Content-Length over Transfer-Encoding: chunked for content=<file-like> cases.
0.13.6
Fixed
- Close sockets when read or write timeouts occur.
0.13.5
Fixed
- Resolved niggles with AnyIO EOF behaviours.
0.13.4
Added
- Improved error messaging when URL scheme is missing, or a non HTTP(S) scheme is used.
Fixed
- Switched to `anyio` as the default backend implementation when running with `asyncio`. Resolves some awkward [TLS timeout issues](https://github.com/encode/httpx/discussions/1511).
AnyIO is a asynchronous compatibility API that allows applications and
libraries written against it to run unmodified on asyncio, curio and trio.
It bridges the following functionality:
* Task groups
* Cancellation
* Threads
* Signal handling
* Asynchronous file I/O
* Synchronization primitives (locks, conditions, events, semaphores, queues)
* High level networking (TCP, UDP and UNIX sockets)