5.99
Increase quiet zone for qrcode
5.100
Convert code128 data table to binary literals
Simplify QR reference PNG images
5.101
Fix copy/pasted license header, this needs to be MIT
5.102
Add support for ZXing 2.0
5.104
KPrisonScanner target: add include dir for version header to interface
5.106
Fix PDF417 with binary content not producing any output with ZXing 2.0
5.107
Add EAN13 support
Factor out code for interfacing with ZXing for barcode generation
5.99
pcx: Do not support sequential devices
Fix maximum number of channels (testcase added)
LibRaw_QIODevice::seek() avoid seek on a sequential device
LibRaw_QIODevice::seek() bounding checks
Camera RAW images plugin
Enables opening of XCF files with Width and/or Height greater than 32K
Replace C cast with reinterpret_cast
avif: adjust for libavif breaking change in YUV<->RGB conversion
Fix image allocation with Qt 6
5.100
Don't install desktop files for image formats when building against Qt6
raw: Don't seek back if we were asked to read too much
jxl: indicate when all frames have been read
avif: indicate when all frames have been read
avif: always indicate endless loop (bug 460085)
avif: return `false` in `canRead()` when `imageIndex >= imageCount`
Auto-rotate input images in readtest
jxl: remove C-style casts
avif: Use reinterpret_cast instead C cast
heif: replace C cast with static_cast
heif: use heif_init/heif_deinit with libheif 1.13.0+
FindLibRaw: fix include dir, should not contain prefix libraw/
Fix duplicated tests
ANI partial test and PIC test added
PSD: impreved support to sequential access device
Fix messages
CMakeLists: enable EXR test
Added EXR test image
Fixes for sequential devices
5.101
Fix missing DCI-P3 color space set
raw: LibRaw_QIODevice::read: fixed possible partial reading of an item
PSD multichannel testcases
Support to MCH with 4+ channels (treat as CMYK)
avif: Check if encoder/decoder is available in capabilities()
Fix condition for installing desktop files
5.102
raw: tweak seek implementation
heif: fix error handling
heif: rewrite plugin to use only libheif C API
5.103
psd: conversion speed improvements (kf5)
Fix writing TGA alpha depth flag
HDR support removed from RAW plugin
heif: reject invalid files with zero size
5.105
psd: Fix alpha blending (KF5)
5.106
Fix wrong alpha conversion
5.107
pcx: multiple fixes (2)
Avoid unnecessary conversions
RGB/SGI writer: fix alpha detection and image limit size
TGA writer: fix alpha detection and performance improvements
pcx: multiple fixes
PCX: Fix reading of the extended palette
5.108
jxl: add support for libjxl v0.9, drop support for old 0.6.1
5.99
KIconEngine: Use QFileInfo::completeBaseName
KIconEngine: Return actual icon name of loaded icon
Add dedicated kiconloader_p.h header for KIconLoaderPrivate
5.104
Properly mark panel icon group as deprecated
Deprecate KIconLoader overloads in KIconButton and KIconDialog
5.105
Add missing comma between enum values
5.107
KIconTheme: allow to also fallback to Breeze-dark when set through QPA
5.99
Add text/javascript symlink
5.100
Add accessories-dictionary-symbolic symlink to a book-looking icon
Add new icons for Fortran source code
Add 64px audio-headset, fix issues with 64px audio-headphones
Add data-success icon
Add icon for OpenOffice extensions
5.101
Add SimpleScreenRecorder icon
application-x-executable: make symbolic icon follow color scheme
Add touchscreen icons to devices and preferences
5.102
Revert "Add SimpleScreenRecorder icon"
Add some links for symbolic icons
Don't generate BINARY_ICONS_RESOURCE by default with Qt >= 6
5.104
Add draw-number
5.105
Add icons for showing and hiding a virtual keyboard
Redshift icons: Add missing semi-transparency, add new breeze-dark icons
Update Redshift icons to off on & sun
Delete false Gparted and Kwikdisk icons
5.106
Make monochrome MS-DOS executable icons respect the color scheme
Increase moon size for redshift-status-on icon
Add mimetype icons for alembic files
Add new Partition Manager app icon
Make media-flash icon actually look like a typical flash memory card
Add new icons for the pixelate and blur tools in Spectacle
5.108
Export cmake config so that a app can ensure that breeze-icons is installed
pfstools 2.2.0 <12.08.2021>
This is mostly a bug-fix release with many fixes allowing to work with newer version of libraries. Several compilation issues have been resolved on Ubuntu 18.04, 20.04 and Cygwin. The HDR merging (pfshdrcalibrate) uses now better, noise-optimal weights, which should reduce noise for darker image parts.
* Added: v210 format in pfsinyuv
* Fixed: memleak in pfssize
* Fixed: Fix format-security errors with Octave 5.1 (thanks to Orion Poplawski)
* Added: pfs_automerge
* Fixed: typos in the documentation (thanks to Andreas Metzler)
* Added: simple deghosting in pfshdrcalibrate (-d option)
* Fixed: pfsalign now uses free AKAZE feature detector, avoiding issues with missing non-free OpenCV classes
* Fixed: Updated installation instruction for Ubuntu 18.04
* Fixed: Fixed a number of compiler warnings from g++ 7.4.0
* Fixed: Octave interface upgraded to Octave-6 (thanks to Michal)
* Fixed: pfstmo_durand02 - reversed the old fix that made images over-saturated. Now 99.5th percentile is mapped to white.
* Removed: pfsinjpeghdr, pfsoutjpeghdr (discontinued)
* Fixed: compilation fails with GCC11/std=c++17, duplicate "clamp" definition (thanks to Stefan)
* Added: pfshdrcalibrate now performs exposure merging in a noise-optimal manner
* Added: pfsindcraw now calls libraw's dcraw_emu instead of dcraw if the former is available
Changes 2.6.1
* Better UI for last step of HdrWizard
* Fix highlights glitch
* fix save/load response cure even from the command line
* usual bug fixing
Upstream changes (from NEWS):
version 1.3.1
This is a binary compatible release.
* security fixes for lossless encoder (#603, chromium: #1420107, #1455619,
CVE-2023-1999)
* improve error reporting through WebPPicture error codes
* fix upsampling for RGB565 and RGBA4444 in NEON builds
* img2webp: add -sharp_yuv & -near_lossless
* Windows builds:
- fix compatibility with clang-cl (#607)
- improve Arm64 performance with cl.exe
- add Arm64EC support
* fix webp_js with emcc >= 3.1.27 (stack size change, #614)
* CMake fixes (#592, #610, #612)
* further updates to the container and lossless bitstream docs (#581, #611)
version 1.3.0
This is a binary compatible release.
* add libsharpyuv, which exposes -sharp_yuv/config.use_sharp_yuv
functionality to other libraries; libwebp now depends on this library
* major updates to the container and lossless bitstream docs (#448, #546,
#551)
* miscellaneous warning, bug & build fixes (#576, #583, #584)
Follow the example of graphics/librsvg{,-c} and re-add the last C
version of imagequant-turned-rust, for the sake of platforms which
cannot reasonably build or run rusted tools for lack of support or
resources.
See also the
<https://mail-index.netbsd.org/pkgsrc-users/2023/06/02/msg037421.html>
thread.
Matplotlib currently forbids our version of pyparsing (3.1.0).
The issue only affects error messages.
This update hacks out the pyparsing < 3.1.0 requirement so that
matplotlib dependents can at least function, though some error
messages won't pass through properly.
https://github.com/matplotlib/matplotlib/issues/26152
Spectra is a Python library that makes color math, color scales, and
color-space conversion easy.
Support for:
Color scales
Color ranges
Color blending
Brightening/darkening colors
Saturating/desaturating colors
Conversion to/from multiple color spaces
Spectra is built on colormath and grapefruit. Spectra is enormously inspired by
chroma.js and d3's scales.
Major Changes
Considerable performance improvements in linear symbol detection (up to 2x speedup in select use cases of ReadBarcodes)
QRCode: major improvement in detection of high version symbols (see e.g. here)
DMDetector: reduce runtime overhead of c++-20 builds by around 50%
Refactor Python wrapper so the sdist includes the core library code by @stumpylog in #530
wasm wrapper: add function to reader to scan multiple barcode by @Trim in #567
Added a C wrapper by @siiky in #553. If you find this useful, please have a look at #583.
new BUILD_EXPERIMENTAL_API cmake option (currently enabling DecodeHints::tryDenoise feature, see 9bcfdb3)
[EDIT: just noticed that this does not work, see 8202a4e]
Minor Changes
fix crash when the source image is less than 3 pixels width/height by @liulex in #476
Android: Enable the saving of images to the phone gallery. by @Sergio- in #483
WASM wrapper: add symbologyIdentifier into result by @AlexXiong-dev in #576
CI: build universal2 python module for macos
Python: compile module with c++20 (position independend DataMatrix support) by default
Python: improve error reporting
DMDetector: fix potential dead-lock
DMDecoder: support 144x144 symbols in legacy and compliant variants
UPC/EAN: reduce right quiet zone requirement -> fix non-conformant input
EAN/UPCA: include AddOn in position calculation
MSVC build option cleanup
WASM: simplify and cleanup demo_*.html files
Updated live web demos to latest code (and setup semi-automatic gh-page creation for the future)
a bunch of minor bug fixes
2023.7.10
- Increase default strip size to 256 KB when writing with compression.
- Fix ZarrTiffStore with non-default chunkmode.
2023.7.4
- Pass 4992 tests.
- Add option to return selection from imread.
- Fix reading OME series with missing trailing frames.
- Fix fsspec reference for WebP compressed segments missing alpha channel.
- Fix linting issues.
- Detect files written by Agilent Technologies.
- Drop support for Python 3.8 and numpy < 1.21 (NEP29).
## [0.12.0 - 2023-07-08]
This release is fully compatible with previous versions.
## Added
- (Heif) restored lost ability after `0.9.x` versions to open HDR images in 10/12 bit. #96
### Changed
- `libde265`(HEIF decoder) updated from 1.0.11 to 1.0.12 version. [changelog](https://github.com/strukturag/libde265/releases/tag/v1.0.12)
- `libheif` updated to `1.16.2`.
## Fixed
- Building from source when using `apt-repository ppa:strukturag/libheif`
- (Heif) `encode` function with `stride` argument correctly saves image.
- (Heif) HeifFile class created with `from_bytes` function with `stride` argument respect `stride` value during save.
- (Heif) HeifFile class created with `from_bytes` function with `stride` argument can correctly translate to numpy array.
Overview of Changes from GIMP 2.99.14 to GIMP 2.99.16
=====================================================
Core:
- "Anchor" tooltip changing depending on whether we are floating over a layer
or layer mask.
- GIMP_TIMER_START|END are no-op on release builds.
- Ctrl-F overridden in our item dockables to trigger our item search popover
(multi-item selection, ability to use regexp or glob search by enabling these
in Preferences, etc.) rather than the default GTK selection popup for tree
views.
- All code is now multi-item aware (even though it might mean specifically
forbidding using some features on multiple items).
- Better support of non-ASCII characters in paths on Windows and other fixes
for Windows: API un-deprecation, unicode variants of functions…
- Copy|Cut-Paste code reworked further.
- Action "Crop to Selection" renamed to "Resize Layers to Selection".
- Action "Crop to Content" renamed to "Crop Layers to Content".
- If any opened image (with a display) is dirty, then GIMP will now inhibit the
log-out event on OSes which support it.
- Port from GtkAction/GtkUIManager to GAction/GMenu finished.
- The action search now shows the top menu path for actions when available.
- Actions can now be attributed multiple shortcuts. The duplicate actions
ending in `-accel` were removed in favor of multiple shortcuts and a few
secondary (semantic) shortcuts were added such as `Copy`/`Cut`/`Paste`
buttons for relevant actions, or `ZoomIn`/`ZoomOut` for canvas zoom,
`Forward`/`Back` to navigate through image tabs, but also some numpad
shortcuts like the `/` divide from the numpad for the action search
(additionally to the base keyboard `/` key).
It is not possible to attribute several shortcuts from GUI yet.
- An action is automatically generated for all GEGL operations which would
normally appear in the GEGL Operation tool. This includes in particular
third-party GEGL operations which might be user-installed. It makes these
filters also searchable in the action search, usable in menus and shortcuts
can be assigned as well.
- If present, the GEGL key "gimp:menu-label" will be used to set the short
label of the generated action (short labels are typically used in menus since
the menu path can serve as context). Otherwise the "title" with appended
"..." is used.
- GimpAction now have a concept of short vs. long labels, which can be used in
different places. In particular, in action search, we usually want the long
label, whereas in menus, we usually want the short label as we have context
(though the latter can be tweaked by a custom "label-variant" attribute in
.ui files).
- New "Middle Gray (CIELAB)" fill option (new image or new layer).
- Stroke Selection: "Line" and "Paint tool" styles are now in a stack
switcher instead of radio buttons. More advanced options are not "hidden"
anymore in a foldable widget.
- New grayscale color picking mode.
- .aco palettes are now imported with babl. As a result, it is now possible to
import CIE Lab palettes (colorspace 7)
- Action search now displays a "help" icon which can be clicked to show the
currently selected action's manual page (or the action search manual page if
no actions are selected). Alternatively the F1 shortcut will do the same.
- Basic matrix operations code was optimized.
- Fill/Stroke Path/Selection split the "Solid color" option into a "Foreground
color" and "Background color".
- Standardize to "X-bit" wording (e.g. "32-bit floating point" rather "32 bit
floating point").
Tools:
- GEGL Operation: auto-activate when enabled.
- Transform tools and GEGL operation don't auto-activate when opening a new
image or changing the active image.
- Align tool: "use extents of layer contents" also applies to the alignment
reference (not only the target objects).
- Color picker: pick in the image's RGB space.
- Text tool: new tool option "Show on-canvas editor" to toggle the visibility
of the on-canvas dialog.
- Unified Transform tool: the transform matrix is now selectable in the
on-canvas dialog (for instance to be easily re-usable in other software).
Graphical User Interface:
- Default, Compact and Gray themes now display a three-dot handle to paned
separators to improve accessibility and discoverability of the drag ability.
- The paned separator width is also increased a bit for accessibility (though
the Compact theme keeps a smaller separator width).
- Consistently use "Soft-proofing" wording instead of "Softproofing" or "Soft
proofing"
- The "GEGL Operation…" item was moved out of the "Filters > Generic" menu and
into the "Tools" menu.
- If present, the GEGL key "gimp:menu-path" will now be used by GIMP to create
a menu item for an operation in a given menu path.
- Default theme is less dark and the previous Default theme is renamed
"Darker".
- "Default" theme does not use smaller font size (than system theme) anymore;
but the "Compact" theme now does.
- New option "Merge menu and title bar" in Preferences > Image Windows: this
is basically an option to switch to Client Side Decoration for the image
windows (menu will be inside the title bar). It is OFF by default.
Actions:
- "tools-rotate-arbitrary" and "tools-rotate-image-arbitrary" are now disabled
when no image is opened.
Plug-ins:
- JPEG-XL:
* Initial support for CMYK/A JPEGXL export: Key and Alpha data is saved in
extra channels, and the simulation profile is saved as well.
Per the specification developers, the format does not support 'naive' CMYK
conversion, so a profile is required for export. The option will be
disabled if not set.
* Support libjxl 0.9: some API were removed which would have broken
the plug-in build. Now it should work both with old and new
version.
- Script-fu:
* Byte support: add a new type 'byte' to be able to handle binary data while
still retaining the utf8 char and string behavior.
* Enum values are now generated from GIR.
- Script-fu console: command history now persists across GIMP sessions.
- PSD:
* PSD clipping paths: import and export support.
* Unsupported features are now listed in a dialog on import.
* Add compatibility notice on export: some people have noted that legacy
layer modes have better compatibility when exporting PSDs and reopening
them in Photoshop.
* New "file-psd-load-metadata" procedure to be used by other plug-ins in
order to load Photoshop-format metadata. Some formats in particular allow
PSD style metadata (e.g. see TIFF and JPEG).
- TIFF:
* PSD metadata (both in image or layer level) can now be loaded by calling
the new "file-psd-load-metadata" PDB procedure.
* IBM PC Formatted TIFF layers are now supported on import.
- JPEG:
* PSD metadata (image level only, e.g. paths) can now be loaded by calling
the new "file-psd-load-metadata" PDB procedure.
* Clipping path import added.
* Option "4:2:2 horizontal (chroma halved)" renamed to "4:2:2 (chroma halved
horizontally)" and "4:2:2 vertical (chroma halved)" renamed to "4:4:0
(chroma halved vertically)". Research indicates it to be the most usual
notation for these options.
- DDS:
* OpenMP support enabled when available on the build machine.
- All Python 3 plug-ins whose Python 2 variants used to have a GUI now also
have one.
- Script "Predator" removed.
- PAM: import and export (formats: RAYSCALE, GRAYSCALE_ALPHA, RGB, RGB_ALPHA)
support added. PAM files are essentially PPM files with a different header
format and alpha/16 bit support.
- GIF:
* Load error message handling improved.
* Keep GIF's full palette on import (sometimes needed for consistency when
used in a specific pipeline, e.g. a videogame engine with fixed palette).
- PCX:
* new radio option "override-palette" to override PCX 1 bit palette.
* 8bpp with 4 planes in PCX/DC import support added (we were only supporting
3 planes).
- QOI: new format support (import and export).
- Amiga IFF/ILBM: initial support for importing indexed ILBM, Amiga PBM, and
ACBM images.
- DCX: new import support (DCX files are containers that store up to 1023 PCX
files).
- Plug-ins ported to GAction: animation-play, colormap-remap, ifs-compose,
gfig, ImageMap.
- Plug-ins ported to GimpProcedureConfig and GimpProcedureDialog:
align-layers, hot, wavelet-decompose, file-sunras, file-heif, file-tga,
file-pat, file-xpm, file-csource, file-jp2-load, file-dds (import),
file-sgi, file-fli, file-pnm, file-gbr, file-psp, file-aa, bmp-save,
despeckle, blinds, contrast-retinex, jigsaw, nl-filter, destripe, file-mng,
file-html-table, file-xbm, file-pdf-load, file-gif-save, file-ps,
border-average, mail, checkerboard.
- metadata-viewer and metadata-editor: graphical interfaces are not built from
GtkBuilder .ui files anymore. These were the last instances of using this
format (except for our new menus!) for creating full GUIs as we don't want
to go this way anymore!
- FITS:
* Ported to cfitsio library for loading/exporting. This allows us to
import compressed FITS files (GZIP, HCOMP, PLIO, RICE) in 8/16/32
bit and float/double precision.
* As a result of the port, this plug-in is now optional.
- ILBM: "Hold and Modify" (HAM) mode use control bits to increase the
palette beyond what's stored in the CMAP chunk. We now check if HAM
mode is set and then interprets the plane bits accordingly.
API:
- Changes in libgimpwidgets:
* New functions:
+ gimp_int_store_new_array(): variant of gimp_int_store_new() which will
work in bindings.
+ gimp_spin_scale_get_mnemonic_keyval()
* Improved annotations or usage:
+ gimp_procedure_dialog_get_spin_scale(): factor must be 1.0 for integer
properties.
- Changes in libgimp:
* New classes:
+ GimpResource: with unique int ID, instead of data name. Actual data will
be one of the following subclasses:
+ GimpBrush
+ GimpFont
+ GimpGradient
+ GimpPalette
+ GimpPattern
* New functions:
+ gimp_procedure_dialog_fill_scrolled_window()
+ gimp_procedure_dialog_get_size_entry()
* Improved annotations or usage:
+ set_i18n() method of GimpPlugIn expects a UTF-8 catalog directory.
+ clarify gimp_image_set_file() usage (only for XCF files).
+ gimp_image_add_sample_point()
+ gimp_image_get_sample_point_position()
- Changes in libgimpbase:
* New functions:
+ gimp_bind_text_domain()
+ gimp_value_array_copy()
* Improved annotations or usage:
+ gimp_locale_directory() returns a string in the OS encoding for all but
Windows (UTF-8), i.e. GLib "filename" encoding.
+ Metadata "Exif.Image.ImageResources" and "Exif.Image.0x935c" are not
exported anymore. These are specific to Photoshop, and while we cannot
modify them, they can contain sensitive information (e.g. a thumbnail).
+ Exif.Photo.PixelXDimension and Exif.Photo.PixelYDimension metadata tags
will now be updated (if they already exist in the image) when resizing
and exporting.
- Changes in libgimpconfig:
GStrv config properties are now properly serialized and deserialized for use
as plug-ins arguments.
* New functions:
+ gimp_config_serialize_strv()
+ gimp_config_deserialize_strv()
- PDB:
* Remove GimpUint8Array in favor of GBytes.
Build:
- MacPorts support for macOS added (this is even now the official support as we
build our new packages with MacPorts).
- meson: make sure libgimp does not depend on GTK+.
- GLib requirement bumped to version 2.70 as minimum.
- Improved C99 compatibility of IPC_RMID check.
- Windows: port fileicon.ico from gimp-2-10 with additional sizes for clearer
icons on different resolutions and displays.
- Improve our build scripts to better handle sanitizer tools.
- Fix some broken unit tests in the meson build.
- Meson build options 'lua', 'javascript' and 'python' are now features, and
not boolean. I.e. use option values 'enabled'/'disabled' (defaulting to
'auto') instead of true/false.
- Meson build 'vala-plugins' option was renamed to simply 'vala'.
- Added dependency to Exiv2 0.27.4.
- JUnit reports from Meson for the CI build.
- autotools was fully dropped!
- Debian 12 bookworm is now our base platform for CI, but also for deciding
whether we can bump a dependency minimum required version or not. This is a
consequence of approaching GIMP 3.0 release so we don't want to bump minimum
versions too high.
- GEGL requirement bumped to GEGL 0.4.46.
- Windows installer's welcome image is now generated in several sizes
from our splash screen image, avoiding discrepancies as well as
unnecessarily filling our repository with a history of duplicate
images.
- Add some logic to common/ and python/ plug-ins to facilitate running
GIMP from the build directory (without being installed) while still
able to load all plug-ins.
- gtk-mac-integration was dropped as a dependency on macOS. It made problems
and is apparently less needed with GTK+3.
In many cases the reasoning is poorly documented, or the reasoning
for setting GCC_REQD is to work around a compiler bug. Practically
a c99 compiler is now required for bootstrap (in at least several
dependencies) so we can entirely rule out GCC versions before 3.0.
5.3.2
fix: Fix snap package building
Support for Sgaw and W Pwo Karen languages in the Myanmar validator.
Replace bool array by more compact vector
Replace deprecated sprintf
Improve format of logging from lstmtraining
Clean code
Abort with error message if OSD is requested with LSTM-only model
Fix typos
Changelog:
-----------------------
2.15 Maintenance release
-----------------------
New MESON build system, many thanks to amispark and Lovell Fuller for bringing this.
Fixed a bug that caused memory corruption on colord
cmsReadRawTag can read portions of tags again. Removing this caused colord to segfault when dumping profiles
Added more checks based of fuzzer discoveries.
MSYS2 can now compile lcms2
Checked on Apple Silicon M1 and M2
Fixed a bug of fastfloat plug-in that affected Krita CMYK color selector
- pywal template compatibility: #5
- output colors in RGB,RGBA,XRGB and singular color channels #5 1/2
- add {wallpaper} variable to templating fix#5 2/2
- add {cursor} variable
- add {alpha} variable
- new flags:
-b/--backend to use a backend other than the config file
-c/--colorspace to use a custom colorspace, other than the one in the
config file
-C/--config-path to use a custom config file #12
-f/--filter to use a filter other than the one in the config file
-o/--overwrite_cache to ignore cached palette
-n/--no-cache don't cache result palette
- new filters:
- harddark - "hard hue" colors
- softlight - more "pastel" like colors
- built-in pywal themes (can be turn off with a compile-time feature)
- can read pywal colorschemes and terminal-sexy formats (both json) #8
- don't quit on errors while templating
- nix pkg to the readme #10
- fix building on windows #14
- multiple fixes, improvements, refactors
- update dependencies
Overview of Changes from GIMP 2.10.32 to GIMP 2.10.34
=====================================================
Core:
- Check for updates now works on macOS (backported from 2.99.14).
- Update help IDs for better integration with the documentation website.
- Symmetry dockable contents is now shown, yet deactivated, when no images are
opened, improving discoverability (backported from 2.99.14).
- DBus fully disabled on macOS (in some case, it could even freeze GIMP
process when dbus is present yet not responding). Open With feature (e.g.
from file browsers) still work fine as it uses a different code path on
macOS. Other features using dbus (opening files or running batch commands
from a separate GIMP process) won't work, but they probably never did on
macOS anyway.
- "Canvas Size" dialog took too much vertical space and now better uses the
horizontal space by moving the preview and offset fiels to the right side,
and the "Center" button just below (backported from 2.99.8).
- Template selector (backported from 2.99.6) in resize dialog.
- Color scale preferences (0..255/0..100 and LCh/HSV settings in Colors
selection dialogs) are now remembered across sessions.
- Eye icon header added to the item tree views to make it more obvious where
to click for item visibility and links (backported from 2.99.10)
- Revert color proofing behavior changed in 2.10.32 which resulted in
inconsistent past workflows.
- "Lock path strokes" tooltip for the dockable icon was renamed "Lock path".
Plug-ins:
- DDS: make GUI translatable.
- file-raw: added high bit depth precision export (partial backport from
2.99.12).
- TIFF:
* Various bug fixes;
* better check for invalid resolutions on import;
* do not generated warnings for incorrect RichTIFFIPTC tags produced by
Adobe products (only output a message to stderr, for not completely
ignoring these);
* Loading "reduced" image or not is now an option. We use a heuristic for
the default value of said option (trying to guess if it's a thumbnail by
using common usage), but final decision is now up to one knowing the image
you load (backported from 2.99.14);
* Default TIFF export format is "normal" TIFF, not BigTIFF (making it
default was definitely an error in 2.10.32).
- PSD:
* Various bug fixes;
* Useless physical unit conversion removed;
* Backported improvement (2.99.10) for importing layers with clipping set
(leading to color bleeding);
* Backported improvements (2.99.10) for importing clipping layers;
* Paths are now exported (backported from 2.99.14).
- WebP: more informative error messages in some cases.
- Flame: various bug fixes.
- JPEG-XL:
* metadata import backported from 2.99.14 - (requires libjxl 0.7.0)
* Partial backport (2.99.8) of JPEG-XL export; export is always in 8bit
lossless.
- HEIF: various bug fixes.
- Dicom: various bug fixes.
- help:
* macOS: https support now working fine for help files (bypassing
lack of support in GIO for macOS platform).
- animation-play: fixed on macOS.
- PDF:
* Import: new option "Fill transparent areas with white" to fill the
background in white (ON by default as most office PDF writers seem to rely
on readers filling the background with white), allowing importing
transparent PDF files.
* Export: new option "Fill transparent areas with background color" allowing
to decide whether to export a PDF with transparent background.
- TGA:
* Added a workaround to load wrongful TGA files exported by Krita (which
they fixed on their side too now, see Krita bug 464484).
- ICO and CUR:
* Magics detection for these formats has been removed (now using only using
filename extension) because it was interfering with the detection of
certain types of TGA images (which are likely more common than ICO and CUR
files, and extension for these should be reliable enough).
Libgimpbase:
- GimpMetadata API (in particular the gimp_metadata_set_from_*() functions)
are now much less memory-hungry (backported from the main dev branch) when
using GExiv 0.12.2 or over. With some huge metadata, it could cause long
freeze or even crashes of plug-ins.
Libgimpwidgets:
- Color-picking with X11 is now the default when compiled with X11, even if a
color-picking portal also exists, because it is always right, whereas
portals return color in display space without the space information itself
(i.e. without profiles).
- New dedicated GimpPickButton implementation for Windows (backported from
2.99.14).
Libgimp:
- New wrapper functions around GEGL ops, which also map to items in our Color
menu:
* gimp_drawable_shadows_highlights()
* gimp_drawable_extract_component()
Build:
- Bumping minimum GEGL to version 0.4.38.
- Bumping minimum libjxl to version 0.7.0.
- New GIMP_RELEASE macro to tell if code is a release or in-between release
(different from GIMP_UNSTABLE which was telling if we are in a stable or
development branch).
- Our stable CI now uses Debian stable where Python2 is still present.
Core:
New simpler API for connecting pads, gegl_node_connect which can be
used instead of either gegl_node_connect_from or gegl_node_connect_to
by autosensing the neccesary direction of the connection.
Operations:
Clean up various bits of ill or undefiend code based on stricter
compiler warnings.
Use gegl_node_connect in all ops.
ff-load,ff-save: clean up of deprecated API - hope fully covering more
ffmpeg versions.
New operation: adaptive-threshold, this is equivalent to doing an
unsharp mask with a large radius, followed by scaling the image up
applying threshold and scaling down by the inverse. The scalings are
only done if antialias is higher than 1. To speed up processing the
first thing done in the graph is conversion to grayscale.
Updated vendored libraries
ctx and libnsgif have been updated from upstream.
Build:
• Depend on meson 0.55.0
• various cleanups including re-enabling of deprecation warnings.
• make ctx be an internal library.
GEGL-0.4.44 2023-03-26
GeglBuffer:
Fixed a invalid free that gets umasked by GLib 2.75.3 and newer.
ctx:
Updated vendored library from upstream.
GEGL-0.4.42 2023-02-20
Operations:
• raw-load: add conditional support for 0.21.0 API
• rgb-clib: improved ui-ranges
• perlin, mosiac, c2g, long-shadow: small cleanups
• gif-load: update vendored dependency, including code updates.
Build:
• keeping up with babl0.4.46
babl-0.1.106
Disable LUTs on big-endian, fix to 1bpp->4bpp LUTs, faster startup by caching
balanced RGB to XYZ matrices.
babl-0.1.104
LUT code-paths re-enabled, some array overflow proofing.
babl-0.1.102
Brown paper bag release - LUT code-paths now disabled by default.
babl-0.1.100
Stop double processing with LUT+normal fishes.
Support for non-ASCII characters in file paths on windows. Improved wrap build
support.
v3.7.2
Avoid modifying input masks in pcolor/pcolormesh
Fix 3D set_aspect error cases
Fix IPython's %pylab mode detection
Fix Figure.get_constrained_layout_pads()
Fix Legend.set_draggable() with update="bbox"
Fix TransformedBbox.{,full_}contains
Fix clipping of bar_label text
Fix colorbar size when saving with explicit bbox_inches
Fix errors when an input is entirely NaN
Fix leaks of exception tracebacks and LayoutGrid objects
Fix non-interpolated imshow in PDF export
Fix palettized image optimization in PDF export
Fix pgf tests with TeXLive 2022
Fix removal of Axes that contain widgets that are grabbing the mouse
Fix removal of draggable artists
Fix subslice optimization for long, fully nan lines
Fix tight layout if Figure has an existing layout manager
Fix window extent of AnnotationBbox before first draw
Fix wspace and hspace in subfigures
Improve Qt compatibility
Improve compatibility with Python 3.12
Prevent under the hood downcasting of values in xcorr
Remove some NumPy function overrides from pylab
Remove warning with symlog scales on mouseover
The variables is set to "yes" if Mesa provides libxatracker, which is used
by some video drivers to make use of DRM/KMS and its 3D acceleration
capability.
## [8.1.0] – 2023-07-06
### Added
- On non-Windows platforms, new `-Tvt100` and `-Tvt100-24bit` output formats
are available that do rudimentary rendering to a terminal that supports ANSI
escape sequences.
- Some notes about the interaction with wide-oriented streams were added to
the cgraph man page.
### Changed
- When memory allocation failures cause Graphviz to exit, information about
the failing allocation is included in the error message.
### Fixed
- Failure of arrowhead and arrowtail to respect penwidth #372 \
Fixed also for the `curve` and `icurve`
[edge arrow shapes](https://graphviz.org/doc/info/arrows.html#primitive-shapes).
- Iteration calculations based on `nslimit` and/or `nslimit1` attributes are
clamped to `[0, INT_MAX]`. That is, calculations that result in a negative
number of iterations are rounded up to `0` and those that result in a number
of iterations that exceeds `INT_MAX` are rounded down to `INT_MAX`. Iteration
numbers outside this range do not have useful behavior, but could be caused
unintentionally by users.
- Setting `xdotversion` attributes that parse as greater than 17 (`xdotversion`
is parsed as a series of digits, ignoring all non-digits) no longer causes an
out of bounds read when rendering to xdot. #2390
- Icon size in the macOS Graphviz.app has been fixed so icons are no longer
invisible.
- Compiling the portable source tarball on a machine with SWIG ≥ 4.1.0 no
longer fails due to missing PHP files. #2388
- Syntax for a loop in `gvmap.sh` has been corrected. This was a regression in
Graphviz 2.50.0. #2404
upstream has moved on and these files no longer exist, so these patches
will be obsolete when krita itself is upgraded.
convert Exiv2::Value::AutoPtr to Exiv2::Value::UniquePtr.
convert Exiv2::AnyError to Exiv2::Error.
convert toLong() to toInt64().
convert size_ to size(), and pData_ to c_str() (c_data() might be OK
here, but the caller converts to char *).
convert locateIptcIrb() caller to use references not pointers.
Merged
Add support for DXGI_FORMAT_R10G10B10A2_UNORM #6423
Commits
beta release 3c43475
default colorspaces are xyY and HSB f45cb56
Check for _MSC_VER instead. cd00c90
Changed options for heif build. 3f9df4f
check geometry boundaries a6f4445
eliminate unintialized value 1a9bd29
multi-picture support (future) 81c214c
reject invalid BMP image @ ImageMagick/ImageMagick#6393 cd6b437
support -define ptif:pyramid define 3030b16
eliminate OMP error (ImageMagick/ImageMagick#6399) 6afa456
separate all channels, not just one marked for update (#ImageMagick/ImageMagick#6400) f6673cb
cosmetic 360fba4
cosmetic c29baa2
move OMP guard inside conditional 82c7014
Fixed build. 8926ea9
latest CSS 195a191
check the precision of the alpha channel d04a472
support the MPO image format 46985ca
Fixed build on Windows. 905b2d2
support JPEG alt signature 593902e
eliminate ANSI compiler warning 12792bf
There is no need to also code WebPEncode when WebPAnimEncoderAdd is used (#6415). f3ea247
ImageMagick/ImageMagick#6422 efc1c0e
update Linux built documentation 2cc67c3
Improved check when setting mem->max_memory_to_use. 1242ca5
Use the correct macro instead. a11148a
Turns out we already get the include from studio.h. 3f6161b
Added missing check to test if the blob could be opened (#6429) 9fbd8f8
Added extra flag for xz build. 49b8727
Patches for upcoming breaking changes in the jxl library. 9db502e
Disable the jpeg encoder and decoder of libheif to work around linking issues in the oss-fuzz build. b3f8ed7
release a09d8dd
## Version 3.1.9 (June 25, 2023)
Patch release that addresses miscelleneous build and doc issues, as well as:
* OSS-fuzz [59382](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=59382)
Heap-buffer-overflow in internal_huf_decompress
### Merged Pull Requests
* [1461](https::/github.com/AcademySoftwareFoundation/openexr/pull/1461)
don't use NaNs/infs in testOptimizedInterleavePatterns
* [1457](https::/github.com/AcademySoftwareFoundation/openexr/pull/1457)
Bazel support: Switch back to VS2019 due to a toolchain issue in Bazel
* [1454](https::/github.com/AcademySoftwareFoundation/openexr/pull/1454)
Add ``OPENEXR_IMF_INTERNAL_NAMESPACE`` for ``WidenFilename``
* [1452](https::/github.com/AcademySoftwareFoundation/openexr/pull/1452)
Use ``security@openexr.com`` for consistency
* [1448](https::/github.com/AcademySoftwareFoundation/openexr/pull/1448)
compression.cpp: fix isnan
* [1443](https::/github.com/AcademySoftwareFoundation/openexr/pull/1443)
Bazel bump imath
* [1439](https::/github.com/AcademySoftwareFoundation/openexr/pull/1439)
Fix scenario where malformed dwa file could read past end of buffer
* [1416](https::/github.com/AcademySoftwareFoundation/openexr/pull/1416)
IlmThread: fix defines for older macOS: do not prefix with ``__``
10.0.0 (2023-07-01)
-------------------
- Fixed deallocating mask images #7246
[radarhere]
- Added ImageFont.MAX_STRING_LENGTH #7244
[radarhere, hugovk]
- Fix Windows build with pyproject.toml #7230
[hugovk, nulano, radarhere]
- Do not close provided file handles with libtiff #7199
[radarhere]
- Convert to HSV if mode is HSV in getcolor() #7226
[radarhere]
- Added alpha_only argument to getbbox() #7123
[radarhere. hugovk]
- Prioritise speed in _repr_png_ #7242
[radarhere]
- Do not use CFFI access by default on PyPy #7236
[radarhere]
- Limit size even if one dimension is zero in decompression bomb check #7235
[radarhere]
- Use --config-settings instead of deprecated --global-option #7171
[radarhere]
- Better C integer definitions #6645
[Yay295, hugovk]
- Fixed finding dependencies on Cygwin #7175
[radarhere]
- Changed grabclipboard() to use PNG instead of JPG compression on macOS #7219
[abey79, radarhere]
- Added in_place argument to ImageOps.exif_transpose() #7092
[radarhere]
- Fixed calling putpalette() on L and LA images before load() #7187
[radarhere]
- Fixed saving TIFF multiframe images with LONG8 tag types #7078
[radarhere]
- Fixed combining single duration across duplicate APNG frames #7146
[radarhere]
- Remove temporary file when error is raised #7148
[radarhere]
- Do not use temporary file when grabbing clipboard on Linux #7200
[radarhere]
- If the clipboard fails to open on Windows, wait and try again #7141
[radarhere]
- Fixed saving multiple 1 mode frames to GIF #7181
[radarhere]
- Replaced absolute PIL import with relative import #7173
[radarhere]
- Replaced deprecated Py_FileSystemDefaultEncoding for Python >= 3.12 #7192
[radarhere]
- Improved wl-paste mimetype handling in ImageGrab #7094
[rrcgat, radarhere]
- Added _repr_jpeg_() for IPython display_jpeg #7135
[n3011, radarhere, nulano]
- Use "/sbin/ldconfig" if ldconfig is not found #7068
[radarhere]
- Prefer screenshots using XCB over gnome-screenshot #7143
[nulano, radarhere]
- Fixed joined corners for ImageDraw rounded_rectangle() odd dimensions #7151
[radarhere]
- Support reading signed 8-bit TIFF images #7111
[radarhere]
- Added width argument to ImageDraw regular_polygon #7132
[radarhere]
- Support I mode for ImageFilter.BuiltinFilter #7108
[radarhere]
- Raise error from stderr of Linux ImageGrab.grabclipboard() command #7112
[radarhere]
- Added unpacker from I;16B to I;16 #7125
[radarhere]
- Support float font sizes #7107
[radarhere]
- Use later value for duplicate xref entries in PdfParser #7102
[radarhere]
- Load before getting size in __getstate__ #7105
[bigcat88, radarhere]
- Fixed type handling for include and lib directories #7069
[adisbladis, radarhere]
- Remove deprecations for Pillow 10.0.0 #7059, #7080
[hugovk, radarhere]
- Drop support for soon-EOL Python 3.7 #7058
[hugovk, radarhere]
3.0.0
Significant changes relative to 3.0 beta2:
The TurboJPEG API now supports 4:4:1 (transposed 4:1:1) chrominance subsampling, which allows losslessly transposed or rotated 4:1:1 JPEG images to be losslessly cropped, partially decompressed, or decompressed to planar YUV images.
Fixed various segfaults and buffer overruns (CVE-2023-2804) that occurred when attempting to decompress various specially-crafted malformed 12-bit-per-component and 16-bit-per-component lossless JPEG images using color quantization or merged chroma upsampling/color conversion. The underlying cause of these issues was that the color quantization and merged chroma upsampling/color conversion algorithms were not designed with lossless decompression in mind. Since libjpeg-turbo explicitly does not support color conversion when compressing or decompressing lossless JPEG images, merged chroma upsampling/color conversion never should have been enabled for such images. Color quantization is a legacy feature that serves little or no purpose with lossless JPEG images, so it is also now disabled when decompressing such images. (As a result, djpeg can no longer decompress a lossless JPEG image into a GIF image.)
Fixed an oversight in 1.4 beta1[8] that caused various segfaults and buffer overruns when attempting to decompress various specially-crafted malformed 12-bit-per-component JPEG images using djpeg with both color quantization and RGB565 color conversion enabled.
Fixed an issue whereby jpeg_crop_scanline() sometimes miscalculated the downsampled width for components with 4x2 or 2x4 subsampling factors if decompression scaling was enabled. This caused the components to be upsampled incompletely, which caused the color converter to read from uninitialized memory. With 12-bit data precision, this caused a buffer overrun or underrun and subsequent segfault if the sample value read from uninitialized memory was outside of the valid sample range.
Fixed a long-standing issue whereby the tj3Transform() function, when used with the TJXOP_TRANSPOSE, TJXOP_TRANSVERSE, TJXOP_ROT90, or TJXOP_ROT270 transform operation and without automatic JPEG destination buffer (re)allocation or lossless cropping, computed the worst-case transformed JPEG image size based on the source image dimensions rather than the transformed image dimensions. If a calling program allocated the JPEG destination buffer based on the transformed image dimensions, as the API documentation instructs, and attempted to transform a specially-crafted 4:2:2, 4:4:0, 4:1:1, or 4:4:1 JPEG source image containing a large amount of metadata, the issue caused tj3Transform() to overflow the JPEG destination buffer rather than fail gracefully. The issue could be worked around by setting TJXOPT_COPYNONE. Note that, irrespective of this issue, tj3Transform() cannot reliably transform JPEG source images that contain a large amount of metadata unless automatic JPEG destination buffer (re)allocation is used or TJXOPT_COPYNONE is set.
Fixed a regression introduced by 3.0 beta2[6] that prevented the djpeg -map option from working when decompressing 12-bit-per-component lossy JPEG images.
Fixed an issue that caused the C Huffman encoder (which is not used by default on x86 and Arm CPUs) to read from uninitialized memory when attempting to transform a specially-crafted malformed arithmetic-coded JPEG source image into a baseline Huffman-coded JPEG destination image.
- Typo fix, reported on the forum.
- Fixed assorted typos, clarity errors, and formatting problems in the
docs. Most were reported on the forum by brickviking (here and here)
but I found and fixed a few more while in there.
- Remove the artificial enlargement of "mono" text, as that seems not to
be necessary when the output is rendered by Fossil. Must be some kind
of CSS issue.
- Add support for the "monospace" (alias "mono") text attribute.
- Adjust the font size and text length computations for monospace.
(Closed-Leaf check-in: 22e2a2c622 user: drh tags: monospace)
- "mono italic" test case added.
- Experimental support for the "mono" and "monospace" text attributes.
- Add the narrow.pikchr test case. This should have been part of
[21ca6b843d65c404], I think.
- Doc typo fix reported in /forumpost/4e01fef7d9.
- Add a link to Adamantine Pick, a pikchr extension for the Obsidian
knowledge-base app.
- Avoid unnecessary rounding of coordinates in the generated SVG. Forum
post b571590af6.
- Add "External Link" entry for the Lua-based pikchr pandoc filter.
- Add mdbook-pikchr to External Links section.
- Mention the "behind" attribute in the differences and user manual
documents. Forum post e172c0c950.
- Minor emsdk doc update.
- Added a link to David Weil's node.js pikchr module, sent to me
off-list.
- Discuss the PIKCHR_TOKEN_LIMIT in the differences page.
- Update the built-in Lemon to the latest code from the SQLite project.
- Added fiddle/README.md, which explains how to get the fiddle app up
and running.
- Pulled in minor fiddle changes from the fossil tree.
- Changed the /fiddle build to name the output files pikchr.js/wasm
instead of fiddle-module.js/wasm to avoid having to make manual edits
when porting them over to fossil.
- Allow any value for HEADING. Convert it to -360..360 before use. Forum
post 56140a59018db001
- Add Ryan's spider-web Pikchr script as an example.
- Help text typo fix and added a mention that all output goes to stdout,
as suggested in [e3a1e165ab799e64]. No code changes.
- Added a link to another 3rd-party integration of pikchr: the 8th
programming language.
- Expanded [43eb7d998415] to permit digits in HTML entities after the
first character, to allow for sup2, frac12, and similar entities.
Reported in [dcf1418ef16f].
- Minor doc correction and code style tweak to the previous checkin. No
functional changes.
- When outputing HTML-escaped text and an ampersand is encountered,
only transform it to an HTML entity if it looks like it's not one
already. HTML entities are left as is, noting that we do only a
syntactic check and not a test for whether the entity is a
standard/known one. This replaces [aca3d2dc1a00], reverting the doc
changes made by that checkin.
- Replaced ampersand-deg-semicolon escape sequences in pikchr
string literals in various docs with a degree symbol to work
around that escape sequence having been broken by
[641b4ff2e552183c]. Extended the comment about ampersand escaping
in pik_append_text(). No code changes. (Closed-Leaf check-in:
aca3d2dc1a user: stephan tags: mistake)
- Removed some duplicated docs, one copy of which was out of date.
- Extended the wasm binding to optionally make use of all of the
pikchr() arguments and return more info, e.g. width/height, in the
result object. Fixed shift-enter behavior.
- Minor fiddle app cleanups made while porting it to fossil.
- Added build of gzip-compressed forms of the fiddle/ files, for use
with althttpd's new gzip support.
- Updated the fiddle TODOs.
- fiddle: initial impl of auto-update of SVG while typing (enabled with
new checkbox). Works but may need tweaks for the precise preferred
timing (currently 800ms debounce) and skiping update for certain
keys/situations.
- fiddle: made the config checkboxes persistent.
- fiddle: removed a superfluous layer of indirection.
- Fiddle: accounted for case of empty pikchr script, which produces an
HTML comment as output. Renamed the inherited sqlite-centric symbol
names to pikchr-centric ones.
- fiddle: simplified some duplicated if/else logic and made
renderAutoScale=false the default.
- Initial version of a wasm/JS pikchr "fiddle" app. Requires emscripten
to build. Several TODOs remain but it essentially works.
- Correctly adjust the bounding box when the size of a circle is set
using "diameter". Fix for ticket [4449371aa4d8ed2b].
- Added new external project links which were posted to /forumpost/8b18c6b6bd.
- Limit the number of tokens that can be processed in a single script to
avoid an exponential macro-expansion attack, such as described by
forum thread 6b9b95de35.
- Typo fix in userman.md: s/three/five/
- Fix the built-in abs() function so that it actually works. Add a test case.
- Add links on the homepage to Zellyn Hunter's port of pikchr to Go.
- Add a test case for the ampersand problem fixed in the previous check-in.
- Escape ampersands when emitting text nodes, per report in forum post
37584617be.
v1.1.0 (2023-06-13)
-------------------
This release features a change in the build system from ``distutils``, which
is scheduled for removal in Python 3.12, to `meson`_ and `meson-python`_.
It includes the building of wheels for ppc64le and s390x (on x86_64 only) and
removes building of all 32-bit wheels and macOS universal2 wheels.
This release supports Python 3.8 to 3.11.
Thanks to new contributor :user:`eli-schwartz`.
Build system improvements:
* New meson build system (:pr:`183`, :pr:`226`, :pr:`232`, :pr:`249`, :pr:`250`)
* Drop building universal2 wheels (:pr:`225`)
* Add build_config to store and show build configuration info (:pr:`227`)
* Build ppc64le and s390x wheels (:pr:`246`)
Code improvements:
* Rearrange functions alphabetically (:pr:`219`)
* Remove unused mpl2005 and mpl2014 code (:pr:`234`, :pr:`237`)
* Improve mpl2014 chunk count error handling (:pr:`238`)
Documentation improvements:
* Improve API docs (:pr:`220`, :pr:`221`, :pr:`222`)
* Update benchmarks (:pr:`233`)
* Add meson-specific build docs (:pr:`245`)
* Add simpler README for PyPI (:pr:`247`)
CI improvements:
* Replace flake8 with ruff (:pr:`211`)
* Building and testing on cirrus CI (:pr:`213`)
* Run mypy in CI (:pr:`230`)
* Set up code coverage in CI (:pr:`235`, :pr:`236`, :pr:`183`)
* New internal API, codebase and debug renderer tests (:pr:`239`, :pr:`241`, :pr:`244`)
* Use correct version of chromium for Bokeh image tests (:pr:`243`)
* Add tests for musllinux (on x86_64), ppc64le and s390x (:pr:`246`)
1.24.0 - 2023-06-19
-------------------
* Dropped Python 3.7 support
* Bumped meson version requirement from 0.53.0 to 0.56.0
* Various cairo dependency updates for the Windows wheel build
* examples: update to GTK4 :pr:`307`
* examples: add a clip_image example :pr:`316`
* docs: fix the build with Sphinx 6 :pr:`318`
* Various code cleanups :pr:`306`
* Added Python 3.12 Windows wheels
FreeType 2.13.1
This is a maintenance release with only minor changes, for example, a new load flag FT_LOAD_NO_SVG to ignore glyphs in an SVG SFNT table, or a new function FT_Get_Default_Named_Instance to get the index of the default named instance of an OpenType Variation Font.
Changes from version 1.6.39 to version 1.6.40
---------------------------------------------
* Fixed the eXIf chunk multiplicity checks.
* Fixed a memory leak in pCAL processing.
* Corrected the validity report about tRNS inside png_get_valid().
* Fixed various build issues on *BSD, Mac and Windows.
* Updated the configurations and the scripts for continuous integration.
* Cleaned up the code, the build scripts, and the documentation.
Explain that Pillow is the maintained version, for Python 3 only, and
that Pillow6 is an old version for use with Python 2.7, and that the
package is not available for Python 3.
Fixes PLIST mismatch (DESTDIR is missing _sources/multi_page.rst.txt and
multi_page.html) in that case, at least on my macOS system. No change on
my NetBSD system without sphinx.
No ChangeLog provided, cherry pick some commits.
- remove unused code
- Improve animation sequence start
- Feat: Add Zen mode (o UI) default 'z' to toggle
- Enable support for Apple Silicon (aarch64)
- update deps
- Show zwn mode info on first start
Geeqie 2.1
============
- Additional --selection remote commands
- Split view additional 3-image layout
- Many bug fixes
- Some progress in GTK4 migration
- Change source code from c to c++
- Much progress in making source code warning-free
- Updated language support
This MetaPost package allows to draw binary Huffman trees from
two arrays : an array of strings, and an array of weights
(numeric). It is based on the METAOBJ package which provides
many tools for building trees in general.
## Version 3.1.8 (June 2, 2023)
Patch release that addresses miscellaneous build issues, for macOS in
particular, but also includes:
* Support for DWA compression in OpenEXRCore
* Fix for threadpool deadlocks during shutdown on Windows
This release also addresses:
* OSS-fuzz 59070 Stack-buffer-overflow in DwaCompressor_readChannelRules
2.6.2:
* Updated autotools to use ax_compute_relative_paths, fixing homebrew on macOS
2.6.1:
* Fixed loading grayscale PNGs when using stb_image
2.6.0:
* Added support for building with CMake
* Added stb_image as the default backend for JPG and PNG images loading.
To use libpng and libjpg instead, configure using --disable-stb-image
* Added IMG_LoadSizedSVG_RW()
* Added support for AVIF images (https://github.com/AOMediaCodec/libavif)
* Added IMG_ReadXPMFromArrayToRGB888()
* Added support for JXL images (https://jpegxl.info/)
* Added support for QOI images (https://qoiformat.org/)
* Fixed XCF regression introduced in 2.0.5
* Added support for loading animated GIFs
* LoadBMP() now loads files using SDL2
* Allow using libwebpdecoder instead libwebp
Bivariate data interpolation on regular and irregular grids, either
linear or using splines are the main part of this package. It is
intended to provide FOSS replacement functions for the ACM licensed
akima::interp and tripack::tri.mesh functions. Linear interpolation is
implemented in interp::interp(..., method="linear"), this corresponds
to the call akima::interp(..., linear=TRUE) which is the default
setting and covers most of akima::interp use cases in depending
packages. A re-implementation of Akimas irregular grid spline
interpolation (akima::interp(..., linear=FALSE)) is now also available
via interp::interp(..., method="akima"). Estimators for partial
derivatives are now also available in interp::locpoly(), these are a
prerequisite for the spline interpolation. The basic part is a GPLed
triangulation algorithm (sweep hull algorithm by David Sinclair)
providing the starting point for the irregular grid interpolator. As
side effect this algorithm is also used to provide replacements for
almost all functions of the tripack package which also suffers from
the same ACM license restrictions. All functions are designed to be
backward compatible with their akima / tripack counterparts.
1.10
- New option: --compression to specify a compression level. Note that certain
formats (such as PNG) will now use --compression instead of --quality.
- Improvement: Timing in scrot --delay.
- Improvement: Screenshot timestamps timing.
- Improvement: Robustness of default CFLAGS.
- Document: Not all compositors support opacity.
- Document: Depend on an interface, not an implementation.
- Document: Fixed license to MIT-feh. NOTE: this is NOT a license change, we
simply fixed the document to correctly identify the license.
- Document: Make it clear --window option takes an argument.
- Document: Clarify imlib2 feature requirement.
- Document: Fix --quality description in manpage.
- Improvement: Use -O3 and do not build debug info by default if no CFLAGS was
set by the user.
- Improvement: Fatally error out in case the mouse pointer image cannot be
acquired.
- Deprecate: --note.
- Fixes: Memory leak.
- Several other fixes.
1.9
- Fixes: Add delay to all capture options
- New option: --window
- Deprecate -S
- Fixes: compilation on CentOS 7
- Fixes: multiple bugs in output file handling
- Fixes: multiple bugs in scrot's -C option
- Fixes: restore "keep ratio" functionality in --thumb
- New option: add --format flag
- Improvement: allow b prefix in --delay argument
- Fixes: memory leak on multiple -F options
- Fixes: hostname potentially getting truncated
- Several internal fixes
packaging changes:
adjust PLIST for changed doc build
The following programs will be dropped in 4.6.0:
bin/fax2ps
bin/fax2tiff
bin/pal2rgb
bin/ppm2tiff
bin/raw2tiff
bin/tiff2bw
bin/tiff2pdf
bin/tiff2ps
bin/tiff2rgba
bin/tiffcmp
bin/tiffcrop
bin/tiffdither
bin/tiffmedian
bin/tiffsplit
Upstream NEWS:
DEPRECATION WARNING for 4.6.0:
This version will be the last one supporting most TIFF tools
(except tiffinfo, tiffdump, tiffcp and tiffset), whose maintenance
will be discontinued, due to the lack of contributors able to
address reported security issues. Starting with libtiff v4.6.0,
their source code, at this time ,will still be available in the
source distribution, but they will no longer be built by default,
and issues related to them will no longer be accepted in the
libtiff bug tracker.
New/improved functionalities:
Hardcode HOST_FILLORDER to FILLORDER_LSB2MSB and make 'H' flag of
TIFFOpen() to warn and an alias of FILLORDER_MSB2LSB. tif_lerc.c:
use WORDS_BIGENDIAN instead of HOST_BIGENDIAN.
Bug fixes
(many)
Build system and formatting improvements
(many)
# ggplot2 3.4.2
This is a hotfix release anticipating changes in r-devel, but folds in upkeep
changes and a few bug fixes as well.
## Minor improvements
* Various type checks and their messages have been standardised
(@teunbrand, #4834).
* ggplot2 now uses `scales::DiscreteRange` and `scales::ContinuousRange`, which
are available to write scale extensions from scratch (@teunbrand, #2710).
* The `layer_data()`, `layer_scales()` and `layer_grob()` now have the default
`plot = last_plot()` (@teunbrand, #5166).
* The `datetime_scale()` scale constructor is now exported for use in extension
packages (@teunbrand, #4701).
## Bug fixes
* `update_geom_defaults()` and `update_stat_defaults()` now return properly
classed objects and have updated docs (@dkahle, #5146).
* For the purposes of checking required or non-missing aesthetics, character
vectors are no longer considered non-finite (@teunbrand, @4284).
* `annotation_logticks()` skips drawing ticks when the scale range is non-finite
instead of throwing an error (@teunbrand, #5229).
* Fixed spurious warnings when the `weight` was used in `stat_bin_2d()`,
`stat_boxplot()`, `stat_contour()`, `stat_bin_hex()` and `stat_quantile()`
(@teunbrand, #5216).
* To prevent changing the plotting order, `stat_sf()` is now computed per panel
instead of per group (@teunbrand, #4340).
* Fixed bug in `coord_sf()` where graticule lines didn't obey
`panel.grid.major`'s linewidth setting (@teunbrand, #5179).
* `geom_text()` drops observations where `angle = NA` instead of throwing an
error (@teunbrand, #2757).
# ggplot2 3.4.1
This is a small release focusing on fixing regressions in the 3.4.0 release
and minor polishes.
## Breaking changes
* The computed variable `y` in `stat_ecdf()` has been superseded by `ecdf` to
prevent incorrect scale transformations (@teunbrand, #5113 and #5112).
## New features
* Added `scale_linewidth_manual()` and `scale_linewidth_identity()` to support
the `linewidth` aesthetic (@teunbrand, #5050).
* `ggsave()` warns when multiple `filename`s are given, and only writes to the
first file (@teunbrand, #5114).
## Bug fixes
* Fixed a regression in `geom_hex()` where aesthetics were replicated across
bins (@thomasp85, #5037 and #5044).
* Using two ordered factors as facetting variables in
`facet_grid(..., as.table = FALSE)` now throws a warning instead of an
error (@teunbrand, #5109).
* Fixed misbehaviour of `draw_key_boxplot()` and `draw_key_crossbar()` with
skewed key aspect ratio (@teunbrand, #5082).
* Fixed spurious warning when `weight` aesthetic was used in `stat_smooth()`
(@teunbrand based on @clauswilke's suggestion, #5053).
* The `lwd` alias is now correctly replaced by `linewidth` instead of `size`
(@teunbrand based on @clauswilke's suggestion #5051).
* Fixed a regression in `Coord$train_panel_guides()` where names of guides were
dropped (@maxsutton, #5063).
In binned scales:
* Automatic breaks should no longer be out-of-bounds, and automatic limits are
adjusted to include breaks (@teunbrand, #5082).
* Zero-range limits no longer throw an error and are treated akin to continuous
scales with zero-range limits (@teunbrand, #5066).
* The `trans = "date"` and `trans = "time"` transformations were made compatible
(@teunbrand, #4217).
# ggplot2 3.4.0
This is a minor release focusing on tightening up the internals and ironing out
some inconsistencies in the API. The biggest change is the addition of the
`linewidth` aesthetic that takes of sizing the width of any line from `size`.
This change, while attempting to be as non-breaking as possible, has the
potential to change the look of some of your plots.
Other notable changes is a complete redo of the error and warning messaging in
ggplot2 using the cli package. Messaging is now better contextualised and it
should be easier to identify which layer an error is coming from. Last, we have
now made the switch to using the vctrs package internally which means that
support for vctrs classes as variables should improve, along with some small
gains in rendering speed.
## Breaking changes
* A `linewidth` aesthetic has been introduced and supersedes the `size`
aesthetic for scaling the width of lines in line based geoms. `size` will
remain functioning but deprecated for these geoms and it is recommended to
update all code to reflect the new aesthetic. For geoms that have _both_ point
sizing and linewidth sizing (`geom_pointrange()` and `geom_sf`) `size` now
**only** refers to sizing of points which can leads to a visual change in old
code (@thomasp85, #3672)
* The default line width for polygons in `geom_sf()` have been decreased to 0.2
to reflect that this is usually used for demarking borders where a thinner
line is better suited. This change was made since we already induced a
visual change in `geom_sf()` with the introduction of the `linewidth`
aesthetic.
* The dot-dot notation (`..var..`) and `stat()`, which have been superseded by
`after_stat()`, are now formally deprecated (@yutannihilation, #3693).
* `qplot()` is now formally deprecated (@yutannihilation, #3956).
* `stage()` now properly refers to the values without scale transformations for
the stage of `after_stat`. If your code requires the scaled version of the
values for some reason, you have to apply the same transformation by yourself,
e.g. `sqrt()` for `scale_{x,y}_sqrt()` (@yutannihilation and @teunbrand, #4155).
* Use `rlang::hash()` instead of `digest::digest()`. This update may lead to
changes in the automatic sorting of legends. In order to enforce a specific
legend order use the `order` argument in the guide. (@thomasp85, #4458)
* referring to `x` in backquoted expressions with `label_bquote()` is no longer
possible.
* The `ticks.linewidth` and `frame.linewidth` parameters of `guide_colourbar()`
are now multiplied with `.pt` like elsewhere in ggplot2. It can cause visual
changes when these arguments are not the defaults and these changes can be
restored to their previous behaviour by adding `/ .pt` (@teunbrand #4314).
* `scale_*_viridis_b()` now uses the full range of the viridis scales
(@gregleleu, #4737)
## New features
* `geom_col()` and `geom_bar()` gain a new `just` argument. This is set to `0.5`
by default; use `just = 0`/`just = 1` to place columns on the left/right
of the axis breaks.
(@wurli, #4899)
* `geom_density()` and `stat_density()` now support `bounds` argument
to estimate density with boundary correction (@echasnovski, #4013).
* ggplot now checks during statistical transformations whether any data
columns were dropped and warns about this. If stats intend to drop
data columns they can declare them in the new field `dropped_aes`.
(@clauswilke, #3250)
* `...` supports `rlang::list2` dynamic dots in all public functions.
(@mone27, #4764)
* `theme()` now has a `strip.clip` argument, that can be set to `"off"` to
prevent the clipping of strip text and background borders (@teunbrand, #4118)
* `geom_contour()` now accepts a function in the `breaks` argument
(@eliocamp, #4652).
## Minor improvements and bug fixes
* Fix a bug in `position_jitter()` where infinity values were dropped (@javlon,
#4790).
* `geom_linerange()` now respects the `na.rm` argument (#4927, @thomasp85)
* Improve the support for `guide_axis()` on `coord_trans()`
(@yutannihilation, #3959)
* Added `stat_align()` to align data without common x-coordinates prior to
stacking. This is now the default stat for `geom_area()` (@thomasp85, #4850)
* Fix a bug in `stat_contour_filled()` where break value differences below a
certain number of digits would cause the computations to fail (@thomasp85,
#4874)
* Secondary axis ticks are now positioned more precisely, removing small visual
artefacts with alignment between grid and ticks (@thomasp85, #3576)
* Improve `stat_function` documentation regarding `xlim` argument.
(@92amartins, #4474)
* Fix various issues with how `labels`, `breaks`, `limits`, and `show.limits`
interact in the different binning guides (@thomasp85, #4831)
* Automatic break calculation now squishes the scale limits to the domain
of the transformation. This allows `scale_{x/y}_sqrt()` to find breaks at 0
when appropriate (@teunbrand, #980).
* Using multiple modified aesthetics correctly will no longer trigger warnings.
If used incorrectly, the warning will now report the duplicated aesthetic
instead of `NA` (@teunbrand, #4707).
* `aes()` now supports the `!!!` operator in its first two arguments
(#2675). Thanks to @yutannihilation and @teunbrand for draft
implementations.
* Require rlang >= 1.0.0 (@billybarc, #4797)
* `geom_violin()` no longer issues "collapsing to unique 'x' values" warning
(@bersbersbers, #4455)
* `annotate()` now documents unsupported geoms (`geom_abline()`, `geom_hline()`
and `geom_vline()`), and warns when they are requested (@mikmart, #4719)
* `presidential` dataset now includes Trump's presidency (@bkmgit, #4703).
* `position_stack()` now works fully with `geom_text()` (@thomasp85, #4367)
* `geom_tile()` now correctly recognises missing data in `xmin`, `xmax`, `ymin`,
and `ymax` (@thomasp85 and @sigmapi, #4495)
* `geom_hex()` will now use the binwidth from `stat_bin_hex()` if present,
instead of deriving it (@thomasp85, #4580)
* `geom_hex()` now works on non-linear coordinate systems (@thomasp85)
* Fixed a bug throwing errors when trying to render an empty plot with secondary
axes (@thomasp85, #4509)
* Axes are now added correctly in `facet_wrap()` when `as.table = FALSE`
(@thomasp85, #4553)
* Better compatibility of custom device functions in `ggsave()`
(@thomasp85, #4539)
* Binning scales are now more resilient to calculated limits that ends up being
`NaN` after transformations (@thomasp85, #4510)
* Strip padding in `facet_grid()` is now only in effect if
`strip.placement = "outside"` _and_ an axis is present between the strip and
the panel (@thomasp85, #4610)
* Aesthetics of length 1 are now recycled to 0 if the length of the data is 0
(@thomasp85, #4588)
* Setting `size = NA` will no longer cause `guide_legend()` to error
(@thomasp85, #4559)
* Setting `stroke` to `NA` in `geom_point()` will no longer impair the sizing of
the points (@thomasp85, #4624)
* `stat_bin_2d()` now correctly recognises the `weight` aesthetic
(@thomasp85, #4646)
* All geoms now have consistent exposure of linejoin and lineend parameters, and
the guide keys will now respect these settings (@thomasp85, #4653)
* `geom_sf()` now respects `arrow` parameter for lines (@jakeruss, #4659)
* Updated documentation for `print.ggplot` to reflect that it returns
the original plot, not the result of `ggplot_build()`. (@r2evans, #4390)
* `scale_*_manual()` no longer displays extra legend keys, or changes their
order, when a named `values` argument has more items than the data. To display
all `values` on the legend instead, use
`scale_*_manual(values = vals, limits = names(vals))`. (@teunbrand, @banfai,
#4511, #4534)
* Updated documentation for `geom_contour()` to correctly reflect argument
precedence between `bins` and `binwidth`. (@eliocamp, #4651)
* Dots in `geom_dotplot()` are now correctly aligned to the baseline when
`stackratio != 1` and `stackdir != "up"` (@mjskay, #4614)
* Key glyphs for `geom_boxplot()`, `geom_crossbar()`, `geom_pointrange()`, and
`geom_linerange()` are now orientation-aware (@mjskay, #4732)
* Updated documentation for `geom_smooth()` to more clearly describe effects of
the `fullrange` parameter (@thoolihan, #4399).
# ggplot2 3.3.6
This is a very small release only applying an internal change to comply with
R 4.2 and its deprecation of `default.stringsAsFactors()`. There are no user
facing changes and no breaking changes.
1.42
Minor update to the help text, to match options added in v1.41
1.41
* allow gswin64c in restricted mode, fix typos in messages
* add -q option
* don't print whole help msg for unknown options
* do not create two pages with xetex
Several more styling options for elements (body diodes, transformers, crossing),
a clock wedge shape for logical circuits, and documentation updates for ConTeXt,
mainly noticing the (upstream) elimination of the thin `siunitx` layer
compatibility macros.
- there is no `siunitx` support for ConTeXt, point to their `units` package
- Add styling of `transform core` lines
- Add `scale` to the bodydiode options
- Add styling of crossing vertical line
- Add `clockwedge` shape
## [8.0.5] - 2023-04-30
### Changed
- Support for versions of Pango prior to 1.22.0 has been removed.
- On Windows, the Pango plugin now uses the newer `pango_layout_get_baseline`
API.
- `dot` no longer installs a signal handler for `SIGINT`. This means typing
Ctrl+C while `dot` is running will no longer attempt a partial render and exit
with 0 status. Ctrl+C will have the standard behavior, typically aborting
`dot`.
### Fixed
- A minor inaccuracy for some cases of clipping an edge to a polygon node
boundary has been fixed.
- A minor inaccuracy in node width and height for some cases of rendering
polygon nodes has been fixed.
- A minor inaccuracy for some cases of calculating text height from `fontsize`
in the GD plugin has been fixed.
- A minor vertical misalignment of text in the GD plugin has been fixed.
- Instead of using the actual font height as given by the font metrics, an
approximation based on font size was used in the Pango plugin.
- A minor inaccuracy for some cases of calculating text width and height in the
Pango plugin has been fixed.
- A minor vertical misalignment of text in the Pango plugin has been fixed.
- Ensure `HAVE_PANGOCAIRO` is set when using CMake and the library is available.
- A minor inaccuracy in node width and height for some cases of defining
polygon-based nodes has been fixed.
- A minor inaccuracy for some cases of calculating margin for record-based nodes
has been fixed.
- A minor inaccuracy in node width and height for some cases of defining
record-based nodes has been fixed.
- On all known supported platforms except 32-bit MinGW, graphs involving small
distance constraints no longer cause a crash during majorization. #1554
## [8.0.3] - 2023-04-16
### Added
- A pre-processor script for resolving external image references
(`image="http-"`) is now available. This enables graphs to reference images
from intranet or internet locations. #1664
### Changed
- The accuracy of box overlapping checks during routing has been improved.
### Fixed
- makeCompoundEdge: Assertion `bez->sflag` failed. #1879
- Graphviz.app-s export functionality has been restored. This was a regression
in Graphviz 5.0.0. #2375
## [8.0.2] - 2023-04-10
### Changed
- The Autotools build system can now detect a MacPorts-installed libANN. #1854
- Support for versions of Cairo prior to 1.10 has been removed.
- Graphs that generate rectangles with areas in the range [2--, 2-- - 1]
are now supported. Previously areas greater than 2-- - 1 would be
rejected. #2371
### Fixed
- Head and tail of `digraph` edges with `dir = both` were inverted if
`splines = ortho` was used. The bug was only exposed on straight edges.
Edges with at least one corner were unaffected. #144
- `_Gdtclft_Init` link errors when builting libtcldot_builtin using the
Autotools build system have been resolved. #2365
- Incorrect string construction in the `pov` output formatter has been fixed.
## [8.0.1] - 2023-03-27
### Added
- When specifying a color in HSV format, it is now possible to give an
additional fourth component for the alpha channel (opacity). #510
### Changed
- Graphviz will now exit when encountering a syntactically invalid HTML label
instead of attempting to recover and continue. #1311
- **Breaking**: the `url_map_n` field in the `obj_state_t` struct is now a
`size_t`.
- The limit of 5 unique `samehead` or `sametail` values per node has been
removed. The maximum number of unique `samehead` or `sametail` values is now
limited only by available memory. #452
- **Breaking**: The `size` field of the `elist` struct is now a `size_t`.
- **Breaking**: The `size` field of the `nlist` struct is now a `size_t`.
- **Breaking**: The `n_nodes` field of the `Agraphinfo_t` struct is now a
`size_t`.
- **Breaking**: The `nspans` field of `textlabel_t.u.txt` is now a `size_t`.
- **Breaking**: The `sflag` and `eflag` fields of the `bezier` struct are now
`uint32_t`s.
- **Breaking**: The `nvertices` field of the `stroke_t` struct is now a
`size_t`.
- -no hard-coded metrics- warnings are now only printed once per font.
- The Autotools build system now discovers Python paths using `sysconfig`
instead of `distutils.sysconfig`, making it compatible with Python 3.12. This
alters the installation path of the Python Graphviz module to something more
correct. #2332
### Fixed
- The `pic` output renderer uses PIC or troff comments where appropriate, fixing
a problem that resulted in comments being misinterpreted by `groff` and being
visible in the final output. #2341
- `gv2gxl` and `gxl2gv` correctly detect their mode (gv-gxl or gxl-gv) on
Windows when called via an absolute or relative path. #2344
- Using C pre-processor line directives (`^\s*#(line )?\d+`) claiming a line
number greater than `INT_MAX` no longer causes an integer overflow. #1318
- fdp cluster-cluster edges were correct but now drawn incorrectly. This was a
regression in Graphviz 7.0.0. #2345
- Failure of arrowhead and arrowtail to respect penwidth #372 \
Fixed also for the `cylinder`
[node shape](https://graphviz.org/doc/info/shapes.html#polygon).
- Second periphery of a cylinder shaped node is not correct. #2297
- Graphs with more than 127 layers no longer cause out of bound writes. #2355
- htmltable.c assertions are no longer triggered by using HTML table cells too
small to fit their content. #1622
- `dot2gxl -d` no longer crashes when receiving a closing `node` tag following a
closing `graph` tag. #2094
- A buffer overflow in Smyrna when loading GVPR scripts has been corrected.
- A buffer overflow when loading a plugin with a long type string has been
corrected.
- Graphs that involve more than 2000 stroke points during tapering calculations
no longer cause out of bounds writes.
- Using `arrowsize=0.0` no longer triggers an assertion failure or crash during
miter calculations. This was a regression in Graphviz 7.0.0. #2342
- When using the `beautify=true` attribute, beautification no longer confuses
leaves and dimensions. This previously could have led to skipping calculations
or infinite loops.
- When using the `beautify=true` attribute, the first and last nodes around a
circular layout are no longer placed on top of each other. #2283
- Applying `concentrate=true` to duplicate edges no longer results in errors due
to non-normal edges being found. #2087
- `splines=ortho` and `concentrate=true` when used in combination no longer
causes crashes during spline construction. #2361
- Externally referenced SVG files with their opening `<svg` tag on the same line
as their XML declaration are no longer ignored. #2352
### Removed
- The VML output renderer has been removed. This format has been superseded by
SVG. #799
- Legacy man page references to `dotty` have been removed. `dotty` was removed
in Graphviz 4.0.0.
- **Breaking**: The definition of the `elist_fastapp` macro has been removed.
- Versions of Librsvg prior to 2.36.0 are no longer supported.
- Versions of GDK prior to 2.0.0 are no longer supported.
- Versions of Glib prior to 2.36.0 are no longer supported.
- **Breaking**: The `Agnodeinfo_t.inleaf` field and its `ND_inleaf` accessor
have been removed.
- **Breaking**: The `Agnodeinfo_t.outleaf` field and its `ND_outleaf` and
`GD_outleaf` accessors have been removed.
- **Breaking**: The `Agraphinfo_t.has_sourcerank` field and its
`GD_has_sourcerank` accessor has been removed.
- **Breaking**: The `Agraphinfo_t.has_sinkrank` field and its
`GD_has_sinkrank` accessor has been removed.
- Support for the legacy Microsoft Visio VDX format has been removed.
- **Breaking**: The `arrow_at_start` and `arrow_at_end` parameters from the
`gvrender_engine_t.beziercurve` callback have been removed.
- **Breaking**: The `GVRENDER_DOES_ARROWS` constant has been removed.
- The extra cmpnd.c code is no longer shipped in the Graphviz distribution
tarball.
- **Breaking**: The `STROKE_CLOSED`, `STROKE_FILLED`, `STROKE_PENDOWN`, and
`STROKE_VERTICES_ALLOCATED` constants have been removed.
- **Breaking**: The `stoke_t.flags` field has been removed.
Almost all uses, if not all of them, are wrong, according to the
semantics of BUILD_DEPENDS (packages built for target available for
use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for
host available for use _as_ tools at build-time).
No change to BUILD_DEPENDS as used correctly inside buildlink3.
As proposed on tech-pkg:
https://mail-index.netbsd.org/tech-pkg/2023/06/03/msg027632.html
7.1.1-11 - 2023-05-29
Merged
Optimize image and vector files to minimize filesizes and page loads #6352
Fixed
Swap order to fix#6347. #6347
Commits
beta release 375e71b
list compression options dc491e2
cosmetic 069ac80
build failure with --without-threads option 4ea685b
ensure mutex is initialized 4553068
cosmetic b7c1554
costmetic 013d523
eliminate compiler exception e771f13
eliminate compiler exception bb3d969
Fixed the calculation of the clut_size to resolve the issue reported in: https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-xfwq-qg5m-83xr. fac0ea8
cosmetic fd09cf9
make sure count is not equal to zero when reading TIFF fields bea09ba
check colorspace before setting primaries fd736b6
eliminate compiler exception e549f31
Revert back to earlier version. 241ceb0
Rename defines. ddb6b02
Added missing define and corrected MAGICKCORE_DPC_SUPPORT checks. 3f81630
Refactor code to silence warnings. af284ad
Use num_threads instead because the number of threads is not related to images. 442144c
Silence warning when threading is disabled. 8d0daa2
Added support for reading grayscale images. cffd9de
cosmetic bf6c895
cosmetic 54eeadf
cosmetic 0bede66
prevent possible integer overflow f04a7eb
release 11ffa6e
Upstream changes:
https://github.com/ruby-gnome/ruby-gnome/releases/tag/4.1.7https://github.com/ruby-gnome/ruby-gnome/releases/tag/4.1.6
Ruby-GNOME 4.1.7: 2023-05-31
This is a minor improvement release for 4.1.6.
Changes
Ruby/GLib2
* Improvements
+ Added support for writer barrier.
Ruby/CairoGObject
* Improvements
+ Added support for specifying rcairo's source directory by
RCAIRO_SOURCE_DIR.
Ruby-GNOME 4.1.6: 2023-05-21
This is a minor improvement release for 4.1.5.
Changes
Ruby/GLib2
* Improvements
+ Avoided closure related TypeError in GC at exit.
[Reported by Matijs van Zuijlen]
Thanks
* Matijs van Zuijlen
This is a package for drawing flags using TikZ. Currently the
national flags of all independent nations are included,
additionally some other flags of various organizations. A flag
can be drawn ... as a single TikZ-picture within ordinary text,
as a picture element within a TikZ-picture. The appearance of a
flag (size, frame etc.) can be adapted using optional
parameters.
This release
adds an option to heif-convert to set the PNG compression level,
fixes a few build issues with some compilers,
fixes the --encoder option in heif-enc,
fixes heif_item_get_properties_of_type and heif_item_get_transformation_properties.
0.6.64 (2023-05-27)
🪲 Bug Fixes
- EXIF data is horizontally scrollable (fixes#184) (85cd7618)
✨ Features
- svg update with faster performance and text rendering support (0278fe97)
- Native rust JXL support (16f73800)
gexiv2 requests C++17 by default in it's meson.build, but it depends on
graphics/exiv2 whose public headers are not C++17 compliant since they make
use of std::auto_ptr:
graphics/gexiv2/work/.buildlink/include/exiv2/tags.hpp:143:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
v1.5.4 - make sure JPEG mode (progressive vs non-progressive) is
preserved by default,
fix parallel processing when reading file list
(thanks to Cubittus)
7.1.1-10 - 2023-05-21
Commits
beta release e31343f
carefully crafted image files (TIM2, JPEG) no longer overflow buffer nor use heap after free (thanks to Juzhi Lu, Zhen Zhou, Likang Luo of NSFOCUS Security Team) 1061db7
cosmetic bbf3966
Tweaks to devcontainer to also make it possible to run it locally dfb0b6e
Switch to regular Ubuntu image instead. b1ea9fe
Make sure options are properly quoted to resolve the issue reported in #6338. d31c80d
Mark argument as unused. 43e2cb6
possible RCE vulnerability (ImageMagick/ImageMagick#6339) 17c4859
properly cast double to size_t (ImageMagick/ImageMagick#6341) 3d6d98d
cosmetic 8ce0403
Fixed MSYS2 build error. f9c9da1
Forgot to save file before commit. 7566fdd
Reverted the patch of ImageMagick/ImageMagick#6339. 99b72d8
add caution when enabling pipe support 1ff6dd4
eliminate compiler warning 4873197
do not initialize structures on stack 7c7d2fd
Use memset to initialize structures. 68148d5
incompatible function pointer types passing (ImageMagick/ImageMagick#6347) 2fbf938
Fixed Windows build. 3b5d986
release fa1d7e6
7.1.1-9 - 2023-05-14
Merged
Add support for Oklab #6309
Commits
beta release 0bb7454
Code cleanup of the fuzzers and silence warnings. d636ff4
update autoconf configuration file 699085f
framework for magick cache repository coder 46fe429
support digital media repository 0a439ab
check for NaN values c5762cc
alpha release of the digital media repository coder 1b82a1d
eliminate memory leak 514070c
bump minimum MagickCache version 6f00ac4
get the width of the main channel d4ac19b
Use autoreconf -fiv instead. fb1e259
support meta resource type be401fb
The libheif project switched to cmake. 6b76461
account for # channels in image 402c32d
Try to add libde265 to the linking to fix the fuzz build. 7410474
ensure blob and meta resource type can make a round trip 3797114
only clone resource image, not blob or meta 7a63f55
Revert changes. f8feb2e
Corrected linker flags. 3a1ce45
No longer use HOST_FILLORDER but force the user to specify it when they don't want LSB byte order (#6300). 937d3dd
Tiny optimization. ac48d89
Code style changes. 783a78f
log gamma 0cf104a
rename Oklab to OkLab eb44114
revert afb52e3
cosmetic d35b2ab
don't default grayscale to paletted for PNG (ImageMagick/ImageMagick#6314) ac5f29e
release 776a88d
2022-10-03 Slaven Rezic <slaven@rezic.de>
Release 1.43
Stable release with all changes in 1.42_50
2022-07-17 Slaven Rezic <slaven@rezic.de>
Release 1.42_50
Fix XML::Simple-related test failures (RT #143685)
Cease warnings with inconsistent maker info (RT #133006)
Don't fail on invalid rational value in EXIF (RT #135126)
Don't bail out on erroneous APP1 EXIF segments (RT #131616)
Apr. 5, 2023 - Version 12.60 (production release)
- Added a new Sony FileFormat value
- Added Validate warning about duplicate EXIF
- Added ability to edit JPEG APP1 EXIF segment with incorrect header
- Decode a few new Sony ARW tags
- Improved -htmldump of non-EXIF-based maker notes
- Enhanced -geotag from CSV files support GPSSpeed (with variable units),
"bearing" for GPSTrack, and GPSDateTime in format "dd.mm.YYYY HH:MM:SS"
- Enhanced ImageDataMD5 to also support CRW, RAF, X3F and AVIF images
- Enhanced -efile option to also record updated and created file names
- Family 8 group names may now also be used in Composite Require/Desire tags
- Fixed handling of undefined tags in -if conditions to conform with
documentation and match -p and -tagsFromFile behaviour when -m or -f option
is used
- Fixed problem where setting the Geotime value didn't work when using an
advanced-formatting expression containing a greater-than symbol (>)
Mar. 28, 2023 - Version 12.59
- COMPATIBILITY WARNING: Changed the calculated ImageDataMD5 for JPEG images
to include all data from the SOS to the EOI (including the SOS marker but
not the EOI marker)
- Added new -fileNUM option to load tags from alternate files
- Added family 8 groups for accessing tags from alternate files
- Added new XMP-et:OriginalImageMD5 tag for storing ImageDataMD5 value
- Added verbose ImageDataMD5 message for JPEG files
- Added a new Nikon LensID (thanks Warren Hatch)
- Decode a new Olympus tag and improved decoding of another (thanks Herb)
- Decode a couple of new PanasonicRaw tags
- Decode image coordinates for a couple more VNT object types
- Enhanced ImageDataMD5 to also support MRW, CR3, IIQ, PNG, MOV/MP4 and some
RIFF-based files
- Improved verbose messages when deleting NikonApp trailer
- Patched to avoid structure warnings when copying tags from Nikon files
containing NKSC metadata
- Fixed %-C filename format code to work properly with the -fileOrder and
-progress options
- Fixed potential ValueConv warning when reading LIF files
- API Changes:
- Added SetAlternateFile method
Mar. 15, 2023 - Version 12.58
- Added Extra ImageDataMD5 tag to calculate MD5 of image data only
- Added support for reading DJI APP4 and APP7 JPEG segments
- Added a new SonyModelID value
- Decode a few new Nikon tags (thanks Warren Hatch)
- Downgraded "Windows file times" to a minor warning when Win32::API or
Win32API::File is not installed while reading metadata
- Patched possible runtime warning when API IgnoreTags option is used to
ignore FileType
- Fixed problem extracting NetName from Windows LNK files
- Fixed issue where the %C filename format code would increment the count on
an output filename collision, but it is supposed to count the input files
Feb. 23, 2023 - Version 12.57
- Added two new Nikon Z lenses (thanks LibRaw)
- Added a new Sigma LensType (thanks LibRaw)
- Added a new Olympus LensType (thanks Herb)
- Decode more new Nikon tags (thanks Warren Hatch)
- Decode Photoshop LayerColors, LayerSections and LayerVisible tags
- Improved Verbose output for QuickTime-format files
- Set family 1 group name for Garmin GPS from uuid atom
- Enhanced -progress option to allow message to be displayed every NUM files
- Significant improvements to parsing of Nikon ShotInfo records for newer
models
- Removed hex dump of APP segments from -v3 output when writing
- Fixed bug writing negative MIE GPS coordinates
- Fixed bug where a duplicate XMP could be generated when writing XMP to a
JPEG XL image which already contained XMP
- Fixed problem where HEAD lines may be duplicated in an output file if the -p
option was combined with -w+ or -W+
Feb. 9, 2023 - Version 12.56
- Added support for VNT files (both Scene7 Vignette and V-Note document)
- Added read support for InfiRay IJPEG metadata (thanks Marcos Del Sol Vives)
- Added some new Sony LensType values (thanks Jos Roost and Francois Piette)
- Added a new FujiFilm VideoRecordingMode value (thanks Greybeard)
- Added two new Canon LensTypes and CanonModelIDs (thanks Norbert Wasser)
- Added ability to extract semantic images from Apple ProRaw DNG files
- Added read support for the PNG cICP chunk
- Decode more Nikon tags (thanks Warren Hatch)
- Extract PreviewImage from Insta360 trailer record 0x200
- Extract EmbeddedImageRectangle and some other new tags from VNT files
- Minor improvement to arg_files/xmp2exif.args (thanks StarGeek)
- Enhanced -ee option to extract metadata from all frames of a multipart EXR
image
- Removed EXR Layout tag and incorporated into new Flags tag
- Patched possible hang problem when reading corrupted .rm audio files
Jan. 17, 2023 - Version 12.55
- Added support for geotagging from FlightAware KML files
- Decode two more types of timed GPS from MOV/MP4 videos (66 types now)
- Decode a few new Nikon tags (thanks Warren Hatch)
- Decode a new Samsung HEIC tag
- Decode FujiFilm RollAngle
- Fixed bug where the FlatName property wasn't working properly for some
user-defined structure tags
Jan. 6, 2023 - Version 12.54
- Decode a number of new Apple tags (thanks Frank Rupprecht)
- Increased precision of Sony FocusDistance2 conversion
- Fixed problem where GPSAltitude wasn't being set when geotagging from KML
files
- Fixed bug writing HEIC/AVIF files which have a zero-sized mdat (ie. media
data extends to end of file) which could cause an incorrect mdat size to be
written
Jan. 4, 2023 - Version 12.53
- Added support for a number of new XMP tags written by ACR 15.1
- Added a new Nikon LensID
- Decode timed GPS from Lamax S9 dual dashcam MOV videos
- Decode a number of new Nikon tags (thanks Warren Hatch)
- Decode a couple of new Canon tags (thanks John Moyer)
- Decode FujiFilm BWMagentaGreen tag
- Enable block-write of EXIF to JXL files
- Accept values of "now" and "Z" when writing EXIF OffsetTime tags
- Changed priority of XMP when reading/writing HEIC files so that it is no
longer preferred as with other QuickTime-based formats
- Changed family 1 group name of Canon DR4 tags from CanonVRD to CanonDR4 to
allow newer tags to be differentiated from older ones. The family 0 group
name for both remains CanonVRD
- Patched to recognize JXL EXIF box with non-zero header length
- Patched to avoid runtime error when writing a PDF with an Info dictionary
which was stored incorrectly as a direct object
- Fixed problem writing EXIF to JXL images where a new EXIF box was created
even if one previously existed
Dec. 6, 2022 - Version 12.52
- Added a few new Nikon LensID's (thanks LibRaw and Chris)
- Added Slovak translations (thanks Peter Bagin)
- Made SphericalVideoXML readable/writable as a block
- Improved handling of Matroska metadata tags, including language support
- Improved French translations (thanks Philippe Bonnaure of GraphicConverter)
- Improved Composite:GPSAltitude conversion to honour -lang setting
- Improved -v2 messages to indicate files extracted from zip archives
Nov. 21, 2022 - Version 12.51
- Added a new Olympus LensType (thanks Herb)
- Extract C2PA JUMBF metadata from PNG images and extract C2PA Salt values
- Decode NikonSettings for Z9 firmware 3.0 (thanks Warren Hatch)
- Decode additional camm metadata from Insta360 Pro2 MP4 videos
- Improved Verbose output when writing Composite tags to add a "+" sign to
indicate related tags that are being written
- Enhanced -geotag option CSV format to support GPSImgDirection column
- Fixed problem where -w+ option didn't work in Windows if there were Unicode
characters in the path name
- Fixed problem where only the last image of the sequence was extracted
(multiple times) when using -ee2 to extract embedded images from FLIR SEQ
files
- Fixed issue where GPS reference directions may be unknowingly written when
using ExifTool 12.44 or later to write GPSLatitude or GPSLongitude without
specifying a group name. The fix was to Avoid writing the Composite tags
unless the Composite group is specified explicitly
- Fixed -geotag to write orientation and track tags even if some tags in the
category were missing
- Fixed inconsistency in selecting which tag to output with the -json option
when multiple tags with the same JSON key exist and the -TAG# feature is
used to disable print conversion
- Fixed problem writing QuickTime:PlayListID
- Fixed problem writing QuickTime tags when specifying tag ID (ie. family 7
group) as well as a language code
gexiv2 0.14.1 - 5 May 2023 (stable)
* Clean-up python support
* Drop python2 support
* Add option for building tests
* Only run python tests when python is enabled
* Fix get_gps_info() return data with unset altitude
* Fix generate_xmp_packet() ignoring its parameters
* Fix gexiv2-tool to call initialize()
## [0.11.1 - 2023-05-10]
This release is fully compatible with `0.10.x` versions.
### Fixed
- Revert EXIF changes from `0.11.0` - raw data again can begin with `Exif\x00\x00`. Thanks to @fabbaum #93
- (Heif) `deepcopy` support for HeifFile class.