The GStreamer team is proud to announce a new major feature release of your favourite cross-platform multimedia framework!
The 1.14 release series adds new features on top of the previous 1.12 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework.
Highlights:
WebRTC support: real-time audio/video streaming to and from web browsers
Experimental support for the next-gen royalty-free AV1 video codec
Video4Linux: encoding support, stable element names and faster device probing
Support for the Secure Reliable Transport (SRT) video streaming protocol
RTP Forward Error Correction (FEC) support (ULPFEC)
RTSP 2.0 support in rtspsrc and gst-rtsp-server
ONVIF audio backchannel support in gst-rtsp-server and rtspsrc
playbin3 gapless playback and pre-buffering support
tee, our stream splitter/duplication element, now does allocation query aggregation which is important for efficient data handling and zero-copy
QuickTime muxer has a new prefill recording mode that allows file import in Adobe Premiere and FinalCut Pro while the file is still being written.
rtpjitterbuffer fast-start mode and timestamp offset adjustment smoothing
souphttpsrc connection sharing, which allows for connection reuse, cookie sharing, etc.
nvdec: new plugin for hardware-accelerated video decoding using the NVIDIA NVDEC API
Adaptive DASH trick play support
ipcpipeline: new plugin that allows splitting a pipeline across multiple processes
Major gobject-introspection annotation improvements for large parts of the library API
GStreamer C# bindings have been revived and seen many updates and fixes
The externally-maintained GStreamer Rust bindings have many usability improvements and cover most of the API now
Changes in 3.11.1 since 3.11.0:
Revert "CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES"
CPack: Fix crash on invalid generator name
Restore support for explicitly referenced CMakeLists.txt sources
Exclude "libgcc_eh" library files from implicit link libraries
Features: Record for VS 2017 through 15.6
Explicitly require LibUV 1.10 or higher to build CMake
bootstrap: Add option to enable/disable usage of system libuv
Fix crash with --trace-expand --warn-uninitialized together
FindOpenMP: Fix support for Intel on Windows
Autogen: Protected calls to cmSystemTools::CollapseCombinedPath
Autogen: Protected calls to cmSystemTools::Split/JoinPath
Autogen: Protected calls to cmSystemTools::GetFilenameWithoutLastExtension
Autogen: Protected calls to cmQtAutoGen::SubDirPrefix
Autogen: Protected calls to cmFilePathChecksum
Autogen: Use std::istreambuf_iterator for file so string reading
Autogen: Print moc/uic/rcc output to stdout
This is a development release, but gnutls needs at least 0.23.x,
so take the latest development release.
0.23.10 (devel)
* filter: Respect "write-protected" vendor-specific attribute in
PKCS#11 URI [PR#129]
* server: Improve shell integration and documentation [PR#107, PR#108]
* proxy: Reuse existing slot ID mapping in after fork() [PR#120]
* trust: Forcibly mark "Default Trust" read-only [PR#123]
* New function p11_kit_override_system_files() which can be used for
testing [PR#110]
* trust: Filter out duplicate extensions [PR#69]
* Update translations [PR#128]
* Bug fixes [PR#125, PR#126]
0.23.9 (devel)
* Fix p11-kit server regressions [PR#103, PR#104]
* trust: Respect anyExtendedKeyUsage in CA certificates [PR#99]
* Build fixes related to reallocarray [PR#96, PR#98, PR#100]
0.23.8 (devel)
* Improve vendor query attributes handling in PKCS#11 URI [PR#92]
* Add OTP and GOST mechanisms to pkcs11.h [PR#90, PR#91]
* New envvar P11_KIT_NO_USER_CONFIG to stop looking at user
configurations [PR#87]
* Build fixes for Solaris and 32-bit big-endian platforms [PR#81, PR#86]
0.23.7 (devel)
* Fix memory issues with "p11-kit server" [PR#78]
* Build fixes [PR#77 ...]
0.23.6 (devel)
* Port "p11-kit server" to Windows and portability fixes of the RPC
protocol [PR#67, PR#72, PR#74]
* Recover the old behavior of "trust anchor --remove" [PR#70, PR#71]
* Build fixes [PR#63 ...]
0.23.5 (devel)
* Fix license notice of common/unix-peer.c [PR#58]
* Remove systemd unit files for now [PR#60]
* Build fixes for FreeBSD [PR#56]
0.23.4 (devel)
* Recognize query attributes defined in PKCS#11 URI (RFC7512) [PR#31,
PR#37, PR#52]
* The trust policy module now recognizes CKA_NSS_MOZILLA_CA_POLICY
attribute, used by Firefox [#99453, PR#46]
* Add 'trust dump' command to dump all PKCS#11 objects in the
persistence format [PR#44]
* New experimental 'p11-kit server' command that allows PKCS#11
forwarding through a Unix domain socket. A client-side module
p11-kit-client.so is also provided [PR#15]
* Add systemd unit files for exporting the proxy module through a
Unix domain socket [PR#35]
* New P11KitIter API to iterate over slots, tokens, and modules in
addition to objects [PR#28]
* libffi dependency is now optional [PR#9]
* Build fixes for FreeBSD, macOS, and Windows [PR#32, PR#39, PR#45]
0.23.3 (devel)
* Install private executables in libexecdir [#98817]
* Fix link error of proxy module on macOS [#98022]
* Use new PKCS#11 URI specification for URIs [#97245]
* Support x-init-reserved argument of C_Initialize() in remote modules [#80519]
* Incorporate changes from PKCS#11 2.40 specification
* Bump libtool library version
* Documentation fixes
* Build fixes [#87192 ...]
0.23.2 (devel)
* Fix forking issues with libffi [#90289 ...]
* Updated translations
* Build fixes [#90827#89081#92434#92520#92445#92551#92843#92842#92807#93211 ...]
0.23.1 (devel)
* Use new PKCS#11 URI draft fields for URIs [#86474#87582]
* Add pem-directory-hash extract format
* Build fixes
Fix an issue in pkg_create where we may have been using corrupted owner and
group information. Noticed on macOS where libarchive would complain about
the owner entry being too long. Reviewed by joerg.
Also includes some manual page improvements committed recently.
This is a regularly-scheduled bugfix release.
1.1. Bug Fixes
rebase: on abort, don't strip commits that didn't need to be rebased (issue5822)
hgweb: garbage collect on every request
amend: abort if unresolved merge conflicts found (issue5805)
v2.0.0
========
* fix#237 - correct imports in code examples
* improve mercurial commit detection (thanks Aaron)
* breaking change: remove support for setuptools before parsed versions
* reintroduce manifest as the travis deploy cant use the file finder
* reconfigure flake8 for future compatibility with black
* introduce support for branch name in version metadata and support a opt-in simplified semver version scheme
v0.27
---------
### Changes or improvements
* Improved `p_unlink` in `posix_w32.c` to try and make a file writable
before sleeping in the retry loop to prevent unnecessary calls to sleep.
* The CMake build infrastructure has been improved to speed up building time.
* A new CMake option "-DUSE_HTTPS=<backend>" makes it possible to explicitly
choose an HTTP backend.
* A new CMake option "-DSHA1_BACKEND=<backend>" makes it possible to explicitly
choose an SHA1 backend. The collision-detecting backend is now the default.
* A new CMake option "-DUSE_BUNDLED_ZLIB" makes it possible to explicitly use
the bundled zlib library.
* A new CMake option "-DENABLE_REPRODUCIBLE_BUILDS" makes it possible to
generate a reproducible static archive. This requires support from your
toolchain.
* The minimum required CMake version has been bumped to 2.8.11.
* Writing to a configuration file now preserves the case of the key given by the
caller for the case-insensitive portions of the key (existing sections are
used even if they don't match).
* We now support conditional includes in configuration files.
* Fix for handling re-reading of configuration files with includes.
* Fix for reading patches which contain exact renames only.
* Fix for reading patches with whitespace in the compared files' paths.
* We will now fill `FETCH_HEAD` from all passed refspecs instead of overwriting
with the last one.
* There is a new diff option, `GIT_DIFF_INDENT_HEURISTIC` which activates a
heuristic which takes into account whitespace and indentation in order to
produce better diffs when dealing with ambiguous diff hunks.
* Fix for pattern-based ignore rules where files ignored by a rule cannot be
un-ignored by another rule.
* Sockets opened by libgit2 are now being closed on exec(3) if the platform
supports it.
* Fix for peeling annotated tags from packed-refs files.
* Fix reading huge loose objects from the object database.
* Fix files not being treated as modified when only the file mode has changed.
* We now explicitly reject adding submodules to the index via
`git_index_add_frombuffer`.
* Fix handling of `GIT_DIFF_FIND_RENAMES_FROM_REWRITES` raising `SIGABRT` when
one file has been deleted and another file has been rewritten.
* Fix for WinHTTP not properly handling NTLM and Negotiate challenges.
* When using SSH-based transports, we now repeatedly ask for the passphrase to
decrypt the private key in case a wrong passphrase is being provided.
* When generating conflict markers, they will now use the same line endings as
the rest of the file.
### API additions
* The `git_merge_file_options` structure now contains a new setting,
`marker_size`. This allows users to set the size of markers that
delineate the sides of merged files in the output conflict file.
By default this is 7 (`GIT_MERGE_CONFLICT_MARKER_SIZE`), which
produces output markers like `<<<<<<<` and `>>>>>>>`.
* `git_remote_create_detached()` creates a remote that is not associated
to any repository (and does not apply configuration like 'insteadof' rules).
This is mostly useful for e.g. emulating `git ls-remote` behavior.
* `git_diff_patchid()` lets you generate patch IDs for diffs.
* `git_status_options` now has an additional field `baseline` to allow creating
status lists against different trees.
* New family of functions to allow creating notes for a specific notes commit
instead of for a notes reference.
* New family of functions to allow parsing message trailers. This API is still
experimental and may change in future releases.
### API removals
### Breaking API changes
* Signatures now distinguish between +0000 and -0000 UTC offsets.
* The certificate check callback in the WinHTTP transport will now receive the
`message_cb_payload` instead of the `cred_acquire_payload`.
* We are now reading symlinked directories under .git/refs.
* We now refuse creating branches named "HEAD".
* We now refuse reading and writing all-zero object IDs into the
object database.
* We now read the effective user's configuration file instead of the real user's
configuration in case libgit2 runs as part of a setuid binary.
* The `git_odb_open_rstream` function and its `readstream` callback in the
`git_odb_backend` interface have changed their signatures to allow providing
the object's size and type to the caller.
0.8.1 - 2018-03-13
------------------
- Previous attempts to sanitize cassette names were incomplete.
Sanitization has become more thorough which could have some affects on
existing cassette files. **This may cause new cassettes to be generated.**
- Fix bug where there may be an exception raised in a
``betamax.exceptions.BetamaxError`` repr.