Release 2.2.16
* New UDIM texture name patterns recognized: `%(UDIM)d` is the Houdini
convention, and `_u##v##` is for Animal Logic's internal renderer.
* When doing color space transforms on images with > 4 channels -- the
additional channels are now copied unaltered, rather than leaving them
black.
* FFMpeg: fix some encodings that didn't correctly recognize that they were
more than 8 bits, or had alpha.
* farmhash.h: Clean up all non-namespaced preprocessor symbols that are set
by this header and may pollute the caller's symbols.
* Fix crashes on M1 (ARM) based Mac.
* Bug fix: avid divide-by-0 error computing chunk size for invalid image
sizes.
* `make_texture` (and `maketx` and `oiiotool -otex`) no longer crash if you
try to make a texture out of a "deep" image; instead it will return an
error message.
* filesystem.h: Improve exception safety in Filesystem directory iteration.
* Build: Improve finding of OpenJPEG.
* Build: Support for building OIIO with gcc 11.
* Build: Fixes to accommodate Imath 3.1 upcoming changes.
* Build: Finding FFMpeg now correctly detects the version.
* Build: clang + C++17 + LibRaw < 0.20 are mutually incompatible. Detect
this combination and warn / disable libraw under those conditions.
* Build: Fix CMake behavior for `REQUIRED_DEPS` due to a typo.
* Build: Fixes for detecting and using Ptex, among other things got the
version wrong.
* Testing: If a feature is disabled, skip its tests rather than reporting
them as broken.
* CI: Test the combination of clang and C++17.
New in 2021.3 Release
New Features
Since C++20 multiple interfaces are constrained to enforce requirements on argument types.
Preview Features
Extended the high-level task API to simplify migration from TBB to oneTBB.
Added mutex and rw_mutex that are suitable for long critical sections and resistant to high contention.
Added ability to customize the concurrent_hash_map mutex type.
Added heterogeneous lookup, erase, and insert operations to concurrent_hash_map.
Known Limitations
An application using Parallel STL algorithms in libstdc++ versions 9 and 10 may fail to compile due to incompatible interface changes between earlier versions of Threading Building Blocks (TBB) and oneAPI Threading Building Blocks (oneTBB). Disable support for Parallel STL algorithms by defining PSTL_USE_PARALLEL_POLICIES (in libstdc++ 9) or _GLIBCXX_USE_TBB_PAR_BACKEND (in libstdc++ 10) macro to zero before inclusion of the first standard header file in each translation unit.
On Linux, if oneAPI Threading Building Blocks (oneTBB) or Threading Building Blocks (TBB) is installed in a system folder like /usr/lib64, the application may fail to link due to the linker search order for libraries. Use the -L linker option to specify the correct location of oneTBB libraries. This issue does not affect program execution.
The oneapi::tbb::info namespace interfaces might unexpectedly change the process affinity mask on Windows systems (see https://github.com/open-mpi/hwloc/issues/366 for details).
Bugs Fixed
Fixed several issues in parallel algorithms and concurrent containers on ARM.
Improved ThreadSanitizer support for the oneTBB Scalable Memory Allocator.
Improved scheduler to reduce the impact of thread priority inversion.
Fixed the behavior of affinity_partitioner and static_partitioner to resolve possible performance issues.
Fixed crash when finalize is called with null scheduler_handler.
Fixed the oneTBB assertion mechanism to avoid possible leaking of user directory paths.
Fixed crash in resumable tasks on ARM-based macOS.
Fixed compilation failures
Version 6.2.9 (July 2021)
- Fixed potential buffer overflow in pgnload and pgnreplay (CVE-2021-30184)
Version 6.2.8 (May 2021)
- Bug fixes in the input/output processing.
0.29.24
Bugs fixed
* Inline functions in pxd files that used memory views could lead to invalid
C code if the module that imported from them does not use memory views.
* Several declarations in ``libcpp.string`` were added and corrected.
* Pickling unbound Cython compiled methods failed.
* The tracing code was adapted to work with CPython 3.10.
* The optimised ``in`` operator failed on unicode strings in Py3.9 and later
that were constructed from an external ``wchar_t`` source.
Also, related C compiler warnings about deprecated C-API usage were resolved.
* Some compiler crashes were resolved.
* An incorrect warning about 'unused' generator expressions was removed.
* The attributes ``gen.gi_frame`` and ``coro.cr_frame`` of Cython compiled
generators and coroutines now return an actual frame object for introspection,
instead of ``None``.
Version 59.0.0 "Shining Star" 2021-07-10
New features and enhancements
* mkvmerge: WebVTT parser: the parser now follows the specs' rules for parsing
timestamps more closely by being more lenient: it allows arbitrary number of
spaces & tabs at the start of the line & around the arrow; it allows any
number of digits for the hours.
* MKVToolNix GUI: multiplexer: when adding a Blu-ray playlist without scanning
for other playlists the GUI will now look for disc library information & let
the user select which one to use if there's more than one entry.
* MKVToolNix GUI: multiplexer: added an option for sorting files & tracks by
track types when adding them to multiplex settings. The order is: video
first followed by audio, subtitles and other types. Files & tracks can still
be reordered manually later. The option is enabled by default & can be found
in the preferences → "Multiplexer" page → "Adding files" section.
* MKVToolNix GUI: multiplexer: added an option for recognizing file name
sequences such as `movie.001.mp4`, `movie.002.mp4`, `movie.003.mp4` when
adding multiple files at once. If a sequence is detected, the only first
file will be added while the second and following file names will be
appended to the first one. The option is enabled by default & can be found
in the preferences → "Multiplexer" page → "Adding files" section.
* MKVToolNix GUI: multiplexer: added small colored boxes for each file & track
in order to indicate from which file each track is read. The colors used can
be configured in the preferences → "Multiplexer" page → "File & track
colors" section.
Bug fixes
* build system: fixed compilation with fmt v8.
* mkvmerge: SRT subtitle reader: characters that aren't valid according to the
assumed encoding of the file will now be replaced by the Unicode
"Replacement Character" U+FFFD instead of keeping the invalid characters,
potentially violating the Matroska specs.
* mkvmerge: WebVTT parser: the parser now accepts timestamps with hours
larger than 99.
* mkvextract: TTA extraction, only on Windows: fixed removing the temporary
file created during extraction.
* mkvmerge, mkvpropedit, MKVToolNix GUI's multiplexer & header editor: MIME
type detection is now done using Qt instead of the `magic` library. The main
impact is the MIME types of TrueType & OpenType fonts are now detected
correctly.
* mkvmerge, mkvinfo, MKVToolNix GUI's info tool: only on Windows: displaying
dates before 1970-01-01 00:00:00 UTC or after 2038-01-19 03:14:08 UTC was
broken. Note that the header editor was not affected.
* MKVToolNix GUI: only on 64-bit Windows: under certain conditions, the 64-bit
Windows binaries crashed when opening dialog windows. Even though the
underlying bug hasn't been identified, the investigation showed that
building it with newer versions than 10.2.0 of the mingw/gcc cross-compiler
enabled the crashes, while binaries built with 10.2.0 were fine. This
affected v57 and v58 which were built with gcc versions 10.3.0 and 11.1.0
respectively. For the time being I've switched back to building Windows
binaries with gcc 10.2.0.
* MKVToolNix GUI: multiplexer: when adding files to the multiplexer by running
the GUI's executable with file names as command line arguments, the source
directory will be remembered as the "last open directory" again, causing
subsequent uses of the "open file" dialog to start in the same directory.
* MKVToolNix GUI: multiplexer: the "default track flag" column in the track
list was missing its icons. Additionally it contained text even for things
that aren't regular tracks and therefore do not actually have that flag
(e.g. chapters or tags).
* MKVToolNix GUI: multiplexer: the default for the dialog asking the user what
to do with dragged & dropped files if they've never seen the dialog is back
to adding the files to the current multiplex settings instead of "add as
additional parts" which was an unintentional default.
* MKVToolNix GUI: multiplexer: the "show command line" dialog will now always
use backward slashes for the "Windows (cmd.exe)" mode and forward slashes
for the "Linux/Unix shells" mode, regardless of the operating system it's
currently running on.
Build system changes
* The Qt library is now required for building all applications, even the
command-line ones, as they use Qt's MIME type detection capabilities. In
turn this means that you cannot disable the Qt usage anymore; either Qt5 or
Qt 6 is required.
You can still chose not to build MKVToolNix GUI, though. A new option has
been added to `configure` for this purpose: `--disable-gui`.
* The `gmp` library is now required.
* The `magic` library is not used anymore.
* The `PCRE2` & `JPCRE2` libraries are not used anymore. The bundled version
of `JPCRE2` was removed.
* Boost's "rational" library is not used anymore.
* `configure`: the option `--enable-appimage` has been removed. The location
of the relevant directories within an AppImage is now detected
automatically.
* The bundled `fmt` library was updated to v8.0.0.
8.0.1:
Fixed the version number in the inline namespace
Added a missing presentation type check for std::string
Fixed a linkage error when mixing code built with clang and gcc
Fixed documentation issues
Removed dead code in FP formatter
Fixed various warnings and compilation issues
8.0.0:
Enabled compile-time format string check by default.
Added compile-time formatting
Optimized handling of format specifiers during format string compilation. For example, hexadecimal formatting ("{:x}") is now 3-7x faster than before when using format_to with format string compilation and a stack-allocated buffer
Added the _cf user-defined literal to represent a compiled format string. It can be used instead of the FMT_COMPILE macro
Format string compilation now requires format functions of formatter specializations for user-defined types to be const
Added UDL-based named argument support to format string compilation
Added format string compilation support to fmt::print
Added initial support for compiling {fmt} as a C++20 module
Made symbols private by default reducing shared library size. For example there was a ~15% reported reduction on one platform
Optimized includes making the result of preprocessing fmt/format.h ~20% smaller with libstdc++/C++20 and slightly improving build times
Added support of ranges with non-const begin / end
Added support of std::byte and other formattable types to fmt::join
Implemented the default format for std::chrono::system_clock
Made more chrono specifiers locale independent by default. Use the 'L' specifier to get localized formatting.
Improved locale handling in chrono formatting
10/09/2020: GPAC 1.0.1
This release fixes build and installation issues in 1.0.0, as well as
various bugs introduced during the migration to the filters
architecture.
It also adds several small features:
- better ttml import
- better support for MPEGH audio
- support fur DASH UTCTiming
- manifest generation from pre-fragmented DASH/HLS mp4
- speed optimization in isobmf reading (normal and fragmented)
- improved JS API for the filter session
- core tools exposed as JS module (file io, bitstream, etc ...)
- android fixes
16/06/2020: GPAC 1.0
- Complete rewrite of GPAC streaming core:
* addition of a filter-based architecture, used by MP4Client
and MP4Box.
* moving all decoders and demuxer plugins of MP4Client and most of
MP4Box import/export code as filters for this new architecture,
* moving DASH/HLS segmenter to a filter
* moving MP4Client compositor and most of the GF_Terminal internals
to a filter
* addition of a new application gpac, whose only purpose is to
create and run filter chains
* removal of MP42TS and DashCast applications since these
functionalities are provided by gpac
* deprecation of some features (widget management, MSE draft
implementation for SVG media, UPnP, TEMI player support).
- Profile system allowing to override through a static file default
options of all filters and libgpac core
- Alias system for gpac app to simplify your command lines
- Enhanced DASHer:
* Support for HLS and dual HLS / DASH generation
* Support for any input
* True low-latency mode for DASH
* Support for multiple periods
* Support for other segment formats (raw, mkv, webm currently
tested)
- Input and outputs
* Generic pipe, TCP, UDP, and Unix Domain socket input and output
* RTSP server output
* HTTP output (client and server), supporting low latency DASH access
* Ad-hoc stream format called GSF to allow serialization to file,
pipe or socket of a session (for distributed filter chains),
supporting AES-128 CBC encryption.
- Raw audio (PCM) and video (RGB, YUV) reframers and exporters
- HEVC tile spliting and merging filters
- Compositor is a standalone filter (SVG/BIFS/VRML graphics in a
filter chain)
- Image encoding support through libjpg and libpng
- Full FFMPEG support:
* Encoding/decoding through FFMPEG libavcodec
* Multiplexing/demultiplexing through FFMPEG libavformat
* Device grabbers through FFMPEG libavdevice
* Raw audio and video filters through FFMPEG libavfilter
- Support for QuickJS (ES2002) and bindings for:
* Complete filter API
* GPAC software rasterizer (EVG)
* WebGL 1.0 Core
* XmlHttpRequest and uDOM APIs
* Storage
- Inspect and analyze filter
- MPEG-2 TS splitter
- Video cropper filter with zero-copy mode
- Video flip filter
- Source concatenator filter
- Simple audio and video output filters
- Experimental audio and video rewinder filter
- Encryption
* On-the-fly encryption and decryption, now available as filters
* Segment-based encryption and decryption
- ISOBMFF
* box customization
* Better QT support, prores parsing and dumping
* Support for raw media (QT style or ISOBMFF for audio)
* Simplify HEIF batch conversion through item to track mapping
* Reading from pipes (fragmented or progressive files)
* Writing to packets rather than files
* Fast interleaved file creation mode with less storage requirements
- FileIO wrapper for cases where files are not stored in a file system
known by GPAC
- Testing and Documentation
* Live doc generation (man and wiki)
* Improved coverage
* Split test suite as dedicated repo
* Moved all resource to https://wiki.gpac.io
* Started howto pages on wiki
* Many bug fixes
Fixes:
- pyinstaller dir-mode: fix pyi detection / LIBPATH treatment
- handle crash due to kill stale lock race
- fix BORG_CACHE_DIR crashing borg if empty
- create --dry-run: fix display of kept tagfile
- fix missing parameter in "did not consistently fail" msg
- missing / healed chunks: always tell chunk ID
- benchmark: make sure cleanup happens even on exceptions
New features:
- implement BORG_SELFTEST env variable.
this can be used to accelerate borg startup a bit. not recommended for
normal usage, but borg mass hosters with a lot of borg invocations can
save some resources with this. on my laptop, this saved ~100ms cpu time
(sys+user) per borg command invocation.
- implement BORG_LIBC env variable to give the libc filename.
you can use this if a borg does not find your libc.
- check: add progress indicator for archive check.
- allow --files-cache=size (not recommended, make sure you know what you do)
Other changes:
- Python 3.10 now officially supported!
we test on py310-dev on github CI since a while and now also on the vagrant
machines, so it should work ok.
- github CI: test on py310 (again)
- get rid of distutils, use packaging and setuptools.
distutils is deprecated and gives warnings on py 3.10.
- setup.py: rename "clean" to "clean2" to avoid shadowing the "clean" command.
- remove libc filename fallback for the BSDs (there is no "usual" name)
- cleanup flake8 checks, fix some pep8 violations.
- docs building: replace deprecated function ".add_stylesheet()" for Sphinx 4 compatibility
- docs:
- add a hint on sleeping computer and ssh connections
- update the documentation on hacked backup client
- improve docs/FAQ about append-only remote repos
- complement the documentation for pattern files and exclude files
- "filename with spaces" example added to exclude file
note: no whitespace escaping needed, processed by borg.
- add info on renaming repositories
- clarify borg check --verify-data
- add notice about defective hardware to check documentation
- add paragraph added in #5855 to utility documentation source
- add missing leading slashes in help patterns
- clarify "you will need key and passphrase" borg init warning
- pull mode: add some warnings
- mention tar --compare (compare archive to fs files)
Changelog:
Fixes
OpenPGP could not be disabled for an account if a key was previously configured
Recipients were unable to decrypt some messages when the sender had changed the
message encryption from OpenPGP to S/MIME
Contacts moved between CardDAV address books were not synced to the new server
CardDAV compatibility fixes for Google Contacts
Folder pane had no clear indication of focus on macOS
Windows theme improvements
Various security fixes
Security fixes:
#CVE-2021-29964: Out of bounds-read when parsing a `WM_COPYDATA` message
#CVE-2021-29967: Memory safety bugs fixed in Thunderbird 78.11
Changelog:
New
* On Windows, updates can now be applied in the background while Firefox is
not running.
* Firefox for Windows now offers a new page about:third-party to help
identify compatibility issues caused by third-party applications
* Exceptions to HTTPS-Only mode can be managed in about:preferences#privacy
* Print to PDF now produces working hyperlinks
* Version 2 of Firefox??s SmartBlock feature further improves private
browsing. Third-party Facebook scripts are blocked to prevent you from
being tracked, but are now automatically loaded ??just in time?? if you
decide to ??Log in with Facebook?? on any website.
Fixed
* Various security fixes
Changed
* The "Open Image in New Tab" context menu item now opens images and media in
a background tab by default. Learn more
* Most users without hardware accelerated WebRender will now be using
software WebRender.
* Improved software WebRender performance
* FTP support has been removed
Enterprise
* Various bug fixes and new policies have been implemented in the latest
version of Firefox. See more details in the Firefox for Enterprise 90
Release Notes.
Developer
* Developer Information
* Support for Private Fields (TC39 proposal, stage 3) is available in
DevTools. The support includes: object inspection, autocompletion,
expression evaluation, variable tooltips, and pretty printing (bug)
* The Network panel shows a preview of HTTP requests for fonts in the
Response tab (bug)
Network panel font preview screenshot
Web Platform
* Support for Fetch Metadata Request Headers, which allows web applications
to better protect themselves and their users against various cross-origin
threats.
* Added the ability to use client authentication certificates stored in
hardware tokens or in Operating System storage.
Security fixes:
#CVE-2021-29970: Use-after-free in accessibility features of a document
#CVE-2021-29971: Granted permissions only compared host; omitting scheme and
port on Android
#CVE-2021-30547: Out of bounds write in ANGLE
#CVE-2021-29972: Use of out-of-date library included use-after-free
vulnerability
#CVE-2021-29973: Password autofill on HTTP websites was enabled without user
interaction on Android
#CVE-2021-29974: HSTS errors could be overridden when network partitioning was
enabled
#CVE-2021-29975: Text message could be overlaid on top of another website
#CVE-2021-29976: Memory safety bugs fixed in Firefox 90 and Firefox ESR 78.12
#CVE-2021-29977: Memory safety bugs fixed in Firefox 90
Changes:
Remove unneeded caret force draw (Hubert Figuière)
Use shared_ptr for fl_PartOfBlock to avoid use-after-free crash.
Cherry-pick (two patches) from master (Hubert Figuiere)
Fix crash when IM is called before the document is ready (Hubert Figuière)
Bug 13882 - Part 1: Enforce format overflow warning (Hubert Figuiere)
Fix crash with cut and paste
The exporter expects an file URI not a path
See MR 7 (Hubert Figuière)
Bug 13882 - Part 2: Ensure the clipping rect is owned by GR_Graphics (Hubert Figuiere)
msword: Fix a potential buffer overrun in footnotes and endnotes (Hubert Figuière)
Issue #3 - Define ASIO_ENABLE_BOOST when building collab plugin MR 3 (Julian Sikorski)
gtk+TableWidget: fix display of the TableWidget
Issue 13918 - Fix an incorrect check for null (Hubert Figuière)