Change log:
Version 6.5 adds several important new features since the bug-fix version 6.3 (from mid-November 2020) while squashing many bugs and speeding up a number of parts of the system. Many of the contributions were made by members of the open source community, including major contributions by Jacob Tyler Walls (JTW), Mark Gotham (MG), Néstor Nápoles López (NNL), and Paula Muñoz Lago.
Highlights include:
PartStaff objects such as a staff of a piano part now export properly back to MusicXML as one part with <staff> tags. Huge work by JTW!
RomanText is now a valid output format in addition to input! Save your analyses for later! Thanks Mark Gotham!
search/lyrics now finds second and subsequent lyrics (thanks to Paula ML and DIDONE project)
Improvements to VI and VII roman numerals in minor (JTW)
MIDI tries to import part names from instruments (JTW)
MIDI properly reads and writes conductor tracks (JTW)
Doc improvements for many places including RomanNumerals, insertIntoNoteOrChord, chordify with GraceNote (MSC)
Major speedups for many chord actions including getLeadingTone, isTriad, isMajorTriad, etc. (NNL + MSC w/ JTW)
music21 loads or starts up in 1/3 the time as before. (MSC)
Opus.write() improvements -- now all filenames of an Opus write call have similar names and only the last filename is returned (JTW)
All properties in music21 are readable without raising an exception. This will help inspection/debugging software. (MSC)
Staff-type is imported and exported properly to/from musicxml as the .staffType attribute on layout.StaffLayout objects. .staffLines is now settable on all Stream types (not just Parts) as a shortcut to manipulating layout.StaffLayout().staffLines at the start of the Stream. (MSC)
roman.RomanNumeral.isNeapolitan() (MG)
Smaller features and bug fixes:
midi.realtime.StreamPlayer now allows for non-blocking playing and for stopping at various points. (antran22)
If scratch/temp directory is not writable or does not exist, use backup directories (JTW + Tanchihpin0517 )
Use subprocess.run() for launching external tools (JTW)
Deprecated method Environment.launch() is removed. (JTW)
MusicXML reader selection improved, especially on Windows (MSC)
Refactor of the musicxml subpackage for smaller files and more expandability (MSC)
Default readers set for Unix (Thomas Wilson).
RomanNumeral parsing improvements, esp. for chords like V7b5. (MSC)
testing is moved to Github Actions for faster responses. Thanks to Travis-CI for years of support (MSC)
works on Python 3.9 -- v6 is likely the last version to support py 3.6. (MSC)
Instruments outside of voices are retained when making measures (JTW)
all tests pass on Windows for windows developers. (JTW)
better installation on conda-forge w/ a webcolors change (JTW)
unmeasured scores export to MusicXML better (JTW)
MIDI instruments no longer get incorrect durations (JTW)
MIDI pitch bends are easier to understand (JTW)
Improved tuplet brackets when number is not shown (JTW)
Coverage improved (MSC + JTW)
Better commonName for 0, 1, 2 note chords, and microtonal chords (MSC)
.show('scala') works on more scales. (JTW)
More XML Chord symbols import (JTW)
Fixes for aadd6 and other chord symbols where the name of the note ("A") is also present in the modifier ("Add") (JTW)
Chord.quality returns "other" for C C# E G (MG)
An empty degree-alter now matches MusicXML spec (JTW)
ABC and MIDI parsing cleanups to make it easier for developers to extend (MSC)
Very old musicxml files with empty "tie" elements parse better. (JTW)
Improved handling of omitted pitches in RomanNumerals (JTW)
instrument.deduplicate() removes duplicate instruments at the same offset in a stream (JTW)
Repeat endings with no number displayed now export to musicxml properly (JTW)
Several routines such as findGaps were leaving Streams in corrupt states -- fixed (MSC)
partitionByInstrument() no longer leaves instruments with non-zero durations (MSC)
MuseData reading works properly on zip files created on an OS with different line breaks (MSC)
ProTracker 2 clone for Windows/macOS/Linux
Aims to be a highly accurate clone of the classic ProTracker 2.3D software for
Amiga. Has additional audio filters and audio mixer improvements to make it
sound close to a real Amiga computer.
What is ProTracker? Read about it on Wikipedia:
https://en.wikipedia.org/wiki/ProTracker
-Use PE_FrameStatusBarItem with Qt ≥ 5.13.0 and return from it.
-Made toolbars unmovable by default.
-Added some effects to the labels of Kvantum Manager's About dialog.
-Don't let the width of a push button that has text be smaller than 80px
(although the minimum width may be greater because it depends on the font).
-Replace text tabs with spaces when calculating label sizes (because text tabs
aren't expanded when labels are drawn).
-Always draw the tab text in a single line.
-Horizontally smaller menus when they have accelerators.
-Respect the key "no_inactiveness" with all widgets.
-Get tooltip shadow dimensions only once if compositing is available.
-Draw the icon of the menubar item instead of its text if it's given.
-Fixed the field growth policy of centered form layouts.
-A better window dragging code (x11drag) with Qt ≥ 5.15, that works under X11
and Wayland alike by calling the window manager.
-Added an option (to Kvantum Manager) for dragging windows from buttons.
-Considered a rare case of window type change for window translucency and
dragging.
-Removed the scroll jump workaround. It interfered with animations and cluttered
the code to partially compensate for Qt's scroll jumps that appeared with mouse
gestures.
Changelog:
vm (Update): Improve m88k performance.
vm (New): Implement emulated ROM for LUNA88K. For now, it only can boot.
vm (New): Make the RAM size changable.
host (Update): Support OpenBSD's tap(4).
vm (Fix): Fix several bugs on LUNA-I's emulated ROM since 0.0.3 and 0.1.4.
vm (Update): Improve reading UFS on emulated ROM.
vm (Fix): Fix a bug that might break receive queue on SIO(uPD7201).
vm (Fix): Fix abnormal termination on resetting VM during SCSI transfer.
vm (Update): Improve a log message about SCMD Intercept bit on SPC.
app (Update): Make -c option acceptable configuration filename."
There's a mysterious error with 3.9, but it builds fine with 3.8.
This is a build dependency only, so it isn't particularly important
which version is used. Assume/hope that this is an upstream bug that
will be fixed before we change the defautl python to 3.9. Reported by
Aymeric Vincent.
Version 52.0.0 "Secret For The Mad"
New features and enhancements
* MKVToolNix GUI: job queue: the maximum number of jobs to run concurrently
can now be increased in the preferences. The default remains
at 1.
* MKVToolNix GUI: the GUI will now add a context-specific default extension to
file names selected for saving on platforms that don't add one itself
(e.g. GNOME). For example, when saving multiplexer settings the extension
`.mtxcfg` will be added.
* MKVToolNix GUI: added an option to the preferences for the window to stay on
top of other windows.
Bug fixes
* mkvextract: h.265/HEVC extraction: the code for skipping extraction of
prefix SEI NALUs in the first frame was skipping two bytes too few,
resulting in broken processing of all following bytes. Patch by Mike Chen.
* libEBML: the optional, bundled version of libEBML was updated to v1.4.1.
Build system changes
* libEBML v1.4.1 is now required due to a bug in libEBML that caused pointers
to just-freed memory being returned to the caller under certain invalid data
constellations, causing use-after-free errors in all of MKVToolNix's
programs.
Release v1.4.1
* Fixed a case EbmlMaster::Read where the element returned via
UpperEltFound and FountElt points to a just-deleted element,
causing callers to think the memory returned is valid, potentially
leading to use-after-free/double-free errors. This can happen if
the specific element's Read function throws an exception when
encountering certain invalid data constellations.
Pkgsrc changes:
* Added a patch to cope with docker client default settings (build
also on NetBSD)
Upstream changes:
1.6.1
=====
December 16, 2020
SECURITY:
* LDAP Auth Method: We addressed an issue where error messages
returned by the LDAP auth methold allowed user enumeration
[GH-10537]. This vulnerability affects Vault OSS and Vault Enterprise
and is fixed in 1.5.6 and 1.6.1 (CVE-2020-35177).
* Sentinel EGP: We've fixed incorrect handling of namespace paths
to prevent users within namespaces from applying Sentinel EGP
policies to paths above their namespace. This vulnerability
affects Vault Enterprise and is fixed in 1.5.6 and 1.6.1
(CVE-2020-35453).
IMPROVEMENTS:
* auth/ldap: Improve consistency in error messages [GH-10537]
* core/metrics: Added "vault operator usage" command. [GH-10365]
* secrets/gcp: Truncate ServiceAccount display names longer than
100 characters. [GH-10558]
BUG FIXES:
* agent: Only set the namespace if the VAULT_NAMESPACE env var
isn't present [GH-10556]
* auth/jwt: Fixes bound_claims validation for provider-specific
group and user info fetching. [GH-10546]
* core (enterprise): Vault EGP policies attached to path * were
not correctly scoped to the namespace.
* core: Avoid deadlocks by ensuring that if grabLockOrStop returns
stopped=true, the lock will not be held. [GH-10456]
* core: Fix client.Clone() to include the address [GH-10077]
* core: Fix rate limit resource quota migration from 1.5.x to
1.6.x by ensuring purgeInterval and staleAge are set appropriately.
[GH-10536]
* core: Make all APIs that report init status consistent, and make
them report initialized=true when a Raft join is in progress.
[GH-10498]
* secrets/database/influxdb: Fix issue where not all errors from
InfluxDB were being handled [GH-10384]
* secrets/database/mysql: Fixes issue where the DisplayName within
generated usernames was the incorrect length [GH-10433]
* secrets/database: Sanitize private_key field when reading database
plugin config [GH-10416]
* secrets/transit: allow for null string to be used for optional
parameters in encrypt and decrypt [GH-10386]
* storage/raft (enterprise): The parameter aws_s3_server_kms_key
was misnamed and didn't work. Renamed to aws_s3_kms_key, and
make it work so that when provided the given key will be used
to encrypt the snapshot using AWS KMS.
* transform (enterprise): Fix bug tokenization handling metadata
on exportable stores
* transform (enterprise): Fix transform configuration not handling
stores parameter on the legacy path
* transform (enterprise): Make expiration timestamps human readable
* transform (enterprise): Return false for invalid tokens on the
validate endpoint rather than returning an HTTP error
* transform (enterprise): Fix bug where tokenization store changes
are persisted but don't take effect
* ui: Fix bug in Transform secret engine when a new role is added
and then removed from a transformation [GH-10417]
* ui: Fix footer URL linking to the correct version changelog.
[GH-10491]
* ui: Fox radio click on secrets and auth list pages. [GH-10586]
1.6.0
=====
November 11th, 2020
NOTE:
Binaries for 32-bit macOS (i.e. the darwin_386 build) will no longer
be published. This target was dropped in the latest version of the
Go compiler.
CHANGES:
* agent: Agent now properly returns a non-zero exit code on error,
such as one due to template rendering failure. Using
error_on_missing_key in the template config will cause agent to
immediately exit on failure. In order to make agent properly
exit due to continuous failure from template rendering errors,
the old behavior of indefinitely restarting the template server
is now changed to exit once the default retry attempt of 12
times (with exponential backoff) gets exhausted. [GH-9670]
* token: Periodic tokens generated by auth methods will have the
period value stored in its token entry. [GH-7885]
* core: New telemetry metrics reporting mount table size and number
of entries [GH-10201]
* go: Updated Go version to 1.15.4 [GH-10366]
FEATURES:
* Couchbase Secrets: Vault can now manage static and dynamic
credentials for Couchbase. [GH-9664]
* Expanded Password Policy Support: Custom password policies are
now supported for all database engines.
* Integrated Storage Auto Snapshots (Enterprise): This feature
enables an operator to schedule snapshots of the integrated
storage backend and ensure those snapshots are persisted elsewhere.
* Integrated Storage Cloud Auto Join: This feature for integrated
storage enables Vault nodes running in the cloud to automatically
discover and join a Vault cluster via operator-supplied metadata.
* Key Management Secrets Engine (Enterprise; Tech Preview): This
new secret engine allows securely distributing and managing keys
to Azure cloud KMS services.
* Seal Migration: With Vault 1.6, we will support migrating from
an auto unseal mechanism to a different mechanism of the same
type. For example, if you were using an AWS KMS key to automatically
unseal, you can now migrate to a different AWS KMS key.
* Tokenization (Enterprise; Tech Preview): Tokenization supports
creating irreversible "tokens" from sensitive data. Tokens can
be used in less secure environments, protecting the original
data.
* Vault Client Count: Vault now counts the number of active entities
(and non-entity tokens) per month and makes this information
available via the "Metrics" section of the UI.
IMPROVEMENTS:
* auth/approle: Role names can now be referenced in templated
policies through the approle.metadata.role_name property [GH-9529]
* auth/aws: Improve logic check on wildcard BoundIamPrincipalARNs
and include role name on error messages on check failure [GH-10036]
* auth/jwt: Add support for fetching groups and user information
from G Suite during authentication. [GH-123]
* auth/jwt: Adding EdDSA (ed25519) to supported algorithms [GH-129]
* auth/jwt: Improve cli authorization error [GH-137]
* auth/jwt: Add OIDC namespace_in_state option [GH-140]
* secrets/transit: fix missing plaintext in bulk decrypt response [GH-9991]
* command/server: Delay informational messages in -dev mode until
logs have settled. [GH-9702]
* command/server: Add environment variable support for disable_mlock.
[GH-9931]
* core/metrics: Add metrics for storage cache [GH_10079]
* core/metrics: Add metrics for leader status [GH 10147]
* physical/azure: Add the ability to use Azure Instance Metadata
Service to set the credentials for Azure Blob storage on the
backend. [GH-10189]
* sdk/framework: Add a time type for API fields. [GH-9911]
* secrets/database: Added support for password policies to all
databases [GH-9641, and more]
* secrets/database/cassandra: Added support for static credential
rotation [GH-10051]
* secrets/database/elasticsearch: Added support for static credential
rotation [GH-19]
* secrets/database/hanadb: Added support for root credential &
static credential rotation [GH-10142]
* secrets/database/hanadb: Default password generation now includes
dashes. Custom statements may need to be updated to include
quotes around the password field [GH-10142]
* secrets/database/influxdb: Added support for static credential
rotation [GH-10118]
* secrets/database/mongodbatlas: Added support for root credential
rotation [GH-14]
* secrets/database/mongodbatlas: Support scopes field in creations
statements for MongoDB Atlas database plugin [GH-15]
* seal/awskms: Add logging during awskms auto-unseal [GH-9794]
* storage/azure: Update SDK library to use azure-storage-blob-go
since previous library has been deprecated. [GH-9577]
* secrets/ad: rotate-root now supports POST requests like other
secret engines [GH-70]
* ui: Add ui functionality for the Transform Secret Engine [GH-9665]
* ui: Pricing metrics dashboard [GH-10049]
BUG FIXES:
* auth/jwt: Fix bug preventing config edit UI from rendering [GH-141]
* cli: Don't open or overwrite a raft snapshot file on an unsuccessful
vault operator raft snapshot [GH-9894]
* core: Implement constant time version of shamir GF(2^8) math [GH-9932]
* core: Fix resource leak in plugin API (plugin-dependent, not
all plugins impacted) [GH-9557]
* core: Fix race involved in enabling certain features via a
license change
* core: Fix error handling in HCL parsing of objects with invalid
syntax [GH-410]
* identity: Check for timeouts in entity API [GH-9925]
* secrets/database: Fix handling of TLS options in mongodb connection
strings [GH-9519]
* secrets/gcp: Ensure that the IAM policy version is appropriately
set after a roleset's bindings have changed. [GH-93]
* ui: Mask LDAP bindpass while typing [GH-10087]
* ui: Update language in promote dr modal flow [GH-10155]
* ui: Update language on replication primary dashboard for clarity
[GH-10205]
* core: Fix bug where updating an existing path quota could
introduce a conflict. [GH-10285]
1.5.6
=====
December 16, 2020
SECURITY:
* LDAP Auth Method: We addressed an issue where error messages
returned by the LDAP auth methold allowed user enumeration
[GH-10537]. This vulnerability affects Vault OSS and Vault
Enterprise and is fixed in 1.5.6 and 1.6.1 (CVE-2020-35177).
* Sentinel EGP: We've fixed incorrect handling of namespace paths
to prevent users within namespaces from applying Sentinel EGP
policies to paths above their namespace. This vulnerability
affects Vault Enterprise and is fixed in 1.5.6 and 1.6.1.
IMPROVEMENTS:
* auth/ldap: Improve consistency in error messages [GH-10537]
BUG FIXES:
* core (enterprise): Vault EGP policies attached to path * were
not correctly scoped to the namespace.
* core: Fix bug where updating an existing path quota could
introduce a conflict [GH-10285]
* core: Fix client.Clone() to include the address [GH-10077]
* quotas (enterprise): Reset cache before loading quotas in the
db during startup
* secrets/transit: allow for null string to be used for optional
parameters in encrypt and decrypt [GH-10386]
1.5.5
=====
October 21, 2020
IMPROVEMENTS:
* auth/aws, core/seal, secret/aws: Set default IMDS timeouts to
match AWS SDK [GH-10133]
BUG FIXES:
* auth/aws: Restrict region selection when in the aws-us-gov
partition to avoid IAM errors [GH-9947]
* core (enterprise): Allow operators to add and remove (Raft)
peers in a DR secondary cluster using Integrated Storage.
* core (enterprise): Add DR operation token to the remove peer
API and CLI command (when DR secondary).
* core (enterprise): Fix deadlock in handling EGP policies
* core (enterprise): Fix extraneous error messages in DR Cluster
* secrets/mysql: Conditionally overwrite TLS parameters for MySQL
secrets engine [GH-9729]
* secrets/ad: Fix bug where password_policy setting was not using
correct key when ad/config was read [GH-71]
* ui: Fix issue with listing roles and methods on the same auth
methods with different names [GH-10122]
1.5.4
=====
September 24th, 2020
SECURITY:
* Batch Token Expiry: We addressed an issue where batch token
leases could outlive their TTL because we were not scheduling
the expiration time correctly. This vulnerability affects Vault
OSS and Vault Enterprise 1.0 and newer and is fixed in 1.4.7
and 1.5.4 (CVE-2020-25816).
IMPROVEMENTS:
* secrets/pki: Handle expiration of a cert not in storage as a
success [GH-9880]
* auth/kubernetes: Add an option to disable defaulting to the
local CA cert and service account JWT when running in a Kubernetes
pod [GH-97]
* secrets/gcp: Add check for 403 during rollback to prevent repeated
deletion calls [GH-97]
* core: Disable usage metrics collection on performance standby
nodes. [GH-9966]
* credential/aws: Added X-Amz-Content-Sha256 as a default STS
request header [GH-10009]
BUG FIXES:
* agent: Fix disable_fast_negotiation not being set on the auth
method when configured by user. [GH-9892]
* core (enterprise): Fix hang when cluster-wide plugin reload
cleanup is slow on unseal
* core (enterprise): Fix an error in cluster-wide plugin reload
cleanup following such a reload
* core: Fix crash when metrics collection encounters zero-length
keys in KV store [GH-9811]
* mfa (enterprise): Fix incorrect handling of PingID responses
that could result in auth requests failing
* replication (enterprise): Improve race condition when using a
newly created token on a performance standby node
* replication (enterprise): Only write failover cluster addresses
if they've changed
* ui: fix bug where dropdown for identity/entity management is not
reflective of actual policy [GH-9958]
Version 10.23.1 'Dubnium' (LTS)
Notable changes
This is a security release.
Vulnerabilities fixed:
CVE-2020-8265: use-after-free in TLSWrap (High) Affected Node.js versions are vulnerable to a use-after-free bug in its TLS implementation. When writing to a TLS enabled socket, node::StreamBase::Write calls node::TLSWrap::DoWrite with a freshly allocated WriteWrap object as first argument. If the DoWrite method does not return an error, this object is passed back to the caller as part of a StreamWriteResult structure. This may be exploited to corrupt memory leading to a Denial of Service or potentially other exploits
CVE-2020-8287: HTTP Request Smuggling in nodejs Affected versions of Node.js allow two copies of a header field in a http request. For example, two Transfer-Encoding header fields. In this case Node.js identifies the first header field and ignores the second. This can lead to HTTP Request Smuggling (https://cwe.mitre.org/data/definitions/444.html).
CVE-2020-1971: OpenSSL - EDIPARTYNAME NULL pointer de-reference (High) This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20201208.txt
Version 12.20.1 'Erbium' (LTS)
Notable changes
This is a security release.
Vulnerabilities fixed:
CVE-2020-8265: use-after-free in TLSWrap (High) Affected Node.js versions are vulnerable to a use-after-free bug in its TLS implementation. When writing to a TLS enabled socket, node::StreamBase::Write calls node::TLSWrap::DoWrite with a freshly allocated WriteWrap object as first argument. If the DoWrite method does not return an error, this object is passed back to the caller as part of a StreamWriteResult structure. This may be exploited to corrupt memory leading to a Denial of Service or potentially other exploits
CVE-2020-8287: HTTP Request Smuggling in nodejs Affected versions of Node.js allow two copies of a header field in a http request. For example, two Transfer-Encoding header fields. In this case Node.js identifies the first header field and ignores the second. This can lead to HTTP Request Smuggling (https://cwe.mitre.org/data/definitions/444.html).
CVE-2020-1971: OpenSSL - EDIPARTYNAME NULL pointer de-reference (High) This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20201208.txt
Version 14.15.4 'Fermium' (LTS)
Notable Changes
Vulnerabilities fixed:
CVE-2020-1971: OpenSSL - EDIPARTYNAME NULL pointer de-reference (High)
This is a vulnerability in OpenSSL which may be exploited through Node.js. You can read more about it in https://www.openssl.org/news/secadv/20201208.txt
CVE-2020-8265: use-after-free in TLSWrap (High)
Affected Node.js versions are vulnerable to a use-after-free bug in its TLS implementation. When writing to a TLS enabled socket, node::StreamBase::Write calls node::TLSWrap::DoWrite with a freshly allocated WriteWrap object as first argument. If the DoWrite method does not return an error, this object is passed back to the caller as part of a StreamWriteResult structure. This may be exploited to corrupt memory leading to a Denial of Service or potentially other exploits.
CVE-2020-8287: HTTP Request Smuggling in nodejs (Low)
Affected versions of Node.js allow two copies of a header field in a http request. For example, two Transfer-Encoding header fields. In this case Node.js identifies the first header field and ignores the second. This can lead to HTTP Request Smuggling (https://cwe.mitre.org/data/definitions/444.html).
Upstream changes not published but a reliable source says it's
basically bugfixes and minor improvements.
This is believed to interoperate with 2.51.3.
There was a lingering reference to sphereeversion in a place that was
causing sphereeversion.xml to be installed even when that screensaver
wasn't built.
MAJOR CHANGES:
Optional support for using libdeflate is added.
Many of the tools now support a memory usage limit.
CHANGES IN LIBTIFF:
A great many issues discovered by fuzzers (via oss-fuzz and other reports) have been addressed.
EXIF 2.32 and GPS tags and functionality have been upgraded:
Existing EXIF field definition of tags are upgraded to EXIF version 2.3.2
EXIF-GPS structure, tags and access functions are added as special CustomDirectory (like it was done for EXIF).
Reading error for FileSource and SceneType tags corrected.
Make TIFFTAG_CFAPATTERN variable count.
Cmake configuration fixes for big-endian targets.
Added support for optional building against libdeflate for faster Zip/Deflate compression/decompression.
We now have 2 kinds of builds with the Zip/Deflate codec:
zlib only
zlib + libdeflate
Speed improvements in the 35%-50% range can be expected when libdeflate is used. Compression level up to 12 is now supported (capped to 9 when zlib is used). Still requires zlib for situations where libdeflate cannot be used (that is for scanline access, since libdeflate has no streaming mode)
Pseudo-tag TIFFTAG_DEFLATE_SUBCODEC=DEFLATE_SUBCODEC_ZLIB/DEFLATE_SUBCODEC_LIBDEFLATE is added to control which subcodec (zlib or libdeflate) should be used (it defaults of course to libdeflate, when it is available). This is mostly aimed at being used on the writing side, to be able to reproduce output of previous libtiff versions at a binary level, in situations where this would be really needed. Or as a safety belt in case there would be unforeseen issues with using libdeflate. It can be used to know when libdeflate is available at runtime (DEFLATE_SUBCODEC_LIBDEFLATE will be the default value in that situation).
Of course, deflate codestreams produced by libdeflate can be read by zlib, and vice-versa.
CHANGES IN THE TOOLS:
A great many issues discovered by fuzzers (via oss-fuzz and other reports) have been addressed.
ppm2tiff: support any bps value from 1 to 16.
tiff2ps, tiff2rgba: A default memory limit is now enforced (256MiB) and a '-M' option is added to allow the user to adjust the limit.
tiff2pdf, tiffcp: A default memory limit is now enforced (256MiB) and a '-m' option is added to allow the user to adjust the limit.
tiffcrop: A default memory limit is now enforced (256MiB) and a '-k' option is added to allow the user to adjust the limit.
tiff2pdf: fix "raw" copy of Deflate streams.
tiff2pdf.c: properly calculate datasize when saving to JPEG YCbCr
tiffcp: disable strip chopping when trying to convert to JBIG compression
Release 21.01.0:
core:
* Faster routines for jpeg decoding
* Fix reading signatures in encrypted files
* Add white point correction when lcms is used
* JBIG2Stream: Fix byte counting
* Fix potential data loss if we try to fetch a non existing Ref after modifying the document
* Specifically use DeviceGray instead of DefaultGray for softmasks
* Fix various issues handling broken files
utils:
* pdftocairo: Setmode binary for windows
* pdfsig: Add hability to digitally sign files
* pdftoppm: add options to set DeviceGray/DeviceRGB/DeviceCMYK
* pdftops: add options to set DeviceGray/DeviceRGB/DeviceCMYK
* pdfimages: Account for rotation in PPI calculation
qt5:
* Add hability to digitally sign files
qt6:
* Add hability to digitally sign files
build system:
* Enable clang-tidy bugprone-signed-char-misuse
Release 20.12.1:
core:
* PSOutputDev: fixing regression in the rasterization code. Issue #1002
* Add missing profile copy operation in GfxICCBasedColorSpace::copy()
* Fix issue in broken files
build system:
* Use modern CMake linking for Qt and boost
Release 20.12.0:
core:
* Draw better circles for circle annotations
* Fix annotation line width if no appearance stream or style are given
* Tweak rendering of highlight annotations
* Fix border rendering of some annotations
* Fix rendering of some files. Issue #976 Issue #567
* PSOutputDev: provide options to set the rasterization color space and ICC profile
* PSOutputDev: for splashModeCMYK8 and language level >=2 activate overprint emulation
* PSOutputDev: use the DeviceN8 bitmap for rasterization with CMYK-output + overprint
* Use the font name without subset tag when querying for a system font
* Splash: Fix wrong x adjustment during clipping
* Splash: Fix blitImage in uncolored tiling patterns
* timeToDateString: We forgot the ' after the minutes
* Move psLevel to PSOutputDev creation
* Fix several issues in broken files
utils:
* pdftops: provide options to set the rasterization color space and ICC profile
* pdftops: for splashModeCMYK8 and language level >=2 activate overprint emulation
cpp:
* New fuzzers
glib:
* New fuzzers
qt5:
* New fuzzers
build system:
* gcc: Enable -fno-operator-names
* Remove obsolete bool-to-binary macro
* Remove obsolete version-check macro for pkgconfig
* Remove .pc files for private back-ends
* Remove redundant unit-test macro
Doom Legacy Changelog
1.48.8 SVN1568 (2020-12-19)
FEATURES 1.48.8
* Sky generation has gotten a Vanilla setting. Sky drawing (software
draw) now puts a solid texture above and below the sky, and no
longer tiles the sky. The OpenGL sky draw has separate sky draw
behavior.
* The mouse2 serial support has been expanded to handle PC mice,
MouseSystems mice, and PS/2 mice, for SDL and Win32 ports. The PC
and MS mice have been tested. If anyone has found a way to route a
PS/2 mouse, possibly on USB, to a serial port input, please let us
know.
BUG FIXES 1.48.8
* A savegame buffer overflow was fixed. An overflow prevention test
had been misplaced. such that it could be avoided in some
conditions. Fixes BUG 0667.
* Cleaned out some of the accumulated cruft in sky drawing. Fixed sky
tiling, and then made changes to prevent sky tiling.
* Changed the software mode sky drawing to TM_picture format. This
eliminates the line artifacts that were drawn above and below the
sky, and restores the vertical alignment.
* Limited the software sky drawing to the texture, so to not tile the
sky draw. Created a skytop_flat for above the sky, and a ground_flat
for below the sky. These are drawn when the viewed sky exceeds the
bounds of the sky texture. For now, these flats are created as solid
textures. Hardware draw has a separate sky draw behavior.
* In the case of 200 or 240 sized sky textures (Heretic and Legacy
substitutes), fixed the texture sky height so that the correct size
TM_picture is created. Fixes BUG 0668.
* Changed the freedoom wad names, avoiding doom wad names as that was
conflicting with doom2 gamemode. Freedoom: "freedoom2.wad",
"freedoom.wad", and "fdoom2.wad". Ultimate freedoom:
"freedoom1.wad", "freedu.wad", "fdoomu.wad".
* Fixed BUG 0670, Monsters mysteriously disappearing, moving large
distances into the void space.
This bug was introduced in the moonwalk patch (SVN 1540) by copying
the opposite direction calculation code from PrBoom. This was done
in an effort to reduce differences that might lead to bugs. It
replaced a table lookup implementation. However, the PrBoom
calculation must be guarded against the value DI_NODIR, which the
table implementation could handle inherently. Without that
protection, an olddir of DI_NODIR introduced a direction of 12 into
the logic, which can only handle directions of 0..7, with NODIR=8.
Several times a game that 12 value would survive long enough to get
used, which would be expressed as a wild walk movement.
* Improved the large blockmap handling to deal with more issues of
blockmap overflow in the presence of zennode blockmap compression.
It can now handle more maps of the Lost Civilization wad, although
some other issues are still present.
* The mouse2 support was found to be disabled and missing for the SDL
port. It has been fixed, and expanded to handle PC mice,
MouseSystems mice, and PS/2 mice, for SDL Linux, SDL Windows, and
Win32 ports. Fixes BUG 0669.
* Made LOGMESSAGES work again, which writes debugging logs. Release
binaries do not have this code. If DoomLegacy is compiled with
LOGMESSAGES enabled (doomdef.h file), a log.txt file will be
produced. This is currently enabled when compiled with DEBUG.
* Fixed the overlapped string copies detected by GCC 10.
Fixes BUG 0671, Michael Bäuerle.
* Reduced warnings when compiling with GCC 10. This was mostly due to
signed char being used as an index, which may cause problems on some
platforms. Fixes BUG 0671.