## master

## 9.1.1 2026/04/22

- fix region delete [kmartinez]
- fix embedded toggle on ICC import

## 9.1.0 2026/04/22

- block -NaN in tslider when range == 0 [MvGulik]
- fix crash in recover when no recover item selected [MvGulik]
- add ctrl-M shortcut to show/hide the toolkit menu
- rewritten vips8 menus
- new test suite
- better ctrl / shift modifier handling
- doubleclick on a graphicview no longer selects that row (use the label)
- fix "meson test"
- maxpair, minpair handle constants correctly
- add prewitt, scharr edge detectors
- better link creation

## 9.0.18 2026/03/25

- disable libvips DoS limits on file load for libvips 8.19+
- add lazy pretty-print and string print of main
- add "Copy value" to row menu
- ref tilesource during update to prevent occasional read of freed mem
- fix a race when Value caption updates during GUI refresh
- add an object registry for testing pointer validity
- load gainmaps on UHDR images
- class.name is just the class name, even for nested classes
- fix click of non-selected cview
- selecting a row also selects the enclosing column
- fix tab size in wsdefs
- better display of FOURIER images
- improve file dialog start location
- fix a crash with wsdefs replace
- fix save/load for wsdefs
- fix "n defs" header line in wsdefs
- add $CWD to path rewrite set
- try to improve rounding for plot labels
- fix column expand / collapse [MvGulik]
- add image ++ const action

## 9.0.17 2026/02/25

- better workspace error state handling
- fix recomp of implicit local definitions
- "snip" supports user argument parsing
- lots of work in new-menus branch

### New menus

- Colour now supports == and != -> bool
- add OKLAB and OKLCh colourspaces
- Rect is smaller, has overloads for union, intersection, contains
- lots of small bugfixes

## 9.0.16 2026/02/01

- add multiple defs support to program window
- must hold ctrl to drag rows
- improve empty mainwindow culling
- fix fwd compatibility of back compat menus
- rewrite of list comprehensions fixes scoping
- lambdas support pattern matching
- deferred compile helps startup time
- rename nip4-batch as "snip"
- better mark drag
- no VIPSHOME env var in flatpak
- flatpak build includes IM

## 9.0.15 2025/11/22

- pattern matching rewrite
- add multiple defs and parameter pattern match to compiler
- add filemodel::new_from_file, rework filemodel_open
- reloading a toolkit now deletes all defs, then does load ... adding a new
  def to a func across a parse unit is now an error

## 9.0.14 2025/10/25

- fix load cancel
- disable leak test on shutdown in release builds
- fix Magick on windows with better quoting
- reverse order of args in `vips_call9` ... put options first
- add `vips8_xxxxx` builtins, remove `vips_call9`
- improve search and display of builtins
- add `vips_image_guess_interpretation` builtin
- improve display of computed multipage images
- batch mode output is lazy
- ++, join_sep, difference are lazy
- removed trace system

## 9.0.13 2025/09/20

- improve Text
- improve scroll to row on error
- improve styling
- add Menuseparator support
- draggable divider for workspacedefs
- next/prev on error bar
- load/save for wsdefs
- fix a crash in redefine
- better ^Q handling
- implement program window menu
- program displays info for builtins
- generic load/save/open/replace/close for filemodel
- better recover after crash sorting
- fix an infobar race
- program: add find unresolved syms
- lots more vips7 compat macros
- fix up nip4-batch
- add some man pages

## 9.0.12 2025/08/21

- better power of two detection in openslideload
- fix tile edges with gtk_snapshot_set_snap() [kleisauke]
- better fallback if gtk snap is not there
- high-dpi support
- icon for windows exe
- fix Fontname creation
- add ^G to group selected rows
- add "Group selected" to column menu
- toolkitgroupview is more compact
- add vips_header_get builtin
- add Real, Group, Vector graphic classes
- better row drop
- cancel row drag with Esc
- better row drag animation
- menu pins stack

## 9.0.11 2025/07/21

- fix path for Widget_pathname_item.action [MvGulik]
- add more draw compat definitions [MvGulik]
- better error / alert system
- filters on file dialogs
- fix a segv in Colour widget edit action
- much better next/prev/refresh in imagewindow
- much better imagewindow focus indicator
- new tilecache flickers less and is faster
- matching changes in libvips 8.18 improve render speed and improve
  cancellation of out of date renders
- better sync of view settings between imagewindow and thumbnail
- better row dirty marking stops subrows getting stuck in large workspaces

## 9.0.10 2025/06/22

- refactor of tilesource improves OME_TIFF modes
- fix menu state init
- save and restore more view settings
- add "Merge column" and "Merge tab" submenus
- update interface during recomp, update regions during drag
- better detection of absolute filenames on windows
- various small bugfixes

## 9.0.9 2025/05/28

- fix select modifier handling
- add region resize and drag snap
- add hguide and vguide, plus a gesture for creation
- improve menu homing
- improve antialias on zoom out
- add region context menu

## 9.0.8 2025/04/23

- fix ctrl/shift detect on windows
- add menu pin button
- improve scRGBA display
- fix "gtk_window_get_application: assertion 'GTK_IS_WINDOW (window)' failed"

## 9.0.6 2025/04/16

- fix perspective distort
- fix "save" in save-n-quit
- fix a crash when running with libvips 8.16

## 9.0.5 2025/03/26

- better change handling in ientry improves matrixview behaviour
- better subrow finding fixes replace from file in nested columns
- fix a crash on row access after row drag between columns

## 9.0.4 2025/03/20

- revise image repaint
- more robust workspace load

## 9.0.3 2025/03/13

- fix save-as
- revise image repaint (again)
- fix a crash in graph export

## 9.0.2 2025/03/10

- improve image repaint
- improve file chooser
- better windows build

## 9.0.1-5 2025/02/27

- fix kplot on win
- fix macOS startup
- build polishing

## 9.0.1 2025/02/24

- fix Colour display
- fix 16-bit alpha scaling
- use `VIPS_PATH_MAX` everywhere (not `FILENAME_MAX`) [kleisauke]
- fix `ninja test`
- fix bands -> height image to matrix conversion
- fix `to_colour`
- add `nip4-batch` batch mode interface
- remove ^C/^V in mainwindow
- show parent/child row relationships on hover

## 9.0.0-10 2025/02/18

- first test release
