2.1.4
Significant changes relative to 2.1.3
Fixed a regression introduced in 2.1.3 that caused build failures with Visual Studio 2010.
The tjDecompressHeader3() function in the TurboJPEG C API and the TJDecompressor.setSourceImage() method in the TurboJPEG Java API now accept "abbreviated table specification" (AKA "tables-only") datastreams, which can be used to prime the decompressor with quantization and Huffman tables that can be used when decompressing subsequent "abbreviated image" datastreams.
libjpeg-turbo now performs run-time detection of AltiVec instructions on OS X/PowerPC systems if AltiVec instructions are not enabled at compile time. This allows both AltiVec-equipped (PowerPC G4 and G5) and non-AltiVec-equipped (PowerPC G3) CPUs to be supported using the same build of libjpeg-turbo.
Fixed an error ("Bogus virtual array access") that occurred when attempting to decompress a progressive JPEG image with a height less than or equal to one iMCU (8 * the vertical sampling factor) using buffered-image mode with interblock smoothing enabled. This was a regression introduced by 2.1 beta1[6(b)].
Fixed two issues that prevented partial image decompression from working properly with buffered-image mode:
Attempting to call jpeg_crop_scanline() after jpeg_start_decompress() but before jpeg_start_output() resulted in an error ("Improper call to JPEG library in state 207".)
Attempting to use jpeg_skip_scanlines() resulted in an error ("Bogus virtual array access") under certain circumstances.
The package changed with the addition of its libepoll-shim dependency.
Otherwise, we can get:
ERROR: libepoll-shim>=0.0.20210418 is not installed; can't buildlink files.
version 1.2.4
This is a binary compatible release.
* restore CMake libwebpmux target name for compatibility with 1.2.2
* fix lossless crunch mode encoding with WEBP_REDUCE_SIZE
Version 0.6.9
Updated Image.fx() method to raise WandRuntimeError if ImageMagick is unable to generate an image.
Fixed Image.from_array() classmethod to handle Numpy’s strided arrays.
Fixed segmentation fault introduced with ImageMagick 7.1.0-45.
V1.0.4
---------
* Added a workaround for Qt6's double click problem with window dragging.
* Added a workaround for Qt6's window dragging when the cursor is outside the
widget after the drag is finished (previously, its hover state would
persist).
* Don't start window dragging if a popup menu is shown and closed quickly
(may happen very rarely).
* Added 1px to button arrow margin.
* Considered more details in drawing menu arrows of buttons (especially when
QToolButton is null).
* Removed button contents shift (it was useless and inconsistent).
* Added a pushbutton with menu to kvantumpreview.
* To find the sunken button that has triggered a menu, check whether that menu
really belongs to it.
* Improved the workaround for Qt's hover bug in buttons.
* Made menu shortcuts a little paler than menu texts.
* Added a workaround for LibreOffice's header view.
* Removed the old HDPI workaround.
V1.0.3
---------
* Workaround for a rare case of stylesheet interference in spinboxes.
* Disabled "ChangeSelectionColor" in all KDE color schemes because of its
buggy behavior.
* Respect lack of `scaledContents` in `QLabel` with large pixmaps (don't scale
down large label images when they aren't supposed to be scaled).
* Don't try to animate frameless scroll-areas.
* Changed the default layout spacing to 3px.
* Don't enforce minimum height of spinbox (tolerate bad layouts like that of
Qt Designer's view items).
* Ignore the key "text.margin" with group-boxes.
* Set the minimum contents height of tabs to 16px.
* incompatible changes
imlib2-config has been dropped since 1.7.5. Users must switch to pkg-config.
Affected packages will be updated soon.
* upstream ChangeLog
v1.9.1 - 2022-07-06
--------------------
Kim Woelders (14):
x11_color: Simplify and fix error paths
JPEG loader: Use mmap'ed file access
modules: Eliminate __imlib_TrimLoaderList()
Introduce strsplit()
modules: Cosmetics, mostly
modules: Enable setting multiple loader/filter paths
test: Add test_misc
modules: Fix signdness warning
TIFF loader: Change default save compression type
imlib2_load: Remove unused macro
imlib2_conv: Cosmetic changes
imlib2_conv: Drop obsolete .db stuff, simplify
imlib2_conv: Enable passing attached data to saver
v1.9.1
NRK (3):
check for some alloc failures
check for alloc failures some more
modules: check for filepath truncation
v1.9.0 - 2022-04-21
--------------------
Kim Woelders (53):
Remove some deprecation comments
Move API documentation to header file
WEBP saver: Fix return code on success
api.c: Cosmetics
Refactor some image loading functions
Refactor some image saving functions
Image load: Change error code on zero file size
Tweak __imlib_LoadImageData()
Error code rework: Use errnos/new imlib2 error codes internally
Add imlib_load/save_image_with_errno_return() and imlib_strerror()
Switch to imlib_load/save_image_with_errno_return()
Deprecate imlib_load/save_image_with_error_return()
imlib2_load: Tweak verbose output
Rename files with line etc. drawing functions
Use stdint types instead of DATA32 etc.
test_load: Check deferred loading too
imlib2_load: Show load time per load too
image.c: Correct loader probe loop
image.c: Cosmetics (move function)
GZ loader: Fix uncompressor exit code
GIF loader: Use mmap'ed file access
image.c: Loading tweaks
imlib2_view: Verbose and debug message tweaks
Loaders: Some trivial cosmetics
Loaders: Remove unnecessary calls to __imlib_FreeData()
debug: Enable using hex values in IMLIB2_DEBUG
SVG loader: Requires librsvg-2.46
TIFF loader: Use mmap'ed file access
Add jxl loader
test: Add basic jxl test
test_save: Updates
loaders: Ensure that found loader is ok for load/save
image: Fix undesired change of format
Drop deprecation noise from using the old DATA types
Drop deprecation noise from using imlib_load/save_image_with_error_return()
API doc corrections and tweaks for doxygen
Revert a couple of unintended changes
API doc updates
doc: Drop most old doc stuff
doc: New documentation build setup (doxygen)
doc: Assorted documentation intro updates
loaders: Fix typo, fix order
SVG loader: Faster signature check
build: Tweaks
Add J2K (JPEG 2000) loader using openjpeg2 library
test: Add some of JPEG 2000 tests
Add PS/EPS loader using libspectre
debug: Export __imlib_time_us()
JXL loader: Multiframe support
SVG loader: Avoid some warnings in rsvg.h
SVG loader: Fix size when unit is percent
SVG loader: Fix size when unit is percent some more
v1.9.0
v1.8.1 - 2022-03-15
--------------------
Kim Woelders (32):
PNM, XPM loaders: Fix trouble with non-ascii characters
XPM loader: Reduce signature window size some more
Refactor image flags stuff
Remove some unused image flags and deprecate functions referencing them
JPEG, XBM loaders: Drop pointless clearing of flag
Deal consistently with including Imlib2.h
Merge x11_draw.c/h into x11_pixmap.c/h
x11_rgba.c: Add some missing static qualifiers
x11_color.c: Make most __imlib_AllocColors*() functions static
x11_...: Introduce palette type enum
Loader includes tweaks
Move some loader related function prototypes to loaders.h
common.h: Drop round() macro
debug.c/h: Move __EXPORT__ to .c file
Remove system includes from common.h
Move x_VAL() macros to common.h
Introduce types.h
Remove some unnecessary headers
grad.c: Refactor __imlib_DrawGradient() and __imlib_DrawHsvaGradient()
Only have one CLIP macro
Mostly cosmetic tweaks around clipping checks
test: Command line options tweak
test_grab: Enable testing depths other than 24 and 32
x11_grab.c: Correct 16 and 15 bit depth grabbing
TIFF loader: Remove obsolete comment
ID3 loader: Drop inline and likely stuff
ID3 loader: Disable tags stuff
Introduce __imlib_GetKey()
Merge __imlib_FindBestLoader...() functions
test: Properly include test.h in test SOURCES
test: Exclude from tarball
v1.8.1
Matthias Grosser (1):
imlib2: saving progressive JPEG
NRK (1):
XPM Loader: limit signature check to first 4KiB
Tobias Stoeckmann (2):
imlib2: allow compilation without x headers
imlib2_load: fix typo
Youssef Rebahi-Gilbert (1):
fix: possible memleak in rgba save on big endian systems
v1.8.0 - 2022-02-06
--------------------
Kim Woelders (86):
test: Add context test
Drop context image save/restore around __imlib_Load/SaveImage() calls
Make initial context static
Drop context check/init in API functions
Use __func__ instead of open coded function names
Pass parameters to __imlib_LoadImage() by struct
Trivial cleanups
imlib2_view: Cosmetics (if -> switch)
imlib2_view: Add 'r' command to refresh
imlib2_view: Move window background image init to separate function
imlib2_view: Refactor pixmap rendering
imlib2_view: Remove some pointless function calls
imlib2_view: Tweaks around timeout
debug: Add some image caching debug
imlib2_view: Fix caching option
Add support for multiframe (animated) images
Enable caching for multiframe images
imlib2_load: Add support for multiframe images
imlib2_view: Add support for multiframe images
debug: Add DL macro for additional loader debug
WEBP loader: Multiframe support
ICO loader: Multiframe support
GIF loader: Some refactoring, add debug
GIF loader: Multiframe support
ICO loader: Debug tweaks
Indent
debug: Avoid use of uninitialized data
Loader loading: Avoid access to uninitialized load() item
updates: Reduce memory usage
Drop some intermediate type definitions
autofoo/loader cosmetics
configure.ac: Simplify loader setup
Updates for animated image handling
imlib2_view: Fix(?) animated image frame dispose handling
test: Add a couple of ico depth test images
ICO loader: Minor optimization
ICO loader: Mostly cosmetic changes (inline ico_read())
GIF loader: Always set BLEND flag
imlib2_view: Rework display of animated images
Introduce more loader return codes
BZ2, ZLIB loaders: Move duplicated code to separate file
Add lzma loader
imlib2_grab: Print error message if saving fails
imlib2_view: Verbosity twaeks
imlib2_load: Verbosity twaeks
LZMA loader: Fix potential warning
configure.ac: Correct simplification changes
configure.ac: Correct simplification changes some more
XBM loader: Correct load2() result when no header is found
Add svg loader
SVG loader: Avoid problems when loading the module more than once
imlib2_load: Add no-data option
Add dispose-to-previous frame handling
PNG loader: Disable Imlib2-Comment stuff
PNG loader: Rewrite to use callback API
PNG loader: Add multiframe support
test: Check __imlib_FileKey()
Simplify __imlib_FileKey()
Avoid redundant operations when non-existing file has no "key"
Drop change log from before first version tag
test: Move generated image files out of source dir
test: Add makefile to generate test images
PNM loader: Fix P1 when spaces are omitted
PNM loader: Fix "XV thumbnail" (P7 332) loading
test: Add some more PNM type loading tests
image.c: Avoid potential compile error
imlib2_view: Avoid clang error
Drop/adjust a few comments
Move some code as suggested in source
HEIF loader: A couple of cleanups and fixes
loaders.c: Add heif to known loaders
autofoo: Sort loaders
SVG loader: Fix memory leak on error
HEIF loader: Avoid memory leak when module is loaded more than once
Mark obsolete TTF encoding functions as deprecated
test: Add basic heif loader check
Refactoring around font glyph lookup
imlib2.spec.in: Introduce acflags for configuration of rpmbuilds
Add some missing const qualifiers
Fix gcc12 warning in __imlib_ConsumeImage()
Fix gcc12 warning in __imlib_stripwhitespace()
TGA loader: Make function order same as in other loaders
HEIF loader: Header cleanups
Add imlib_version()
test: Merge common stuff
v1.8.0
Rishvic Pushpakaran (1):
imlib2: added loader for HEIF files (uses libheif), implemented just `load2` for now
Sören Tempel (1):
ICO loader: Fix compilation on big endian architectures
v1.7.5 - 2021-12-06
--------------------
Kim Woelders (83):
Build .xz instead of .bz2 release tarball
Drop imlib2-config (use pkg-config)
Test: Add some minimal regression testing
Test: Fix dist
imlib2_load: Add option to use imlib_load_image_immediately()
JPEG loader: Cosmetics
JPEG loader: Parse EXIF data and handle orientation
autofoo: Drop support for libungif
Imlib.h: Add version macros
imlib2_load: Add verbose option
Fix build (Imlib2.h is now built)
test: Add icon-64.pbm
test: Add test_load_2
imlib2_view: If verbose show error message on failure
imlib2_load: Use clock_gettime() when available
debug: Infrastructure
debug: Add some debug related to file access and image loading
Introduce im->fsize
PNG loader: Cosmetics
PNG loader: Use mmap() during signature check
TIFF loader: Use mmap() during signature check
TGA loader: Use im->fsize, cosmetics, debug
WEBP loader: Cosmetics
WEBP loader: Use mmap() for loading
FF loader: Cosmetics
FF loader: Use mmap() for loading
ARGB loader: Cosmetics
ARGB loader: Use mmap() for loading
BMP loader: Cosmetics
BMP loader: Use mmap() for loading
ICO loader: Cosmetics
ICO loader: Use mmap() for loading
LBM loader: Cleanups
LBM loader: Use mmap() for loading
PNM loader: Use mmap() for loading
XBM loader: Fix potential buffer overrun
XBM loader: Cosmetics
XBM loader: Use mmap() for loading
XBM loader: Ignore comments and other stuff in header
XPM loader: Use mmap() for loading
test: test_load improvements
imlib2_view: Add option to cache images
Introduce UPDATE_FLAG()
Introduce ARRAY_SIZE()
Loader cosmetics
Loader loading: Tweaks
Loader loading: Move to __imlib_FindBestLoaderForFormat()
Loader loading: Move __imlib_GetLoaderList()
Loader loading: Minor loader lookup refactoring
Loader loading: Avoid always loading all loaders
Loader loading: Don't bother looking up load() if we have load2()
WEBP loader: Enable loading animated images (first frame by default)
configure.ac: Fixup after recent change
Drop unnecessary free() NULL argument checks
Remove some unneeded headers
Rename X11 related files for clarity
Move ImlibImagePixmap population to __imlib_AddImagePixmapToCache()
test: Add X11 drawable grabbing test
Move pixmap stuff to x11_pixmap.c/h
Trivial changes in __imlib_Grab...() function prototypes
Refactor imlib_create_scaled_image_from_drawable()
Revert "Refactor imlib_create_scaled_image_from_drawable()"
Refactor imlib_create_scaled_image_from_drawable() - take 2
x11_grab.c: Rename source/destination variables for clarity
Fix y-upscaling in imlib_create_scaled_image_from_drawable()
test_grab: Cleanups, cosmetics
test_grab: Add scale-down tests
Only set MAINTAINERCLEANFILES in top-level Makefile.am
imlib2_view: Enable grabbing/viewing drawables
x11_grab.c: Cosmetics
x11_grab.c: Introduce function to get shape mask
Speedup in imlib_create_scaled_image_from_drawable()
Avoid signedness warning
Avoid "exceeds maximum object size" warning
blend.c: Tweaks, cleanups
Simplify build wrt. asm files
test_save: Check images with alpha too
test: Add some scaling/rotation tests
Refactoring around mmx and rotate function calls
Refactoring around mmx and scaling function calls
Refactor condition for using assembly functions
Update doc for imlib_load_image_fd()
1.7.5
NRK (1):
WEBP loader: fix key selecting last frame
2.76 * fix broken TIFF and AVIF support, PR #43 by Paul Howarth
* re-enable XBM support (always on)
* provide xbm magic support (a hack, for GD::Graph)
2.75 * add experimental support for TIFF and RAQM (with freetype)
* improve GD2 tests (GH #42, RT #140856)
* also list the unsupported image formats in the GD::Image pod
* fix copyRotated pod (it rotates CCW) PR #36 by LorenzoTo
* fix GD::Simple->fontMetrics docs and implementation GH #37 by Ben Crowell.
fix lineheight calculation according to the docs. You might need to
fix your code!
* add image methods tiff, webp, heif, avif, and its documentation.
* fix the fix for the poly->transform documentation RT #140043
2.74 * add experimental support for WEBP, HEIF and AVIF
* document all supported Image formats in the GD::Image lib
* added Github actions (for PR's)
* fix poly->transform documentation RT #140043
* fix GD,GD2 detection and tests RT #139399 (since libgd 2.3.3)
fixed tests by Håkon Hægland.
* POD: Remove indirect object constructors from example code snippet (PR #39)
* patch from Ben Crowell that fixes incorrect behaviour of GD::Simple->fontMetrics
* fix cross-compilation if gdlib.pc has no cflags by Fabrice Fontaine
2.73 * allow --options override the libgd options. Not recommended.
See GH #33 and RT #130045
Disable generation of redundant documentation, so that ps2pdf
(ghostscript) tool dependency is not required.
Suggested by Onno van der Linden.
OK from wiz@.
Sort configure options.
Bump PKGREVISION.
Change log:
0.12.3 (2022-07-09)
======
- Bug Fixes:
- thumbnailer: Fall back on lower qualities in case of unsupported flavor (#81)
- Secure error handling when opening multiple files
- Use `G_FILE_MONITOR_WATCH_MOVES` for file monitoring
- Do not keep sticky state when current file is removed
- Fix management of transaction source id
- Correctly handle deletion when there is only one image (#89)
- Update iter list on insertion and deletion (#88)
- build: Fix intltool lock file problem during make distcheck
- Display error message on stderr
- i18n: Use `xfce_textdomain()` to initialize translations
- Ensure that an error is set if no pixbuf is available
- Fix some memory leaks
- Code Refactoring:
- flatpak: Some updates from Flathub
- Remove old icon files
- Remove TODO file
- Flatpak: Add libopenraw dependency
- Translation Updates:
Chinese (China), Danish, Greek, Korean, Malay, Portuguese (Brazil),
Turkish
Release highlights
Inkscape documents can now hold multiple pages, which are managed by the new Page tool
Editable markers and dash patterns
Layers and objects dialog merged
On-canvas alignment snapping and Snap settings redesign
New 'Tiling' Live Path Effect
Redesigned Export dialog with preview and ability to select objects/layers/pages and even multiple file formats to export to
Import SVG images from Open Clipart, Wikimedia Commons and other online sources
Selectable object origin for numerical scaling and moving
All alignment options in a single dialog
Gradient editing in the Fill and Stroke dialog
Gradient dithering
SVG Font Editor updated
Flowing text around shapes and text padding
Convenience Boolean operation for splitting paths
Configurable Tool bar, continuous icon scaling and many more new customization options
Performance gains for many parts of the interface and many different functions
Lots of improvements to the user interface
Numerous crash & bug fixes in the main Inkscape program and in in the stock extensions
and so much more!
* Add hacks.mk to make -latomic visible for 64-bit atomics.
* Turn off nouveau build, as we do not have the DRI libs for that.
* Introduce PLIST.xa, turned off on powerpc, apparently this requires
one of nouveau, freedreno, i815 or svga gallium drivers.
GEGL-0.4.38 2022-07-13
Operations:
• denoise-dct: a NEW denoising operation which decomposes the input
buffer to sliding overlapping patches, calculates the DCT denoising
in each patch, and then aggregates the denoised patches to the
output buffer averaging the overlapped pixels.
• ff-load and ff-save: big cleanup API cleanup, now ffmpeg-5.0
compatible
• gif-load: updated to latest upstream libnsgif version
• slic: progress reporting and improved parameter handling.
• vector-fill: updated to latest upstream ctx version
• oilify: clamp inputs to avoid nan in output
• gegl:load fix possible double free
• rgbe-write: plug leaks in error paths
Core:
Fixes of some potential NULL dereferences on custom dataformats for
malformed inputs.
Build
gegl can now be used as a subproject.
Brushes used by MyPaint and other software using libmypaint.
This data package is versionned. This are the brushes to be used by
libmypaint 1.x, not the ones to be used by current development version
(libmypaint 2.x; which has no releases to the day of writing).
Powerful image manipulation program similar to "Adobe Photoshop"[tm].
It supports layers, arbitrary image sizes and working on several images
at the same time. It comes with a lot of useful plug-ins. Missing is CMYK
support and more than 8 bits per channel.
This package contains the development version of gimp.
Packaged for wip by nros@
Library for reading and writing JPEG XL images. JPEG XL (.jxl) is
the next generation, general-purpose image compression codec by
the JPEG committee.
- Patch for lefty on OpenBSD removed (lefty is not installed anymore).
- Patch for configure.ac modified (list Github Issue #370 and remove hunk for
OCaml that does no longer work).
- Patch for version.m4 removed (no longer required).
- Explicit dependency for urw-fonts added.
- Warning suppression for GCC 2 removed.
- swig is now a tool dependency (as documented by upstream).
- Guile option removed (already broken with older package versions).
- OCaml option removed (already broken with older package versions).
- Lua, Perl and Tcl language extension options are now disabled by default
(to reduce expensive dependencies).
5.0.0 - 2022-07-07
==================
Changed
-------
- `use_sanitizers` option has been removed from the CMake build system.
Fixed
-----
- *Breaking*: The 4.0.0 change replacing the `Agiodisc_t` struct member
`putstr` by `printf` has been reverted
- graphviz-4.0.0: build error: cmd/tools/gvcolor.c:159: undefined reference to
`fmax` #2246
- Failed assertion in `chkSgraph` for twopi layout and ortho splines. #14
- Failed assertion in `chkSgraph` for dot layout and ortho splines. #1408
- Failed assertion in `chkSgraph` for circo layout and ortho splines. #1990
- Segmentation Fault with splines="ortho". #1658
- Transparent Label appear in SVG output #146
- Binary tcl modules should compile with -module #1285
- b15.gv crashes dot #827
- heap overflow in function startElementHandler in gxl2gv.c #2093
- Crash on assertion #121
- `xdotversion` attribute is no longer misparsed. This was a regression in
Graphviz 2.47.2. #358
4.0.0 - 2022-05-29
==================
Changed
-------
- *Breaking*: The `mark` field of the `Agnodeinfo_t` struct is now a
`size_t` instead of a `char`.
- *Breaking*: The unused `shape_t` struct has been removed from the public
header `types.h`
- *Breaking*: The `Agiodisc_t` struct member `putstr` that was previously an
`fputs` analog is replaced by `printf` that is required to behave similar to
`fprintf`.
- the `mingle`, `diffimg`, `gvmap`, and `edgepaint` binaries are now included in
the CMake build system
- the `gvmap.sh` and `vimdot` scripts are now installed by the CMake build
system on operating systems other than Windows
- a brief note about the (previously undocumented) behavior of Graphviz when
sent `SIGUSR1` is now mentioned in the man page
- build system support for `dotty`, `lefty`, and `lneato` has been removed
- the CMake build system now includes the DevIL, GDK, GhostScript, GTK, LASi,
Poppler, Quartz, Rsvg, Visio, WebP, and Xlib plugins
- `awk` is no longer a build-time dependency #2118
Fixed
-----
- `agcanon`, `agcanonStr`, and `agwrite` now return error values on memory
allocation failures instead of crashing or corrupting data
- `gvpr` programs can now pass dynamically allocated arguments to user-defined
functions without corrupting their content. Some cases of this were a
regression in Graphviz 2.46.0. Other cases have existed since the first
release of `gvpr`. #2185
- spurious "no hard-coded metrics" warnings on labels with empty lines #2179
- fixed corruption of user shape characteristics during EPSF initialization
- output formats canon, dot, and xdot are not completely faithful to input #2184
- gvpr index function produces wrong results #2211. This was a regression in
Graphviz 2.47.0.
- Error on more than 128 cluster subgraphs #2080
- `dot2gxl` no longer crashes on input `<node id="">` #2092
- remove itos #2229
- `sfdp` no longer crashes on certain graphs with cycles. #2225
- `gml2gv` does not handle integer penwidth correctly #1871
Removed
-------
- the glitz plugin has been removed. The plugin was never complete and
distributions no longer ship glitz.
3.0.0 - 2022-02-26
==================
Changed
-------
- *Breaking*: Using Graphviz as a library on Windows now requires the `GVDLL`
symbol to be set to ensure correct linking.
- *Breaking*: Graphviz headers no longer define the `boolean` type. A
replacement is C99 `bool` in the C standard library's stdbool.h.
- *Breaking*: The `insidefn` member of the `shape_functions` struct must now
be a pointer to a function returning a C99 `bool` instead of a
Graphviz-specific `boolean`.
- *Breaking*: The `swapEnds` and `splineMerge` members of the `splineInfo`
struct must now be pointers to functions returning a C99 `bool`s instead of
Graphviz-specific `boolean`s. Similarly the `ignoreSwap` and `isOrtho` members
of this struct must now be C99 `bool`s instead of a Graphviz-specific
`boolean`s.
- *Breaking*: The `defined`, `constrained`, `clip`, and `dyna` fields of the
`port` struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `set` and `html` fields of the `textlabel_t` struct are now
C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `usershape` field of the `shape_desc` struct is now a C99
`bool` instead of a Graphviz-specific `boolean`.
- *Breaking*: The `candidate` and `valid` fields of the `rank_t` struct are
now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `filled`, `landscape`, and `centered` fields of the
`layout_t` struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `has_images`, `has_flat_edges`, `has_sourcerank`,
`has_sinkrank`, `expanded`, and `exact_ranksep` fields of the `Agraphinfo_t`
struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `clustnode` and `has_port` fields of the `Agnodeinfo_t`
struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `conc_opp_flag` field of the `Agedgeinfo_t` struct is now a
C99 `bool` instead of a Graphviz-specific `boolean`.
- *Breaking*: The `must_inline` and `nocache` fields of the `usershape_t`
struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `device_sets_dpi`, `external_context`, `fit_mode`,
`needs_refresh`, `click`, `has_grown`, and `has_been_rendered` fields of the
`GVJ_t` struct are now C99 `bool`s instead of Graphviz-specific `boolean`s.
- *Breaking*: The `loadimage` member of the `gvloadimage_engine_t` struct must
now accept a C99 `bool` parameter instead of a former Graphviz-specific
`boolean` parameter.
- *Breaking*: The `textlayout` member of the `gvtextlayout_engine_t` struct
must now return a C99 `bool` instead of a Graphviz-specific `boolean`.
- *Breaking*: The `config` and `auto_outfile_names` members of the
`GVC_common_s` struct are now C99 `bool`s instead of Graphviz-specific
`boolean`s.
- *Breaking*: The `fixed` member of the `pack_info` struct is now an array of
C99 `bool`s instead of an array of Graphviz-specific `boolean`s. Similarly,
`pack_graph` now takes a `bool` array instead of a `boolean` array.
- *Breaking*: `pccomps` now takes a C99 `bool` instead of a `boolean` output
parameter.
- *Breaking*: `gvusershape_file_access` now returns a C99 `bool` instead of a
Graphviz-specific `boolean`.
- *Breaking*: 1-bit fields of the `obj_state_s` struct are now unsigned
instead of signed.
- *Breaking*: Graphviz headers no longer define the constant `MAXSHORT`. A
drop-in replacement is `SHRT_MAX` in the C standard library's limits.h.
- *Breaking*: Graphviz headers no lnger define `NIL` macros. A drop-in
replacement is `NULL` in the C standard library's stddef.h.
- *Breaking*: Graphviz headers no longer define the `NOT` macro. A drop-in
replacement is the C/C++ operator `!`.
- *Breaking*: Graphviz headers no longer (re-)define the C constants `INT_MIN`
and `INT_MAX`. Replacements can be found in the C standard library's limits.h.
- *Breaking*: Graphviz headers no longer define the constant `_DUMMY_ELEM`.
- *Breaking*: The `-m` memory test option to Graphviz command-line programs
has been deprecated. Tools such as
[Leak Sanitizer](https://clang.llvm.org/docs/LeakSanitizer.html) are a more
effective modern way of diagnosing memory safety issues.
- *Breaking*: Graphviz headers no longer define the constant `MAXFLOAT`. A
replacement is `FLT_MAX` in the C standard library's float.h.
- The Ming plugin that produced Shockwave files has been removed. This format
was EOLed by Adobe in April 2019. #2160
- CentOS 7 packages now include libmingle and the `mingle` program.
- The tclpkg Makefile no longer suppresses `-fstack-clash-protection` nor
other compiler options containing `-x`
- Lefty is no longer enabled in the portable source tarball.
- on Linux, the CMake build system uses the standard `GNUInstallDirs` to locate
target installation paths
Fixed
-----
- *Breaking*: GVPR now typedefs `ssize_t` as `SSIZE_T` on Windows instead of
`int` #1804
- *Breaking*: `vgpanecmd` in the TCL tclpathplan library no longer accepts
abbreviated commands (e.g. `r` for `rotate`) and commands must be given in
full #1961
- fix detection of unavailable output format
- SVG layout doesn't always respect requested size #1855
- mismatched format string in `mingle`
- Building from scratch with Visual Studio fails #2175
- Plugins are not configured on MinGW #2176
- gvpr on MinGW does not support absolute paths #1780
- PNG format not available in CMake builds with MinGW
- tclpkg Makefile corrupts CFLAGS #2177
- lneato -? sometimes fails with STATUS_STACK_BUFFER_OVERRUN on Windows #1934
- expr misinterprets `<<` and `>>` #2103
- stdout and stderr are not flushed at exit on MinGW #2178
- Gvedit on macOS now understands the `-?` help command line argument
- CMAKE_LIBRARY_PATH is not honored #1973
- assert failure with `nslimit1=0` #1902
- `gvpr` usage output has been restored. This was a regression in Graphviz
2.46.0.
- C++ API not usable after install #2196
only and there's no reason to restrict it to Python 2, since it builds
fine with 3.10 and I can't find any evidence that Python is required
at run-time.
version 1.2.3
This is a binary compatible release.
* security fix for lossless encoder
* improved progress granularity in WebPReportProgress() when using lossless
* improved precision in Sharp YUV (-sharp_yuv) conversion
* many corrections to webp-lossless-bitstream-spec.txt
* crash/leak fixes on error/OOM and other bug fixes