1started 8.7.1 13/11/18 2- fix uint status bar pixels >2**31 [Rob Erdmann] 3- fix crash on redhat [bgilbert] 4 5started 8.7.0 22/5/18 6- added vips7compat.h include for libvips 8.7 7- more output for -V to help debugging CLI mode 8- revised Text widget 9- added Canny 10- Sobel uses the new vips_sobel() operator 11- add mitchell kernel 12- add 8.6 compat 13 14started 8.6.1 1/5/18 15- better enum display in header 16 17started 8.6.0 16/8/17 18- add scRGB support 19- improve radiance support 20- add composite to alpha menu 21- add Image / Select / Fill 22- add combine mode to indexed histogram 23- better compat handling 24 25started 8.5.1 22/1/17 26- fix a crash bug 27- make separate Image / Alpha menu, add Add, Extract, Drop 28 29started 8.5 24/1/17 30- add max_slope to lhist 31- gaussnoise goes via vips8 now 32- add snake option to array join [Joe Padfield] 33- parse_float was broken for numbers starting "0." 34- add alpha section to Image / Band menu ... Flatten, Premultiply, 35 Unpremultiply, Blend 36- add Entropy to hist menu 37 38started 8.4.1 25/9/16 39- simplify nip2-icon.rc build, bgilbert 40 41started 8.4 42- added Perlin and Worley menu items 43 44started 8.3.1 on 19/5/16 45- disable debug by default, thanks Benjamin 46- configure changes to help win64 47- improve middle-drag in ws and image view 48- be more careful about the name of the image file we remove on close 49- simpler system for positioning new columns 50- rename boostrap.sh as autogen to help snapcraft 51 52started 8.3.0 on 28/3/16 53- move path search stuff into _convert from _magick 54- added autotrace menu item 55- resize now uses vips_resize() behind the scenes 56- added Kernel type for picking interpolators 57 58started 8.2.1 on 4/12/16 59- tiny improvement to idle handling 60- added R2 to linreg and linregw 61- fixed vips_call for image array args 62- changed default unsharp settings to be less brutal and to ban -ve sharpness 63 64started 8.2 on 4/11/15 65- version bump to match vips 66- fix icc_import with RGBA images 67- added mapim and Image / Transform / Map 68- added Filter / Coordinate Transform ... polar and rect in there 69 70started 8.0 on 3/5/15 71- version bump for vips-8.0 release 72- fix a race in Makefile.am, thanks nieder 73- get rid of run-nip2.sh, mostly useless, thanks nieder 74 75started 7.42.1 started 30/12/14 76- add fftw3 configure 77- fix gvc configure 78 79started 7.42.0 started 4/11/14 80- removed the non-nip2 bits of the test suite, they are in vips now 81 82started 7.41.0 8/10/14 83- remove greyc stuff 84 85started 7.40.5 17/9/14 86- improve .desktop file 87- fix Lch -> Yxy conversion 88 89started 7.40.4 19/8/14 90- swap the HP printer profile for a freer one 91- swap lena for a PD sample 92 93started 7.40.3 4/7/14 94- fix compile with older libvipes, now goes back to at least 7.30 95- fix more bash-isms to help freebsd 96- don't test IM by default, in case it's not installed 97- get graph display working again with latest libgvc 98 99started 7.40.2 30/6/14 100- fix quoting in magick commands 101- auto-fallback to gm if no convert found 102- use libxml2 pretty-printer 103 104started 7.40.1 24/6/14 105- update copyright date 106- larger max size for dialog text 107- fix popen()pclose() warnings on win 108 109started 7.40.0 23/6/14 110- version bump 111 112started 7.39.0 28/1/14 113- add optional libgsf dependency 114- added export-to-file to plotwindow 115- added graph_export_image 116- added .to_image to Plot 117- added .caption / .xcaption / .ycaption options to Plot 118- added caption / xcaption / ycaption options to Plot_object 119- added snibgo's much better ImageMagick menu items 120- added test_magick.ws to make check 121- added series_captions option to Plot_object 122- support imagevec as a vips_call argument 123- added system2 and system3 124- added Magick.version detector 125- better image cache menu item 126- added hough_line and hough_circle 127- removed tear-off menus, gtk+ has deprecated them 128 129started 7.38.4 23/6/14 130- fix memccpy() in tool.c, thanks khindenburg 131 132started 7.38.3 16/5/14 133- fix tiny timeout error 134 135started 7.38.2 21/1/14 136- fix a tiny mem leak 137 138started 7.38.1 20/1/14 139- fix scRGB display 140 141started 7.38.0 18/1/14 142- version bump 143 144started 7.36.6 9/1/14 145- fix some clang warnings 146- add some brackets to find_colour-calib, seems to help clang builds with 147 optimiser, strangely 148 149started 7.36.5 19/12/13 150- add "merge into ws" item to rmb tab gutter menu 151- oops, progress feedback was accidentally disabled 152- error boxes were accidentally supressed 153 154started 7.36.4 18/10/13 155- fix bootstrap warnings 156- use g_mkdir() 157- better load of workspaces with closed columns 158 159started 7.36.2 8/10/13 160- add --profile option 161- fix + button on wsgv 162 163started 7.36.1 7/10/13 164- better ^Q behaviour, thanks MvGulik 165 166started 7.36.0 3/10/13 167 168started 7.35.0 9/8/13 169- removed old thing to show API docs (thanks Benjamin) 170- measure now lets you pick the area to measure, and draws sample patches 171- new column now goes to right of current column, not alphabetically 172- detect doubleclick on ws tab label background 173- tabs can be locked 174- tabs have error indicators 175 176started 7.34.1 28/6/13 177- fix build on older gtk, thanks Joe 178 179started 7.34.0 7/6/13 180- version bump 181- drag col to far left to insert 182- fix compat warning text 183- fix prefs revert to default 184- reenable scroll-wheel slider change in paintbox and conversionview 185- insert new columns in alphabetical position 186 187started 7.33.0 14/3/13 188- add tabs 189- get_* work on Groups 190- columns snap to a grid 191 192started 7.32.2 12/3/13 193- add a test for seq mode 194 195started 7.32.1 7/3/13 196- remove "fred" from dist 197- license updates, thanks Benjamin 198 199started 7.32.0 22/1/13 200- added colour temperature to colour and colour to colour temperature 201- removed gtksheet, broken on windows, no future on anywhere 202- added histogram invert 203- much better Matrix / New items 204 205started 7.31 3/9/12 206- don't show tooltips for toolkit menu items with submenus (thanks MvGulik) 207- better definition of foldr1 208- better definition of to_group (thanks MvGulik) 209- better defintion of scan, renamed as scanl 210- don't clear def browser filter on text buffer ::changed in program window 211- update program window filter on cursor move 212 213started 7.30.2 24/12/12 214- small fix for OS X ML 215 216started 7.30.1 7/8/12 217- update rectangle select (thanks Joe) 218- group save was broken (thanks John VV) 219 220started 7.30.0 20/7/12 221- update for new version 222 223started 7.29.0 20/6/12 224- added skew and kurtosis 225- added Definition Browser to program window, shows stuff as you program 226- program window cleanups 227- Find calib is much faster and handles linear float input better 228- Find calib optionally leaves brightness untouched 229- Apply calib handles linear float input better 230- add a 7.28 compat area 231 232started 7.28.5, 8/5/12 233- change keybinding for Delete to ctrl+bsp to work around a GTK bug 234- rewrite filenames on workspace load, file selection and file drag-drop 235 236started 7.28.4, 6/5/12 237- added bigtiff save option 238 239started 7.28.3, 17/4/12 240- up max size of user defs, lets you work with larger groups 241 242started 7.28.2, 10/4/12 243- complex constant divided by real constant was wrong 244- more self-tests 245- disable the libvips operation cache, it doesn't know about invalidate and 246 breaks various things 247 248started 7.28.1, 12/3/12 249- oop, add Array to private Type decoder (thanks MvGulik) 250- new version of Draw / Scale (thanks Joe) 251 252started 7.28.0, 30/1/12 253- bump for new stable version 254- better "make check" 255- disable asserts and cast checks in production builds 256- much faster draw_rect 257- remove background stipple from image display (helps win32) 258- Draw / Rect lets you adjust line thickness 259- added Draw / Scale (thanks Joe) 260- added VipsStats test (thanks Rebecca) 261 262started 7.27.0, 23/8/11 263- bump for new cycle 264- add raw load/save test 265- test fits load/save 266- better image header display, now on right-click rowview menu 267- search image header 268- rmb popup menu on imageview windows 269- popup menu button widget 270- added "vips_call" builtin to call any vips8 operation 271- added Matrix / New / Series 272- added Matrix / Sort 273 274started 7.26.5, 31/12/11 275- fix possible security thing in yyerror(), thanks Jay 276 277started 7.26.4, 14/9/11 278- better error messages for print-main 279 280started 7.26.3, 15/8/11 281- tidier cancel messages 282- disable dump.c debug 283 284started 7.26.2, 10/8/11 285- update threading test for fixed benchmark 286- fix blocking in progress update (thanks M. v. Gulik) 287- search returns empty list for file not found rather than throwing an 288 exception 289- magick_command tries to use $VIPSHOME/bin/convert.exe, if it exists 290- magick_command tries quotes filenames 291 292started 7.26.1, 28/7/11 293- much better threading test, based on im_benchmarkn() 294 295started 7.26.0, 26/7/11 296- version bump 297 298started 7.25.0, 7/1/11 299- version bump 300- oop spelling 301- fix a crash with resizing dirty matrices 302- minor fix to vips_call error messages 303- more tests in "make check" 304- moved vips_cache and vips_call out of the vips_ namespace 305- added approx. option to blur/sharpen 306- added Matrix / New Circular / Square / Identity 307- removed the splash screen, all machines are fast enough now 308- added EXEEXT env var 309- better "bad superclass" error 310- changed order of args for Option_enum 311- added Option_list 312- added a simple Magick menu 313- better compat handling 314- added a 7.24 compat dir 315- removed the "already open for read" error on save, too annoying for the 316 small amount of safety it gave you 317- test pfm load/save 318- also test cmyk jpeg/tif load/save 319- allow file modes in filenames, so "nip2 wtc_pyr.tif:2" works 320- show main window much sooner during workspace load and startup 321- better progress feedback 322- added Image / Select / Rectangle 323- added Image / Draw menu 324 325started 7.24.0, 30/11/10 326- bump for 7.24 327- fix build without graphviz 328- much faster colour atlas menu item 329- fix make check, again 330- fix debug everywhere 331- fix a va_args problem on Windows 332 333started 7.23.0, 2/8/10 334- fix a crash in thumbnail preview with large images 335- doublelick while painting with a rect (eg. text) would crash (thanks 336 M.v.Gulik) 337- drag multiple workspaces to the mainw could get stuck (thanks M.v.Gulik) 338- find-again before find would crash (thanks M.v.Gulik) 339- open multiple ws in file browser would crash 340- added filemodel_set_window_hint() and filemodel_get_window_hint() to help ^Q 341 display popups on the right window 342- split vips_call.c to vips_call / vips_cache 343- added IM_TYPE_RW support to vips_call.c: you can call paintbox operations 344 directly now 345- gtk_window_present() parents when we show children in iwindow.c 346- fix a crash with win32 and two PRESS on a window while in rect mode 347 (thanks M.v.Gulik) 348- fix a crash with duplicate Colour (thanks M.v.Gulik) 349- fix an occasional crash with ^Q in imageview 350- added high-quality thumbnail option (thanks Martin) 351- set lib env var more carefully (thanks Jay) 352- configure tests for libgvc, the graphviz library 353- added "Workspace as graph" view option 354- better "segment" menu item 355- "value" menu item 356- rename stuff to avoid name clashes with cfitsio 357- "make check" runs twice, with and without vector stuff 358- better infobar behaviour 359- test_conv.ws tests convolution carefully 360- nib radius slider replaces the old 1-10 dropdown, nibs above radius 0 are 361 anti-aliased 362- changes to help rhel5 363- oop, could delete vips files accidentally 364- better file search 365 366started 7.22.2, 5/7/10 367- show nthreads in space free tooltip 368- fix win32 button order, again 369- fix duplicate workspace 370- added ^Q, for quit nip2, to all windows 371- rename gtk_entry_*() to gtk_item_entry_*() in gtkitementry.c, thanks Adam 372 373started 7.22.1, 13/6/10 374- relax tolerances in test_colour.ws, thanks Peter 375- improve region repaint during drag, thanks Ruven 376- test relational constants 377- test load / save in various file formats 378- test threading system 379- removed malkovich locale, oops 380 381started 7.22.0, 12/5/10 382- version bump 383- gtksheet sizing changes, again 384- plot window destroy cleanup 385 386started 7.21.0, 8/12/09 387- 7.16 ws load could fail (thanks Jim) 388- "make check" tests the example workspaces too 389- nip2-cli.c improvements (thanks Leo) 390- leak test improvements 391- set double-click time from the system 392- don't copy to file for paintbox, it makes dangling pointers if you use it in 393 complex workspaces 394- thumbnail updates on paint actions, woo 395- rect and text tools have a working preview box 396- safer handling of missing exprs in formula 397- handle im_invalidate() in paintbox ourselves 398- much faster and smarter image window repaints, especially with the paintbox 399 active 400- #CPUs in prefs defaults to zero, meaning autodetect 401- works without GtkInfoBar 402- better show/hide behaviour for paned 403- progress feedback for paintbox open 404 405started 7.20.5, 27/11/09 406- fixed up GtkInfoBar support 407- oop, help was rather broken 408 409started 7.20.4, 26/11/09 410- removed 'browse thumbnails' button from filesel 411- added 'preview' widget to file open 412- added some basic GtkInfoBar support 413 414started 7.20.3, 25/11/09 415- argh, button order error in dialogs on win32 416- updated help index 417- initial window size was too large 418 419started 7.20.2, 11/11/09 420- make GRegex optional so we can work with older glibs 421- fix a crash with "-p" and Managedstring 422 423started 7.20.1, 11/11/09 424- add "convf" operator 425- default number of CPUs bumped to 4 426- plot.c can work with goffice-0.7.15 427 428started 7.20.0, 9/11/09 429- version bump 430- "make dist" fixes 431 432started 7.19.0 433- remove deprecated use of GtkList in option edit ... needs replacing 434- dropped in new Joe defs (thanks Joe) 435- reverse dialog button order on win32 436- fix memleak with IMAGEVEC args to VIPS 437- _check_all etc. no longer chain up, for a slight speed increase 438- fix crash with "" as LHS for various copy operations, eg. ("" ++ "a") 439- add test_snip.def to test language features 440- replace-from-file marks a workspace as modified 441- Arrow and Mark grab handles improved 442- "don't attach a profile" option for jpeg save 443- fixes for gtkdoc merge 444- set TMPDIR on startup to help im_system() 445- add RAD as a coding type (thanks Roland) 446- add Filter / Morphology / Segment menu item 447- much faster meanze for 8 & 16-bit unsigned images 448- added a "rotate" option to custom convolution 449- added Histogram / Find / Indexed 450- Cache defaults to 128x128 tiles 451- use libgoffice to display plots 452- use new gtksheet widget, fall back to treeview if we can't build it 453- better regexp searching in Program window (now full PCRE) 454- oop horrible tree_map() bug with uops caused a variety of strangeness 455- group image save now sets image save options (thanks Joe) 456- sum and product now work for any object 457- don't set non-existant properties in vips_object_new 458- faster constant image maker with im_embed() 459- added "join image array from list", thanks Joe 460- phew, label backgrounds are back 461- added raw import (thanks Jim) 462 463started 7.18.0 464- bumped version numbers 465- added 7.16 compat mode 466- revised manual 467- added snohalo1 wrapper 468- dropper did not update inkwell picture 469- better button colour changes 470- fix examples 471 472started 7.17.2 473- added progress.[hc] for a better progress/cancel system (again) 474- splash screen uses new progress system 475- added list delete, difference, "--" operator 476- fixed a bug with startup recomps not happening (it was trying to do them 477 in the background, argh) 478- buildlut makes Plot, not Image 479- much faster gaussian mask build for large masks 480- "Size To" has a "break aspect ratio" option 481- better error message for "[1, 2] < [3, 4]" 482- support RAD coding 483- added Radiance menu 484 485started 7.17.0 486- merged 7.16 branch back into trunk 487- bumped version number 488- manual version number was wrong 489- removed vips8 link, we've started moving that stuff into vips7 now 490- patches for ubuntu 8.10 491- added yafr interp 492- rotate etc. now have an interp param 493- revised "resize" to use new modes 494- transform menu items have inter options 495- configure fails if bison is not found 496- fix the filesel filter after a filename change 497- nicer message on cancel 498- new VipsFormat stuff 499- LEXLIBS->LEXLIB (thanks Adam) 500- added Managedstring, removed old static string system 501- caption columns can be null, display "doubleclick to edit .." message if 502 they are 503- added vipsobject builder from old call8 code 504- added vips_object_new builtin 505- moved BufInfo down into vips 506- added IM_INTERPOLATE to vips_call 507- added Interpolate class and Interpolate_picker 508- error window output no longer truncates on symbols with many errors 509- renamed 'Recover After Crash' as 'Search for Workspace Backups' 510- better Scale alignment in display 511- regions and scales default to live dragging 512- better image display defaults (no ruler, no display bar etc.) 513- thumbnails are transparent when you drag them 514- side panes have titlebars and close buttons 515- block attempts to OK on directories in file dialogs 516- we have a copyright symbol! nicer 'about' box too 517- better region label positioning 518- double images ignored rgb16/grey16 hints 519- configure dies if flex/lex not found 520- Managedgobject."property" works 521- added (dir gtype), (dir gobject) 522- oops, rank filters were off by one by default 523 524started 7.16.3 525- fixed cancel system (again) 526 527started 7.16.2 528- argh, "-o" was broken 529- oops, some left over code for function overloading in the parser 530- init builtins earlier, so we can spot accidental redefinition 531- added a NULL type, Group now uses it to indicate an empty slot 532- another stab at fixing the order of startup actions 533 534started 7.16.1 535- better pointer set 536- fixed a couple of notify snafus 537- use g_assert() instead of assert() to avoid abort() death 538 539branch for 7.16 540- bumped version 541- grey16/rgb16 not always set on colour space conversion 542- revamped test system 543- set GValue strings as refstrings 544- try to transform gvalues we get to strings, if we can 545- added Joe's shrink within macro 546- removed the last of the fade stuff for faster repaint 547- open multiple now makea a group, so we can process more files at once 548- revamped 'make check', much nicer and more useful 549- better file type guessing 550- better progress feedback 551- revised image write code gives better feedback 552- better group-save, again 553- fixed a problem with recalc backtracking 554 555started 7.15.0 556- fixed segv with making tools for non-toplevels 557- expand the heap if more than 50% full after a GC (was 70%) 558- added nip2-cli.c (thanks Leo) 559- updated README 560- more HIGgy titlebar text in mainw/program 561- refactor: IWINDOW_TRUE/_FALSE renamed to _YES/_NO 562- adjustable panes in image header view 563- histdif was broken for unsigned image types 564- fix memleak in compile_lcomp() 565- better --help text 566- get rid of intltool 567- use g_idle_add() instead of GAsyncQueue for render notify 568- fix a segv in imageview destroy 569- == did not always find the best method 570- better time debugging in symbol recalc 571- added $var for string constants 572- added s => v syntax 573- fixed recursive invocation bug in vips_call.c 574- much better hashing of vips calls 575- configure shows a summary at the end 576- syntax change :-( lcomps now use [expr :: generators] to reduce ambiguity 577 the old syntax failed for things like [a || b | a <- [true]; b <- [false]] 578- added --test, so we can check test_toolkits automatically 579- added --prefix, so we can run without installing 580- added "make check" support 581- got rid of the annoying progress popup, it's back in the status bar now 582- status bar tells you which sym it is computing 583- revised busy system does all busy feedback 584- configure switch to stop update of desktop database (thanks Adam) 585- vips_call hashing improvements 586- images are GCd after 60s of inactivity, rather than immediately, giving 587 the call cache a chance to revive them ... speedup in some cases 588- added a 7.14 compat area 589- join_lr/_tb args swapped 590- check_args now does not recurse up a class, instead all _check members have 591 to chain up ... a bit quicker 592- watch "invalidate" in vips_call.c cache ... so paint actions now decache 593 indirect results as well 594- added Math / Cluster, though it needs a bit of work 595- insert now format-alikes 596- another go at removing refresh flicker ... region dragging flickers a bit 597 instead 598- added Image / Header / Get / Custom 599- recurse for save groups of groups 600- added Image / Cache menu item 601- merged loadable-formats branch 602 603started 7.14.0 604- updated docs 605- added 7.12 compat 606- check for update-mime-database and friends (thanks Tom) 607- more leak fixes 608- updated examples and prefs workspaces 609- break _Object.def out of _types.def 610- better "if image then constant else constant" behaviour 611- fixed segvs with IMAGE lifetime and progress dialogs 612- use xdg-open to show help pages, if available 613- fixed segvs with IMAGE lifetime and progress dialogs 614- fixed segvs with outdated iimage change callbacks 615- some tweaking of the toolkits menu 616- fixed another lcomp bug 617- intercept from greyscale option in find_calib 618- removed unnecessaary assert() from parser 619- recomp all on startup even in batch mode fixes some strange bugs 620- apply calib works for groups of images 621- renamed Error as iError to help windows 622- more small windows fixes 623- more small os x fixes 624 625started 7.13.3 626- save image was broken, weakrefs were not being updated 627- wrongly setting vips-7.8 region compat mode on all old WS load 628- "Close" in ws defs pane menu was not working 629- removed image window / plot window transient-for behaviour, we lost maximise 630 buttons :( 631- block ungroup of things larger than 100 elements 632- allow +/- for zoom in and out shortcuts 633- mainw rmb menu has open/merge items 634- merge ws doesn't add extra space 635- added LHS patterns, eg. "[a, b] = fred 12;" 636- better spacing in merge ws / load ws 637- added is_list_len and friends ... faster then len for long lists 638- compile on demand, saves 25% of startup time 639- now bison only, we won't work with yacc (will package deps need updating?) 640- added lcomp patterns, eg. "[x*y|[x,y]<-zip2[1..10][11..20]]" 641- use LHS patterns in defs 642- oop, dist typechecking could segv 643- split trace.c to make log.c, base class for logging windows 644- added error ... error logging window 645- added destory_if_destroyed() and done some cleanups 646- oop, im_and_image etc. refs remaining in compat 647- disallow const-only LHS patterns, eg. "12 = fred;" 648 649started 7.13.2 650- remove Application from nip2.desktop.in 651- revised progress system ... works for "max" now! 652- fix reporting of parse errors in inner scopes 653- lcomps now nest correctly ... try "Matrix [[x*y|x<-[1..10]]|y<-[1..10]]" 654- workspaces loaded from stdin with -w save more sensibly 655 656started 7.13.1 657- you can type "fred = 12" into a columnview, woo 658- gah, lcomps had "undefined" set on various members because of trimming off 659 parser temps 660- more visible arrow dashes 661- added pane.[hc] 662- added a left pane to mainw to hold ws-local defs 663- ws-local defs sort-of work 664- added workspacedefs.[hc] 665- print all workspace mains on exit too 666- renamed lor/land as any/all, in line with Haskell 667- added INTVEC and DOUBLEVEC output 668- added greyc filter 669- added "--set" command-line option 670- better left/right pane widget 671- resize tk browser search box with pane 672- nicer widget colour change ... use "*xx*" in style file rather than setting 673 names and contained names 674 675started 7.13.0 676- woo, fork for new development version 677- started cleaning up parse.y 678- simpler DOT syntax ... A1."poop" works now 679- added lambdas ... \x x + 1 680- added listcomp syntax ... [x | x <- [1..]; x > 12] 681- recomb was broken for >3 band images (thanks km) 682- lambdas were not being marked as locals correctly, oops 683- added listcomp code generator 684 685started 7.12.5 686- tiny win32 cleanups 687- nicer formula widget, better view switching 688- better file filter lookup 689- oops, min and max only worked for rectangular lists 690 691started 7.12.4 692- cleaner Makefile.ams 693- transform was only working for [[real]] :-( (thanks Mikkel) 694 695started 7.12.3 696- added right click / save for plot widgets 697- remove .svn dirs from dist 698 699started 7.12.2 700- added support for TIFF predictor 701- added Tasks / Capture / Plot Bands 702 703started 7.12.1 9/5/07 704- custom convolution of Plot no longer loses Plot wrapper 705- better plot colours 706- better spacing in plot status bar 707- added histogram differentiate, zero crossings 708- better ifthenelse on groups 709- added "expr.(expr)" form, removed builtin get_member 710- larger sensitive area for arrow crosshairs 711- added region-on-image-from-region, again 712- minpos/maxpos work for lists 713- Math / List works for Groups 714- maxpos/minpos return -1 for [] 715- max/min error for [] 716- stricter about the empty matrix being [[]] 717- image/Image ==/!= list was broken 718- empty groups were broken 719- remove special case for assemble on groups ... you now need to group->list 720 first 721- [] as a group member means no-value 722- better Group insides 723 724started 7.12.0 28/4/07 725- fix up 7.10 compat mode 726- more fixes to the convert.sed script 727- small fixes to 7.12 toolkits for test_toolkits.ws 728 729started 7.11.18 10/3/07 730- added plotwindow, floatwindow 731- duplicate plot was broken 732- floating plots have stuff 733- gtkplotcanvas.c only swallows motion/buttonpress events it handles 734- gtkplotcanvas.c no longer tries to do focus handling 735- plotwindow status bar 736- added plotmodel.[hc], plotpresent.[hc] 737- plotview has a caption, displays class name 738- better captions for real/group/vector in heapmodel 739- gtk_plot_canvas_destroy() was not unreffing the pixmap (thanks Simon) 740- added next error stock item 741- better clock value display 742- added keep-child-windows-in-front pref (thanks Rachel) 743- gtkplotcanvas.c has new cursor handling stuff to help nip do cursor changes 744 for middle-drag scrolling 745- lots of toolkit tweaks 746- revised the manual 747- ooop, increment_filename fix, it was putting the number at the start of the 748 filename if there was no number there 749- better batch mode error messages, added -V flag for verbose messages 750- oop, variable name from filename was a bit broken 751- started revising the examples 752- increment on save and browse thumbnails were broken by gtk-2.10, gah 753- removed debugging menus 754- bump for 7.12! w00t 755 756started 7.11.17 26/1/07 757- snap hdrag of columns to make lining up easier 758- better CSV import 759- added zero-excluding mean and deviation to Math 760- better set-workspace-name on ws load 761- started a ws background popup menu 762- grey ramp orientation swaps w/h 763- better display control bar scale/offset for HDR XYZ/Lab/etc. images 764- possible fix for intermittent fail to recomp on edit bug 765- fix for image * group 766- paste in gtkplot sources (we will probably need to hack it about a little) 767- added plot/plotview 768- oop, memleak in icontainer 769- added a temporary Plot menu for testing 770- set plot tick step to avoid mad mallocs on large ranges 771 772started 7.11.16 21/12/06 773- look for release on rulers as well as press 774- adapt for new Hist system 775- use im_concurrency_set() 776- add im_get_option_group() 777- oop, recursive invocation gah 778- slightly better error messages 779- better mainw title bar text 780- added 'splits' 781- better trace / profile / leak options 782- more robust find chart calib 783- only interpret RGB16 for display for int formats 784- change im_histgr args 785- oops, paintbox could set delete-on-close sometimes 786- custom blur has many more controls 787- better inter-workspace "depends on ..." messages 788- chop/assemble image arrays now work on groups of groups, not list of lists 789 so you can process the chopped up image 790- added 7.11 toolkit_tester, plus a little sed sscript to update old workspaces 791 792started 7.11.15 6/12/06 793- tiny fixes to startup code 794 795started 7.11.14 6/12/06 796- Vector arithmetic fix 797- Vector display class 798- more Matrix fixes 799 800started 7.11.12 8/9/06 801- Image Rank no longer rounds up 802- only obey IM_CONCURRENCY pref in GUI mode 803- added GVALUE input/output args 804- added set_header, Set Metadata 805- use LC_ALL rather then LC_MESSAGES (thanks Simon) 806- better range == 0 check in conversionview 807- re-added make-named-column action 808- better textview reset during background recomp behaviour 809- added LUT from scatter 810- added AC_CHECK_TOOL to configure to find tools for cross-compilation. 811- added map_nary, Crop now loops on all args 812- test for glibtoolize during configure 813- added tag image as hist, set type, image->matrix more flexible 814- added get header field 815- added Real displayer 816- reordered Image menu 817- optionview refresh was a bit broken 818- ruler resize was a bit broken 819- map_nary recurses 820- make image windows children of the mainw ... so they can't pop behind 821- "mean" can do lists of images etc. 822- move ->parent from idialog into iwindow 823- revised to_list behaviour, added to_Group 824- show save prefs automatically on save 825- removed broken scroll on focus code in columnview 826- map_*ary no longer loop over lists ... they often represent compound 827 objects, eg. "mean [1, 2, 3]" 828- new preferences viewer 829- kill parent of nested dialog now kills dialog as well 830- more JPEG save prefs 831- CSV save prefs 832 833started 7.11.11 18/7/06 834- small polishes from gtkdisp3 835- tweak for im_init_world() changes 836- better behaviour for scale == 0 in conversionview 837- better original-filename handling 838- use im_msb() for GREY16/RGB16 images 839- csv2vips wrapper update 840- added parse_time 841- fontname defaults to "Sans" ... stops a warning on load 842- set window title less often 843- update i18n infrastructure 844 845started 7.11.10 23/6/06 846- sync CVS again 847- oop, selected closed columns caused kb grab confusion 848- added call8.[hc].. vips8 interface 849- new builtins vips_image_new, vips_call 850- reworked doc build again, seems to work in dapper now 851- added missing .br to man page 852- allow '_' in environment variables in "expand" 853- mainw tooltip reports operation cache size 854- upped default memoisation cache max to 10000 855- better caption for Group objects 856- oop, mac os x detect was broken 857- GSL error handler 858- more work on vips8 interface 859- add gcc attributes for varargs and noreturn 860- mac build fixes 861- keep prefs in ~/Library on mac 862- vips8 interface done 863- more tweaking for vips_call for robustness 864- quick stab at background recomp in workspaces ... some stability problems 865- tiny Toolitem fixes 866- "Calculating ..." appears in status bar during a background recomp 867- is_image builtin says yes to vips8 images too 868- added Analyze and Vips8 menus 869- added vips8_get_header builtin 870- better ifthenelse behaviour for image/constant mixes 871 872started 7.11.9 15/5/06 873- reverse order of decls in image_name etc. to sensibleify Change Header 874 options 875- better HIST preserving 876- bug in complex display control bar (thanks Jean) 877- use gtk_disable_setlocale() to preserve LC_NUMERIC setting (thanks Peter) 878- more g_ascii_strtod() and friends for double parse/print 879- disallow vips funcs with no input args 880- gtksheet was freeing pixmaps with g_free(), not g_object_unref() 881- better matrix type guesser 882- optional link to vips8 for testing 883- CSV load/save 884- strict reduction of vips_call arguments prevents GC during argument gather 885 and dangling pointers 886- oop, problem in Transform in Image.def 887- added "dir" builtin 888- always grab focus for bottom entry widget on column select 889- even more test view reset tweaks 890- added "objects in workspace" count to main status tooltip 891- limit number of cursor shape updates 892 893started 7.11.8 22/4/06 894- added gravity, Find Projections now shows centre 895- added project 896- added OpenEXR read support 897- fewer int/void* tricks to help x64 898- call im_existsf() more sanely 899- better Group caption 900- don't save/load ->name automatically ... better 7.10 compat 901- better pointer printing 902- added support for RGB16 and GREY16 image types 903- workspace window size is saved in ws file and overrides the global default 904- some edit dialogs now done with member automation 905- fixed NO_SPLASH 906- fixed scroll to row on error, for closed columns 907 908started 7.11.7 11/3/06 909- allow complex constants of the form "12j", cf. python (also allow i) 910- optionally display complex as "x + yj" 911- ifdef'd out some more debugging code .. saved 30kb! 912- new Managed class abstracts out code for GC/C managed objects 913- Imageinfo now sits on this 914- Managedfile object replaces the thing we had for read 915- split trims trailing fails too 916- scrapped ELEMENT_IMAGE .. we just have managed objects now 917- added managedgobject 918- added experimental Clock class 919- moved some views into modelview.c 920- delay showing the hglass for 0.2s 921- change clock to seconds, subclass off Real 922- modelview now has a right-button menu 923- disable tile fade animation for thumbnails 924- model _get()/_set()/_load()/_save() now automated 925- sort column jump widget 926- better scroll-to-column behaviour 927- column jump is tear-off-able 928- column jump is sorted by column name and name length 929- added geometric mean 930- added sum, product 931- added linear regression 932- fixed assert( 0 ) for VIPS operations with an implicit DISPLAY param 933- added optional dependency on GSL, added gammq builtin 934- print_base was broken for some argument combinations 935- shift + mwheel scrolls left-right in workspaces 936- update thumbnail on falsecolour / type changes in display bar 937- matrix now uses member automation 938- main uses GOption command-line parser 939- make sure we don't clear dirty on rows coontain errors 940- optionview only rebuilds the menu on change 941- 7.10 compat defs updated 942- itextview/clock fixes to make editing members easier 943- added -o cmdline switch 944- scrapped print-last mechanism ... printing main from an associated .def file 945 is much better 946- always set argv, allow save of Image, split save to file and print value 947- save Matrix as well with -o 948- added -e option 949- revised man page 950- added Find Projections 951- raised default memoisation cache size and heap size 952 953started 7.11.6 18/2/06 954- custom morph was broken, grid was broken (thanks Dave) 955- Matrix_file now uses "search" 956- reorganised morph menu slightly 957- added Format / CSV import 958- better handling of display of very long strings 959- added lazy (read "filename") builtin 960- \n was missing in expr_info error report 961- removed "save successful" info box for great HIG-ness 962- added is_prefix, is_suffix, is_substr 963- Pathname widgets add to session path 964- widgets like Group, Toggle, etc no longer add annoying stuff to tooltips 965- readded "auto-recalc" menu item 966- renamed Slider as Scale and added a caption field 967- oops, string constant "\\" failed 968- drag from konqueror might work now 969- added hist_thresh, added threshold items to Image / Levels menu 970- prettier Scale display, better display of multiline class member formula 971- added correlate, correlate_fast, Filter / Correlate 972- added "jump to column" menu item, handy for navigation in large workspaces 973 974started 7.11.5 15/2/06 975- added "search" builtin 976- (c) line changed 977- itextview mouse enter/exit now does help/highlight 978- itextview insensitive in noedit mode 979- tweak formula to stop resize with clearlooks theme 980 981started 7.11.4 18/11/05 982- added tile fade pref for Kirk ... it is a bit slow on win32 983- fix compiler crash for [1..2] (thanks Jay) 984- automatically add an icon to the win32 .exe 985- added -main_load_args switch ... just a temp hack 986- better -main printing 987- added "path_separator" ... either '/' or '\\' depending on platform 988- better char constant parsing 989- better char constant display 990- added path_relative/_absolute/_parse 991- prefs now switch between / and \ automatically 992 993started 7.11.3 26/9/05 994- display original filename only for iimage which really were loaded from a 995 file 996- ppm read uses direct open, rather than converting to vips 997- fixed used-before-set problem in option ... could cause segvs when 998 displaying rows built from .defs containing errors 999- added Filter / Blend / Alpha Blend (thanks rich) 1000- added Edit / Info (Ctrl-I) to mainw, some stuff there now, space for more to 1001 go in 1002- removed nip2-7.11.ebuild now that nip2 is in gentoo portage 1003- desktop integration binds .v files to nip2 (thanks Ruven) 1004- align cols marks the ws as modified 1005- configure.in magic stolen from pango ... we now automatically disable 1006 gobject cast checks in production builds 1007- display formula rather than value if there's a visible graphic 1008- falsecolour and type applied to thumbnails 1009- fix gcc4 warnings 1010- use g_mem_profile() 1011- plot slice can now plot along any arrow 1012- oop, some filters inadvertantly overrode width/height 1013- fix isclass is_class confusion 1014- itextview only shows value for non-class rows ... we assume members / 1015 graphic will show the value, so we show the formula 1016- don't apply scale/offset displaybar controls to histograms / fourier images 1017 if Interpret Types is on 1018- better initial kb focus for file load/save dialogs 1019- better tooltip for iimageview 1020- tooltips on demand function added 1021- colourdisplay, ... adapted to new dynamic tooltip API 1022- use input-only eventboxes for spinbuttons 1023- better rowview tooltip 1024- oops, buf_appendc() was a bit broken, fixed in vips too 1025 1026started 7.11 (1/6/05) 1027- view image header now shows meta fields too 1028- does INTVEC args to vips 1029- now in CVS 1030- added Analyze format 1031- added name2gtype, gtype2name builtins 1032- added get_header, grid, matrix lr/tb join 1033- slice into tiles was broken for case tile size == image size 1034- removed led.[hc], now uses stock system 1035- always define our own strcasestr 1036- icc import offers to use embedded profile 1037- added 7.10 compat mode 1038- "reset" in display bar resets to workspace default, not to 1/0 1039- column titlebars reorganised 1040- reenable gtksheet support now gtkextra-2.0 is out 1041- original-filename tracks name loaded at 1042- bumped version to 7.11.2 1043- oop, fixed a nasty refresh bug 1044- configure now adds LEXLIB to link line 1045- pasted gtksheet code in so we can hack it 1046- added matrix area selects 1047- added Matrix / Extract / Area 1048- slightly better default widget handliing in dialogs 1049 1050started 7.10.11 1051- docs no longer contain absolute nav links 1052- increment filename on save works again 1053- hide closed columns in NOEDIT mode 1054- install a .desktop file for GNOME (thanks Denis) 1055- group, right click, ungroup, no longer pops a spurious error dialog 1056- new pref lets you not use the crosshair in image display windows ... some 1057 desktop themes have very annoying crosshair cursors 1058- call libMagick less to reduce segvs from the file open dialog with broken 1059 ImageMagick libs 1060- show args in vips history 1061- fixed a rounding bug in image resize which sometimes made it miss by a 1062 pixel 1063 1064started 7.10.10 1065- fixed crash in vips_call with repeated calls to fns with large image vectors 1066- fixed crash replacing a region with an image 1067- fixed exit if temp area was missing (thanks Denis) 1068 1069started 7.10.9 1070- allow filenames containing ':' chars 1071- uses im_render_fade() for prettier image display 1072- added CCITTFAX4 compression mode for TIFF save 1073- oops, image save options were being ignored :-( 1074- fix 64-bit compiler warnings 1075- fixed problem with very long filenames 1076- recover-after-crash no longer messes up recent menu 1077- "Jump to" in program window was broken 1078- fixed a crash with very large objects (thanks David) 1079- swap shift/control scroll modifiers to match HIG 1080- rotate matrix works for any size matrix 1081- rotate quadrants works for matrix as well as image 1082- added recalc after reload start stuff 1083- use auto label wrap 1084- firefox is now the default HTML viewer on *nix 1085- limit matrix display size to 10x10 unless we have gtksheet 1086- small startup speedups 1087- destroy views when a column is folded away to save some memory 1088- added Image Rank 1089- band join is much faster at joining many bands 1090- safer empty temp area 1091- added cute column open/close animation 1092- fixed a couple of problems with region dragging in compatibility mode 1093- removed column name dialog (thanks Joe) 1094- program window now lets you collapse the current kit 1095- allow \r in .def files (so we work with DOS edited files) 1096- added Image / Tile / Chop Into Tiles 1097- added 'Open Examples' 1098 1099started 7.10.8 1100- explicit gthread dependency makes us work even if vips is built without 1101 threads 1102- tiny .def fixes 1103- "-time_save" switch turns on image save timer for benchmarking 1104- mainw, trace, imageview, program now use gtkaction / gtkuimanager 1105- mainw and imagewindow 'view' settings now update prefs for you 1106- trace window uses new gtk_text_buffer/view widget 1107- image header uses GtkTextView for history display 1108- program window uses GtkTextView / GtkTreeView 1109- windows remember their size and pane positions 1110- fix a crash for edit defs of live widgets in prog window 1111- removed default file type pref ... now remembers last image and matrix file 1112 type 1113- added "Set As Workspace Default" to conversion bar 1114- mnemonics for more popups 1115- fixed a crash if you quit mainw with an image window open (thanks Jay) 1116- new default cursor for imageview windows (thanks Jay) 1117- regions only update when grabbed 1118- now passes distcheck 1119- use g_setenv(), g_mkstemp(), IM_FREE*(), g_set_application_name(), 1120 g_set_prgname() 1121- better cursor change layering 1122- better initial toolkitbrowser size 1123- absoluteize & canonicalize VIPSHOME (so we work with a relative path for 1124 VIPSHOME) 1125- better time-to-go text 1126- more fixes to help compiles on 64-bit systems 1127- invalidate operation cache on paintbox actions ... makes paint on FFT work 1128 again 1129- save settings in APPDIR on win32 rather than a dotfile 1130- added SAVEDIR environment variable 1131 1132started 7.10.7 1133- tiny build fixes 1134- added "_" builtin function for i18n of toolkit menus 1135- softer 'unpainted' checkerboard (thanks Kirk) 1136- added "-i18n" command-line switch ... outputs constant _() strings and quits 1137- compiled string constants are automatically shared between all defs 1138- (_ "kjh") substituted at compile time 1139- started marking up .defs for i18n 1140- trace_args() was printing backwards 1141 1142started 7.10.6 1143- uses fftw3 if available 1144 1145started 7.10.5 19 oct 04 1146- removed "beta" from version 1147- perspective distort works on groups (thanks Joe) 1148- added get_left/get_top 1149- chaneg and tag colourspace now have option boxes 1150- new enum class and option builder cleans up some stuff 1151- fixed crash for display control bar scale on black image (thanks Mikkel) 1152- fixed image windows appearing off screen for workspaces made on large 1153 displays being used on small displays (thanks Mikkel) 1154- un-offset regions during create in compatibility mode (thanks Rachel) 1155- fixed a race in vips history memo-isation (thanks Joe) 1156- speedups to vips function call history too 1157 1158started 7.10.4 4 oct 04 1159- always include formatted html in dist, and install on install 1160- enable line crawl on win32 1161- prefs now autolayout, so look sensible even with font changes 1162- added Image/Bands/Extract|Insert|Delete 1163- linear match now works for groups 1164- prefs were not always saving automatically 1165- white_balance now takes two args: uses band ratios in small image to 1166 fix large image ... makes using one image to fix a group of images much 1167 easier 1168- also, works in XYZ, has adjustable white point target 1169- new icon (also used in About) 1170- LabQ and LabS conversions were broken 1171- check for strcasestr in libc 1172- display symbolic names in iimage caption 1173- oops, custom rank menu item was broken 1174- use a dumber sort algorithm for row recomp order ... glib was skipping too 1175 many tests 1176- thumbnail convert settings update is smarter 1177- much faster display convert bar 1178- Joe's .defs are in 1179- image blend is smarter about reordering args 1180- small win32 fixes 1181- oops, did not remove all temp files if debugging was turned off 1182 1183started 7.10.3 13 sep 04 1184- to_real now works for toggle & bool 1185- Rubber menu items were b0rked (thanks Joe) 1186- Rubber scale removed (rubber transforms now automatically rescale) 1187- fixed crash if you gave a number as a superclass (thanks Joe) 1188- win32: block log output to prevent annoying console window appearing 1189- shared model for toolkits menu and toolkitbrowser for big speed-up on main 1190 window build and better update behaviour 1191- tk browser columns are reorderable (thanks Joe) 1192- better image type guessing (thanks Joe) 1193- thumbnails now use Type hint (thanks Joe) 1194- added simple number base conversion 1195- compound unary ops on Rect now work on width/height rather than left/top ... 1196 so abs(Arrow) now gives the expected result 1197- repaint regionview immediately for better feedback 1198- group save can save unboxed images and will iterate over nested lists 1199- added trace VIPS operations, including cache hits/misses 1200- small menu polishing 1201- better 'revert to defaults' in prefs (thanks Jay) 1202- documentation revised 1203- fixed dependency tracking inside zero-arg hidden classes (thanks Joe) 1204- help system updated 1205 1206started 7.10.2 23 aug 04 1207- convert bar settings now affect thumbnails too (thanks John VanVliet) 1208- show hglass cursor more often 1209- free rotate is now -180 to 180 (thanks Jay) 1210- added 'toolkit browser' 1211- work on docs 1212- small toolkit fixes 1213- better mainw decoration handling 1214- minor main window menu rearranging 1215 1216started 7.10.1 28 july 04 1217+ top-bottom 2 point mos was broken (thanks Joe) 1218+ added aliases for resample and estpar to help compat mode rubber sheet 1219+ colour ops on LABQ were broken by the alpha channel stuff 1220+ larger default max heap size (thanks Mikkel) 1221+ added ebuild (thanks Ruven) 1222+ oop, fftw includes missing from IP_CFLAGS 1223+ added Expression widget 1224+ suppress unneeded textview in NOEDIT mode 1225+ better textview layout 1226+ indent subcolumns in NOEDIT mode 1227+ better regionview text layout 1228+ Image/Format reamed to Image/Number Format (thanks Joe) 1229+ prelight for rows, expressions and spinbuttons 1230+ better row label layout 1231+ menus reworked (again) for Expression class 1232+ oops, resample renamed as transform_search 1233+ win32 build fixes 1234+ added "Align Columns To Grid" 1235+ better focus handling in imageview (thanks Mikkel) 1236 1237started 7.10.0 21 june 04 1238+ toolkit menu is now built dynamically from heap ... you can write functions 1239 that generate menus 1240+ menu items can have tooltips, icons and labels 1241+ reorganised all menus 1242+ added "scope" keyword ... helps remove "root" from toolkits and makes them 1243 relocatable 1244+ added "solarise" filter for fun 1245+ added "diffuse glow" filter for fun 1246+ slight improvement to references to non-local members in deeply nested 1247 classes 1248+ ungroup will now also unpack lists 1249+ fixed segv if option menus were rebuilt while posted 1250+ added vips function call cache ... memoisation! 1251+ added prefs for #cpus and #memoise 1252+ gah, had forgotten to add several new widgets to model_base_init(), so they 1253 were not loading correctly if used in prefs 1254+ put tearoffs back and fixed accels 1255+ added empty-temps yesno on startup 1256+ -main can output many images correctly 1257+ display control bar false colour works on RGB images 1258+ regionviews are offset in compatibility mode 1259 1260started 7.9.7 1 jun 04 1261+ enable broken for gtk all the time in program.h (thanks Ruven) 1262+ now uses im_text() to paint paintbox text (imageinfo.c:2185) 1263+ better zooming from menu items (imageview.c, imagepresent.c, imagepresent.h) 1264+ extra recalc on startup to build classes before we load args (main.c) 1265+ set_output() was missing an "!" before imageinfo_file (graph.c) 1266+ saner startup error logging (main.c) 1267+ expr_error_print_all() now goes to a buffer (expr.[hc]) 1268+ program.c has an error lister 1269+ main.c knows about new error lister 1270+ prefs.ws had max_undo broken by precedence change 1271+ String now interprets and expands C escape chars (eg. \n) 1272+ fixed close program window with selected text crash 1273+ fixed edit of row with error itext crash 1274+ added tile and Tile (replicate/mirror ... using im_replicate) 1275+ leak testing only in DEBUG builds 1276+ binary and unary operators now track the function they were called from, for 1277 slightly better error messages 1278+ Number spots trailing characters 1279+ shadow and text paint work on labq 1280+ added resize longest axis mode to Shrink_to 1281+ fixed up menu dumper 1282+ don't track load/save progress in command-line mode (thanks Joe) 1283+ arithmetic and relational ops now work on images with a mixed number of 1284 bands 1285+ UI polish suggestions from Joe are in or noted on the TODO 1286+ better update of visible hints in imagedisplay 1287+ new menu item system with "action" member lets you have icons, mnenonics 1288 and i18n for toolkits 1289+ compatibility system for 7.8 workspaces 1290+ better recent menu 1291 1292started 7.9.6 8 mar 04 1293+ added Group class 1294+ .def files rewritten for Groups, also many enhancements 1295+ oops, imageview=>file=>view header was broken 1296+ prefs option for 1 bit TIFF write 1297+ scale in display control bar was broken (thanks Ruven) 1298+ removed on-demand compile, caused strange recomp problems :-( 1299+ value display no longer decompiles class args 1300+ tracks lineno for tools 1301+ better "not defined" error message 1302+ better "bad parent class" error message 1303+ better error messages from calling VIPS functions 1304+ better "link report" error message 1305+ relaxed the restriction on superclasses ... you can now have anything as a 1306 superclass, including a full constructed multi-arg class 1307+ detects redefinition of syms within a single parse action 1308+ precedence change: "?" and "." now the same precedence, like C 1309+ better "member not found" error message 1310+ spots nested comments 1311+ visualise image can handle labq hist 1312+ case ignored for class names in ws save files 1313+ SHIFT-mwheel now zooms in and out, like gimp-2.0; CTRL-mwheel scrolls 1314 left-right 1315+ autosave does not back up system workspaces (eg. prefs) (thanks Joe) 1316+ raised arrow/region create threshold 1317+ optionmenu swapped for gtk-2.4's combobox 1318+ now gtk 2.4 only, gah! too annoying to have lots of ifdefs 1319+ uses GtkFileChooser 1320+ oops, String/Number did not implement load/save 1321+ much polishing 1322+ row.c no longer tries to recomp all rows that ref "this", was causing 1323 confusion ... so, much faster, but will change row recomp order in some cases 1324+ hmm, trace was a bit broken 1325+ auug, instanceof_exact was broken for deeply nested classes, must have been 1326 like that forever 1327+ fixed a nasty and long-standing bug with shared classes ... we now always 1328 copy code rather than trying to cache it 1329+ ruler menus now have mm and offset setting 1330+ got rid of all xoffset/yoffset stuff, what a pain it was 1331+ Rect (and hence Arrow, Point, etc.) now behaves (roughly) like a complex for 1332 arithmetic 1333+ better select behavior on thumbnail drag 1334+ renamed Point as Mark, Point is now a subclass that lets old nip workspaces 1335 load 1336+ added Fontname widget 1337+ colour picker can be pinned up 1338+ better image thumbnail in workspace sizing 1339+ renamed Filename as Pathname and added a caption 1340+ all menus items rewritten for new batch system 1341 1342started 7.9.5 6 feb 04 1343+ Rotate_fixed now has an option menu for the angle 1344+ imagearray_chop was broken 1345+ image thumbnail drags no longer embed the workspace name (unless they have 1346 to) 1347+ merge workspace now shows an error dialog on failure 1348+ statusview does not display more than 8 bands 1349+ workspace saves view mode in files, and mainw knows about it 1350+ now uses pkg-config to find vips 1351+ splash does not focus "remove" toggle by default 1352+ oop, hourglass was broken 1353+ better hourglass animation 1354+ select/extend select now works on image thumbnails again 1355+ PRINT_LAST now done in workspace _dispose() 1356+ drag image thumbnail to background to make a new column and put in a link 1357+ compile now delayed until value needed ... saves 10% on startup time 1358+ value pointers only registered for GC if necessary .. saves another 3% 1359 1360started 7.9.4 9 dec 03 1361+ removed last gtk_timeout*()s 1362+ fixed some memleaks 1363+ views now _sink() their child views, so even if views don't ever get added 1364 to containers (eg. toolview, rowview), they still get freed properly 1365+ niprc now sets gtk-can-change-accels ... no one will discover this otherwise 1366+ added Custom_blur, dropshadow now uses a gaussian blur 1367+ some better error messages 1368+ Toolkits=>New items for filename, number, string 1369+ usage and About have version info 1370+ row delete now asks for confirmation 1371+ faster and more comprehensive common subexpression removal ... removed the 1372 'optimise' option, might as well have it on always 1373+ better session path behaviour 1374+ much better open recent menu 1375+ better graphic save/replace scheme ... image filenames now change in a much 1376 more sensible way 1377+ better iimage/iregion/iarrow caption scheme 1378+ can now drag from image thumbnails, cool drag icons 1379+ progress feedback on non-vips saves, and you can cancel too (!) 1380+ added extract_row, extract_column, extract_band, join_lr join_tb 1381+ extract_area now works for matricies too 1382+ better ruler tracking at high magnifications 1383+ defines HAVE_FFTW so we actually save and load wisdom now 1384+ "pos_changed" signal stops all the suprious imageinfo changed signals 1385+ "file_changed" signal lets iimage know when files are swapped about 1386+ better vips_call error messages 1387+ image cache is on mtime as well as filename, so loading changed files gets 1388 the new version 1389+ auto-reload on file change preference 1390+ reorganised main window menus and scrapped "Insert" 1391+ done a simple splash screen with some startup feedback 1392 1393started 7.9.3 20 oct 03 1394+ better welcome message 1395+ command-line mode with -main/-script/-workspace/-benchmark flags 1396+ better middle drag scroll 1397+ fixed the annoying race condition in repaint 1398+ fixed annoying rounding problems with colour drag 1399+ added TRUE/FALSE as synonyms for true/false 1400+ better image zoom shortcuts 1401+ more HIG-y layout in NOEDIT mode 1402+ added String/Number types 1403+ windows have icons, yea 1404+ fixed browse icons window 1405+ message internationalisation done 1406+ en_GB translation file 1407+ more higgy Stringset class 1408+ better help system for dialog boxes 1409+ paintbox now has buttons for tool select 1410+ cursor shape change in subwindows 1411+ load and save accelerators 1412+ configurable accelerators on the toolkit menu 1413+ more HIGgy dialogs for sliders, regions and matricies 1414+ basic "Open Recent" thing on workspace file menu 1415+ better keyboard nav for workspaceview 1416+ reworked image viewer for more model-view-ness 1417+ unified image view state 1418+ hmm, row_new_heap had a double paste, wonder how long that's been there ... 1419 should be a bit faster at recomps 1420 1421started 7.9.2 (30 sep 03) 1422+ toolbar accelerators done 1423+ image display, colour display, region display all reworked for gtk2-ness 1424 1425started 7.9.1 1426+ HIG-ified (I hope) 1427+ broken into SDI interface 1428+ prefs dialog 1429+ toolbar in mainw 1430+ progress dialogs for image load/save 1431+ new error message system 1432+ live watch system 1433 1434started 7.9.0 (1 aug 03) 1435+ compiles with gtk2! 1436+ lots of cleaning up 1437 1438started 7.8.11 (30 jul 03) 1439+ better run-nip.sh start script 1440+ tiny fix to Calibrate_chart, thanks haida 1441+ big LED stolen from mozilla, just one of them now 1442+ add "%s" to existsf() calls for filenames with % in, thanks Clare 1443 1444started 7.8.10 (22 may 03) 1445+ icc profile JPEG save option 1446+ "." now on end of datapath in prefs 1447+ fixed a race condition in regionview ... could crash during paint on slow 1448 machines 1449+ better vector/image ops 1450+ D65 <-> D50 conversions improved 1451+ added d50 macbeth data file 1452+ added "measure" to _stdenv 1453+ added "insert", "extract_area" to _stdenv 1454+ "recomb" now works on matrix, vector etc. 1455+ more use of extract_area 1456+ mark_tree() is now iterative, so no stack overflow on large heaps 1457+ reduce_spine() is (slightly) less stack-hungry 1458+ recomp_row() will not rebuild models for rows with errors ... is this the 1459 best way to stop it though? 1460+ calib_chart now works on 16 bit images 1461+ bumped version to 7.8.10 to match vips ... less confusing 1462+ changed doc builds so that we can include formatted documentation in the 1463 make dist 1464+ fix to drag-n-drop code on winders (thanks Jim) 1465+ fix to incorrect error message in file info view 1466+ blocked dash crawl on winders, does nothing but flicker 1467+ "config" help option (thanks Kirk) 1468+ columns resize on close 1469+ middle-drag in workspace scrolls 1470+ new version of Joe's x-ray stuff 1471+ spec/ now has RPM .spec file 1472+ added a "run-nip.sh" startup script 1473+ moved reload to program window 1474+ drag column and workspace gets a + cursor 1475+ added "Match" to Image menu 1476+ added "Tone_for_print" to Print menu 1477+ new macos icon, thanks denis 1478 1479started 7.8.7 (10 feb 03) 1480+ added set of relative constructors for point/region/arrow/etc. 1481+ used in various places to fix problems with dialogs on images with displaced 1482 origins 1483+ _vislevel member sets default visibility level 1484+ updated widget menu items to set vislevel 1485+ added has_member, get_member builtins 1486+ add "%s" to everror() calls so we can have "%" in error messages safely 1487+ better if-then-else overloading 1488+ add "." to the end of the default search path 1489+ added "Area", a non-resizeable region 1490+ option.c was not initing value edit correctly 1491+ better initial size for option edit dialog 1492+ added orderlist_scan() 1493+ better title for region edit dialog 1494+ better row_save_test() means member ordering does not get lost on clone of 1495 edited rows 1496+ imagedisplay_link() no longer makes conversion for you ... change to 1497 iimageview.c _init() in step (removes redundant create/destroy pair) 1498+ imageview_new_area() could pick shrink == -1 in some circumstances (thanks 1499 Joe) 1500+ drag file to imageview or thumbnail does replace-image 1501+ Region can now never fail (thanks Clare) 1502+ better feedback during paint image creation 1503+ better imageview File=>New=>* for images with displaced origins 1504+ added Edit_header to Image menu 1505+ catch errors from libxml2 1506+ Image == Vector was broken 1507+ Overlay has a "lock size" toggle 1508+ added Image=>Insert 1509+ renamed "Clear edits" as "Reset" 1510+ saves/restores fftw wisdom for first fft speedup 1511+ snap-to-* on region drag could resize region for zoom != 1 1512+ statusbar gave bad numbers for FFT and histogram images 1513+ use im_invfftr() for speedup 1514+ better ruler display at high magnification 1515+ oops, program=>find was broken 1516+ pin-up now part of dialog 1517 1518started 7.8.6 (23 dec 02) 1519+ swapped list for hash table in heap set of managed pointers ... startup time 1520 fallen from 2.4s to 1s! 1521+ much better heap-full reporting 1522+ knows about png 1523+ patch from Hans Breuer: 1524 + paintbox sort-of hacked back in 1525 + fixes to file selector on win32 1526 + misc. win32 #include fixes 1527+ OK buttons in dialogs now verbs 1528+ knows about magick 1529+ oops, Colour_chart_from_matrix and New_CRT_test_chart were broken in 7.8.5 1530+ new heap_is*() function style handles eval errors better 1531+ paintbox rewritten ... now paint bar 1532+ snap to guide added 1533+ much smarter region repaint system now does true xor animation 1534+ dash lines crawl in the background 1535+ Rect/Region/Arrow etc. can now have float args and won't barf on images with 1536 strange offsets 1537+ default image file format preference 1538+ colour temperature conversions sorted out (thanks Haida) 1539+ fourier transforms now work with optical transform, rather than having 1540 optical built into visualisation (helps paintbox) 1541+ removed use of g_mem_chunk() 1542+ new colourdisplay class for displaying swatches of flat colour 1543+ drag-n-drop colours 1544+ tries to detect C stack overflow in reduce_spine() 1545+ new trace system reduces C stack usage during reduction 1546+ fixed a few memleaks 1547+ copy-on-write for member edit slightly reduces overcomputations and makes 1548 changes feed forward more gracefully 1549+ scale column coordinates with changes in font size 1550+ Tilt_brightness now works with n-band images 1551+ nativize paths 1552+ drag URIs to main window to load files (thanks Hans) 1553+ load any file type from command line arguments 1554+ small menu fixes 1555+ added RPM .spec files to distribution 1556+ help launcher for mac os x 1557 1558started 7.8.5 (12 nov 02) 1559+ added a bunch of "%s" to allow percent in tooltips 1560+ rearranged reduce_spine() to trim stack usage ... should reduce C stack 1561 overflow segv on deep recursion 1562+ added IR sample images to data dir 1563+ added rachel.con IR sharpen matrix 1564+ added Join.Array to build an image array 1565+ added Rubber stuff to Image 1566+ removed auto column switch on row select 1567+ added New to imageview window 1568+ finished-ish docs 1569+ >3 band images now display as RGB, 2 band images as mono ... helps 1570 display of imported RGBA/GA tiffs 1571+ better update of toolkit menus on tool change with zero-param classes 1572+ better positioning in toolkit menus with hidden items 1573+ default vid crop fixed 1574+ added Overlay to Image menu (thanks Joe) 1575+ added Calibrate_chart and Calibrate_image to Capture menu (thanks Joe) 1576+ help buttons linked to html manual display 1577+ can now load workspaces from win machines on *nix, and vice versa (tries 1578 both types of dir separator) 1579+ added Joe's Xray menu 1580+ present menus and rows in definition order rather than reference 1581 dependence order 1582+ added Browse_multiband (thanks Joe) 1583+ can now pop up help viewer on win32 as well 1584+ knows about new im_LabS2Lab() and im_Lab2LabS() funcs 1585+ junk Hist on load to lessen balance confusion 1586+ more helpful save/replace file dialog titles 1587+ longer doubleclick time 1588+ sub-menus tear-offable 1589+ settable default image window size in prefs 1590+ optional auto-popup of new image rows 1591+ gtkfilesel2 knows not to select something twice 1592+ larger default max heap size 1593+ ws save files are prettyprinted and uncompressed by default for greater 1594 portability 1595 1596started 7.8.4 (8 nov 02) 1597+ fixed recover workspaces (thanks Joe) 1598 1599started 7.8.3 (31 oct 02) 1600+ acinclude.m4 fixes for mac os x 1601+ set extension on get_filename if none set and not showing All 1602+ added Mosaic_force ... no tie-point refining, ever 1603+ only save edited sub-trees on workspace save ... shrinks ws files to about 1604 1/3 their previous size 1605+ setlocale for numeric conversions to "C" to avoid "," as decimal point 1606 madness 1607+ escape C sequences in filenames (eg. "\n" etc) 1608+ vips functions and builtins now linked via main symbol table, rather than an 1609 extra lookup on "undefined" 1610+ pseudo-toolkits group VIPS packages and builtins 1611+ display help text on pseudo-tools in program window 1612+ "go to def" for program window 1613+ auto-expand for rows in program window 1614 1615started 7.8.2 (27 oct 02) 1616+ set $HOME on win32 1617+ WinMain on win32 for non-cmdline start 1618+ -mwindows flag to stop command.com starting for non-command line start 1619 on w32 1620+ lots of hacking on gtkfilesel2 for win32 compat 1621+ Matrix_file "" 1622+ New_mark.Region etc. menu item 1623+ more robust row recalc on .def edit 1624+ zero-arg local classes of classes sometimes recomped in the wrong order 1625 (thanks Joe) 1626 1627started 7.8.1 (18 oct 02) 1628+ d'oh, matrix constructors have to be classes for is_instanceof to work 1629+ much better change/refresh/scan behaviour for gtk_sheet 1630+ uses IM_DIR_SEP* for some win compat 1631+ many configure fixes for mingw 1632+ use gtk_fixed for workspace layout for gtkwin compat 1633+ rename Text -> iText to stop windows breakage 1634+ woohoo, fixed the grab problem in regionview 1635+ more robust workspace load 1636+ polishing 1637 1638started 7.7.23 (23 aug 02) 1639+ bug in history tracking 1640+ better filename select 1641+ OK buttons in multi-select fsbs turn on and off 1642+ supress "super" iimages for region/arrow displays 1643+ rulers and status bar know about Xoffset/Yoffset 1644+ regionview uses IMAGE cods, converts to model cods and back on 1645 refresh/update 1646+ defs adapted to origin stuff ... including Mosaic! 1647+ region create is ctrl-left 1648+ save-as-TIFF traps errors 1649+ done Plot and Resize, phew ... all menus finished (the ones I did anyway) 1650+ added namespaces to XML save file, prettyprint disabled, compression on 1651+ tooltips for toolkit menu items 1652+ "Name param1 param1: " string automatically prepended to help text 1653+ preferences for mainw start window size 1654+ menus reorganised to be more logical (I hope) 1655+ Separator class for submenus 1656+ column save adds enclosing workspace 1657+ drag in program window was broken 1658+ #dialog back in again, with an edit dialog 1659+ "menu item from column" thingy 1660+ refcount bug for long image load fixed 1661+ iDialog can autopopdown for represented obj destroy 1662+ toggle MB free/cells free 1663+ use gtk_sheet for text matrix display 1664+ configure detects gtk+extra for gtk_sheet 1665+ iimage caption displays name of most derived class 1666+ relaesed as 7.8.0 ! yea! 1667 1668started 7.7.22 (15 july 02) 1669+ started Print menu 1670+ added "expand" builtin ... expands environment variables in a string 1671+ filesel history fixed 1672+ reconstruction from overridden constructor in oo removed ... now just there 1673 for edits 1674+ done Colour menu, started Morphology 1675+ done Morphology menu, started Filter 1676+ if_then_else is now an overrideable binop 1677+ use (double) for image size calc to avoid int overflow 1678+ logical_and and logical_or can be overloaded ... still shortcut for plain 1679 types, so not quite like other overloads 1680+ done Filter menu, started Freqfilter (will become part of Fourier) 1681+ done freqfilter, started Histogram 1682+ sliders no longer each have a continuous member ... set with a watch 1683 directly from prefs 1684+ histogram visualisation 1685+ better trace will never evaluate graph unexpectedly 1686+ Real widget ... just draws a real number 1687+ better row name set system gets less confused 1688+ can now edit superclass constructors 1689+ better recovery after error in row recomp 1690+ better region caption 1691+ better scroll to new object for main window 1692+ "<", "<=" work on strings 1693+ started Image menu 1694+ small fixes for large files 1695+ image window title bar update fixes 1696+ auto select 1st matching file on load if no file specified 1697+ rename Patch -> Colour to fix class name / gtk type name confusion 1698+ classmodel_class_instance_new() now uses CLASS_new in preference, if defined 1699 ... lets you have separate behaviours for _type object creation and OK 1700 in edit dialog 1701+ Xoffset/Yoffset added to header view 1702+ default class == thing, class != thing operations in _Object 1703+ class params no longer have subcolumns ... stops O(n**2) increase in 1704 complexity with workspace size! 1705+ multiple select for for fileselect ... load many images/matricies/etc at 1706 once 1707+ on load, objects renamed to the filename they were stored in 1708+ better workspace scroll on new object 1709 1710started 7.7.21 (21 june 02) 1711+ override Pixel constructor in Colour and Generate_colour.widget 1712+ rename ... ivector -> iarrow 1713+ new op type for colour-through-image operations 1714+ better expr->err update on link clean 1715+ convolution matrix display now shows scale & offset 1716+ Matrix is now the base class, Matrix_vips etc. inherit from that 1717+ tags now decompile for better error messages 1718+ better graphic rebuilds for sub/super classes 1719+ better member-not-found error message 1720+ better new column positioning 1721+ rotate menu started 1722+ convert menu started 1723+ segv on CTRL-S on local objects fixed 1724+ flash help on row buttons 1725+ suppress display of superclasses with a leading '_' 1726+ better auto new workspace name 1727+ better column rename on ws merge 1728+ better scroll-to-visible for columns 1729+ row just uses "name" property now ... no "sym" 1730+ toolkit list now scrolls down RHS of main window ... no more resize probs 1731+ parent/child relationships shown with colour changes in rowview 1732+ removing column with an error resets error state properly 1733+ x2 speed up for recalc with fancy heap node serial number system, heh 1734+ better regionview create/destroy/link fixes occasional bad casts 1735+ better auto workspace scroll on load 1736+ scrapped .hd/.tl etc., too hard to overload ... builtins now 1737+ '' chars are now unsigned, signed chars are numbers in [-128, 127], chars 1738 default to unsigned (now unlike int, short) 1739+ regions/arrows/etc. now defined on Image, not image 1740+ better trace system does not confusingly interleave prints 1741+ small filesel fixes 1742+ Complex, List, Fourier menus 1743+ display control bar knows about fourier images 1744+ display control bar menu resets properly 1745+ bits of Arithmetic broken out into Log and Trig menus 1746+ Filename widget ... should help make an ICC profile chooser 1747 1748started 7.7.20 (17 may 02) 1749+ redone configure system ... data files now go in share/nip, not 1750 share/vips/nip 1751+ fixes to Pixel class and Generate menu 1752+ -image is now *-1, not im_invert() 1753+ separate '!' and '-' operators for better C-style semantics 1754+ better toggle/extend select for thumbnails 1755+ Yxy display 1756+ ops on Matrix class done 1757+ stats menu added 1758+ removed matrix size limit 1759+ errors -> ierrors to please mac os 1760+ keep local edits on reload 1761+ oops, classes as parameters were broken 1762+ member edit of local classes was broken 1763+ class arg checks inherited 1764+ view header dialog in imageview 1765+ colour menu 1766+ nasty bug killed for discovered dynamic references to dirty symbols 1767+ Colour widget shows a swatch and lets you gtkcolorsel for edit 1768+ rowview menu on subrows too, plus select/extend-select 1769+ ceil/floor added as builtins 1770+ lots of small polishes 1771 1772started 7.7.19 (10 apr 02) 1773+ it's now (c) 2002 :) 1774+ better LED spacing 1775+ "stop" sign toned down 1776+ split Expr to static stuff (Compile: parse/compile logic) and dynamic 1777 stuff (called Expr still ... reduce stuff) 1778+ Exprs can share Compiles if we know they will have the same code 1779+ copy-on-write for edits 1780+ 100s of times faster for large workspaces: load ws with 270 images = 7s 1781+ oops, temp files now unlinked properly 1782+ icon browser refreshes in idle handler, plus better cancel behaviour 1783+ destroy callback added to iDialog, popdown_cb memleaks plugged 1784+ memleak in model rewrite plugged 1785+ all class instances in hierarchy have the same "this" ... simplifies OO 1786 stuff a lot 1787+ removed heap_gc() from REDUCE_CATCH_START() for big speed up (d'oh) 1788+ smarter row dependency finder 1789+ leak plugged in get_image_info, plus more informative 1790+ reset menu item on graphic edit objects 1791+ ooop, added '\'' as a constant 1792+ C-style hex constants, better real constants 1793+ even fancier operator overloading scheme does builtins too, and is 1794 extensible for other user funcs 1795+ abs/max/min/etc. can be overloaded 1796+ lots of menus done! 1797+ newimage dialog removed 1798+ classes with supers don't display as pull-rights in toolkits 1799+ updated vips.m4 for IRIX 1800+ top level dirties now say what they're blocked on in tooltip 1801+ cast to int type now behaves as C (no more round to nearest) 1802+ reload toolkit works better 1803+ smarter image cache dependency tracking fixes occasional segv 1804+ _animate() in class build for greater interruptibility 1805+ "++" is lazier for list args 1806+ image ++ [] allowed 1807+ builtins can be overloaded 1808+ tidies to reduce/action 1809+ dmalloc support 1810+ better column/row select behaviour 1811+ better event handling in image windows 1812+ scroll wheel in image windows 1813+ class typecheck delayed until first reference for great speedup 1814+ lots of polishing 1815+ Mac OS X fixes: 1816 - change include order in ip.h for mac os x 1817 - test for mount.h, util.c, ip.h changes for space free display on mac os x 1818 - file size stuff changes 1819 - small include order changes 1820 - temp_name() fixes for duff mkstemp() 1821 - ignore GDK warnings (eg. locale not known) 1822+ changeable max print length, dynamic buffers 1823+ Pixel[] class 1824+ ontop no longer saved for workspaces 1825+ text values display left justified 1826 1827started 7.7.18 (1 mar 02) 1828+ load images from command line 1829+ new operator overloading system 1830+ new check system allows check to be inherited 1831+ nasty ii_destroy bug fixed 1832+ new trace option for builtin functions 1833+ nasty row destroy bug nailed 1834+ much better busy/not busy handling, feels smoother 1835+ more sensible workspace checkmarking, good speed improvement 1836+ more info displayed in image status bar 1837+ red error arrow not always unset ... eg failed file load 1838+ try to load a damaged (eg. truncated) image file ... wrong err msg 1839+ recover ws after crash fixed 1840 1841started 7.7.17 (23 jan 02) 1842+ changed appearance order for subcolumn 1843+ params and super start with vislevel 0 1844+ '.' now binds more tightly than '\' 1845+ '\' renamed to '?' 1846+ '&&' and '||' split to separate logical and bitwise operators 1847+ removed local function display 1848+ better code generated for access to members across nested classes 1849+ better preservation of sharing in class browser 1850+ decompile makes loop labels 1851+ non-row locals link back to enclosing row correctly 1852+ inter-row dependencies via non-row locals spotted 1853+ user def of default constructor banned 1854+ nested classes with implicits refs now work 1855+ operator overloading added 1856 1857started 7.7.16 (14 dec 01) 1858+ delay GC to once per sec where possible 1859+ ruler preferences 1860+ rows only reset on enter, not on dirty 1861+ graph.c indents prettily for easier debugging 1862+ nasty GC bug nailed 1863+ trace prefs options 1864+ assert() on program forced close fixed, class redef bug fixed, program 1865 window tracks filemodel->modified more closely 1866+ region clone menu 1867+ destroy regionviews on hide 1868+ smarter and simpler layout resize 1869+ final (I hope) precedence changes ... now just like C 1870+ '<<', '>>', '~' and '@' (function compose) added 1871+ row recomp refinement ... simpler and faster 1872+ oops, menu items all done in imageview 1873+ row locals with external refs were not adding to top level dirties correctly 1874+ more rigorous backtracking for deducing recomp order 1875+ fancy pantsy heapmodel_reset() system for great justice 1876+ traced and optimised recomp ... seldom repeats itself now 1877 1878started 7.7.15 (16/11/01) 1879+ rename workspace on top level load 1880+ added workspace merge 1881+ added column merge 1882+ clone stuff done 1883+ layout sizing done (tho' not very well) 1884+ toggle select and range select for rows 1885+ junked all old menus (now in scraps) 1886+ fancy new view manager only creates views when required ... x2 speed up on 1887 workspace load 1888+ file browser lets you change the suffix by typing (eg. type "fred.jpg" into 1889 save box while files-of-type is VIPS and you save JPEG) 1890+ replace and save matrix and image graphics 1891+ new Matrix class hierarchy 1892+ .nip-x.x.x directory stuff added, "Preferences" workspace loaded on startup 1893+ Watch class for getting pref settings quickly in C 1894+ removed all .iprc code 1895+ region drag now synchronous, so it can't lag 1896+ max heap size scales with workspaces loaded 1897+ duplicates automatically removed from paths, system files renamed to user 1898 directory on auto load 1899+ workspaces reorder correctly 1900+ new row number layout scheme using on model pos layout 1901+ row drag 'n drop reordering 1902+ is_class predicate 1903+ Abut.Left_right and Add menu items done as trials 1904+ syntax changes to become more C-like: 1905 and/or/eor/not keywords removed ... now &&/& ||/| ^ ! 1906 & (join) becomes ++ and does list cat too 1907 ! (region extract) removed 1908 ^ (raise to power) becomes ** 1909+ precedences changed to be more C-like ... `\` now binds like array subscript 1910 1911started 7.7.14 1912+ oop, about copyright line was wrong 1913+ model now has child_add(), child_remove() methods 1914+ child_add() child_remove() used for much init and cleanup ... nice! 1915+ fewer typed parent/child pointers in models ... getters to cast model 1916 parent/child instead 1917+ parent_add(), parent_remove() methods in model 1918+ XML prettifier does indenting in save files 1919+ load/save moved to model from filemodel 1920+ text now loaded too, new rhs child add system 1921+ forward references in workspace load now work 1922+ simplified _build_display() system with _link() method for view subclasses 1923+ new iregiongroupview class for managing sets of region displays 1924+ more intelligent naming of objects across workspaces 1925+ workspace modified set for more actions ... reflected in mainw titlebar 1926+ context pointers are back, but inited from _child/parent_add() system 1927+ split to nip package 1928+ reworks for new package structure 1929+ row_recomp() sorts regeneration by row depth 1930+ new scan/reset system 1931+ Text now derives from Heapmodel, scrapped the last of the model_link() funcs 1932+ _refresh_value() -> _update_model()/_update_heap() pair, with ->modified to 1933 control behaviour 1934+ _stdenv.def changes ... added is_space, split, splitl, split_lines, 1935 parse_pint, parse_int, parse_float 1936+ program window parses on popdown 1937+ gtkutil has set-2-adjustments-at-once convenience function 1938+ all tally models (subcolumn downwards) now derive from Heapmodel 1939+ Heapmodel -> Heapmodel/Classmodel 1940+ all widget models derive from Classmodel 1941+ Text now delays parse/compile until recomp 1942+ regenerate system now uniform between graphic and text representations 1943+ new model_freeze()/model_thaw() system to reduce model_changed() emissions 1944+ XML load/save done for all class widgets 1945+ only save edited formula ... deduce others 1946+ better target symbol naming for region/point/vector/guide create 1947+ dialog boxes now have GNOME2 button ordering ... F1 binds to help 1948+ old row_change() mechanism ditched ... much simpler and clearer now 1949+ all class.c getters renamed 1950+ _update_model() -> _update_model()/_new_heap() pair ... faster 1951+ ditched base/derived instance vars, new rebuild from base system from new 1952 unified model recomp system 1953+ ditched remake-from-base system :-( can no longer do islider ... but much 1954 cleaner and more intuitive behaviour 1955+ tslider is now a proper widget 1956+ better jumping region labels during scroll 1957+ switch current column on row select 1958+ region labels / image window titles change helpfully on workspace switch 1959+ fantastically more complicated row_recomp() now deduces recomp order from 1960 dependencies 1961+ graphic displays only save and restore their settings if they've been edited 1962+ text edit resets edits on sub rows 1963+ don't make a display or RHS for system rows (eg. this, check, name) 1964+ mainw_countdown_animate() now updates display again ... this may cause 1965 problems, have to see :-( 1966+ tslider has elaborate workaround for slider destroy during changed callback 1967 problems 1968 1969started 7.7.12 1970+ added program window 1971+ reworked TODO list ... only 140 issues outstanding ... :-( 1972+ toolkitgroup now emits "changed" on any tool/toolkit change 1973+ find/find-next thing for program 1974+ new info mechanism 1975+ link report finds undefined symbols 1976+ tree view maintains sort order 1977+ model_child_add_before() to aid drag and drop reordering 1978+ toolview does menu reordering 1979+ popups pass down host widget 1980+ general "are you sure you want to remove" for models 1981+ destroying a tool now destroys associated symbol too 1982+ destroying a toolkit destroys all contained tools 1983+ destroying a top level row destroys the symbol 1984+ symbol/filemodel/model destroy split to finalize as well 1985+ stable owns a ref to syms it holds 1986+ if destroy a sym, mark all parents as having "not defined" errors 1987+ expr_error_set() now zaps compiled code to force recompile ... ensures user 1988 fixes problems properly 1989+ textview always recompiles lines which you hit return on 1990+ better typecheck error messages for widget classes 1991+ right button menu on rulers 1992+ xml save 1993+ load_text and save_text methods in filemodel.c for tool/toolkit load/save 1994 1995started 7.7.11 1996+ added trace window 1997 1998started 7.7.10 1999+ BI_CONS is lazier and faster 2000 2001started 7.7.9 2002+ "print" builtin added 2003+ oops, parse_function() was not passing sym down 2004+ better checkargs function 2005+ x-ray print menu patched, duh 2006 2007started 7.7.8 2008+ browse now uses new image display code 2009+ ooops, PPM/PGM/PBM read added 2010+ conversion is now refcounted 2011+ all old image/region code removed 2012+ old window/dialog code removed 2013+ paintbox/edit/magic/menu/calibrate/cursor/request/dragdrop also gone for now 2014+ last of X11/Motif gone ... # of lines down 20k! 2015+ iregion/iregionview added 2016+ finally GNUified it 2017+ fixed newimage dialog 2018+ region redone as subclass of image 2019+ ip class names now have initial caps 2020+ better iwindow popdown behavious 2021+ imagedisplay implements gtk focus model 2022+ imageview key navigation: left-right-up-down-in-out, zoom to fit 2023+ imagedisplay repaint probs fixed 2024+ new expr_value_new()/_destroy() system to track images 2025+ regionview added 2026+ cursor manager added to iWindow 2027+ jumping region labels! 2028+ nasty reduce bug nailed ... heap corrupted if super-class constructor failed 2029+ class construction errors handled gracefully 2030+ rubberbanding regions on imagepresent 2031+ point and vector display types added 2032+ ivector/ivectorview added 2033+ instance vars can be virtualised by heapmodel ... for code sharing between 2034 iregion/ivector/etc. ... sort of a lame MI fudge 2035+ regionview morphs between display types if unfrozen 2036+ Region/Vector/Point/HGuide/VGuide classes added 2037+ lists/image-bands index from zero 2038+ mark spine stack on GC ... oops, sometimes broke for nested recomp 2039+ reduce.c -> reduce.c/action.c 2040+ new action_strict() interface handles nested reduce_spine() calls correctly 2041 ... allows mutually recursive locals 2042+ some reworking of reduce.c ... still not very pretty :-( 2043 2044started 7.7.7 2045+ [] can have whitespace between the [s 2046+ conversion.c added ... manages display conversion model and region/thread 2047 display stuff 2048+ _list.def and _stdenv.def reworked from Miranda 2 stdenv: 2049 foldl function args reversed 2050 swap renamed as converse 2051 foldl1, foldr1, map2, merge, replicate, scan, until added 2052 faster sort (merge sort) 2053+ option/optionview pasted back in 2054+ image/option parts of sym->recomp scrapped 2055+ tslider widget ... entry, plus slider 2056+ conversionview ... display control bar 2057+ tslider does non-linear sliders 2058+ now uses 100%, 25%, 400% etc. to show magnification 2059+ oops, mono to labq was broken 2060+ statusview.[hc] added ... status bar! 2061+ iimage now tracks derived image value as well 2062+ better file_info display for JPEG/TIFF/PPM in file load 2063+ iimage now just has vips_image as class param 2064+ matrix/matrixview added, old mask stuff removed 2065+ lots of memory leaks removed (thank you memprof) 2066+ workspacegroup is a symbol ... workspaces are named root.Workspaces.blah 2067+ matrix resize 2068+ matrix load 2069+ is_string now defined in _stdenv.def, rather than being built in 2070+ vips_call knows about new matrix representation 2071+ better scanning system for text widgets 2072+ better uop/bop error messages with text_decompile() 2073 2074started 7.7.6 2075+ decompile for parameter edit, value displays parameters (tho not secrets) 2076+ save/save as/close added to model 2077+ new workspace save done 2078+ better notebook tabs 2079+ new iWindowSusp stuff now allows composition of window funcs 2080+ iDialog now allows multiple OK buttons 2081+ Save/Don't save/Cancel on filemodel close 2082+ nasty nested iDialog problem found and fixed 2083+ close all filemodels on quit 2084+ tookit.c -> tool/toolview/toolkit/toolkitview; toolkits are filemodels 2085+ all sprintf()s gone 2086+ empty/load/replace for filemodel done 2087+ workspacegroup/workspacegroupview added 2088+ toolkitgroup/toolkitgroupview added 2089+ model -> view links removed, signals for 'changed' ... bit simpler n nicer 2090+ views track parents and children 2091+ scan set for auto re-reads of widgets 2092+ reset/scrollto now signals too 2093+ now called ip2 2094+ gtkdisp imagedisplay/present/asynch code pasted in 2095+ "image" builtin renamed as "vips_image" 2096+ image class added 2097+ iimage/iimageview added ... thumbnail display! 2098+ new (smarter) behaviour for spin expand/shrink; affects rhsview visibility 2099 as well as subcolumnview visibility 2100+ threaded display code patched in 2101+ imageview added 2102+ image display rulers, magnification, titlebar wired up to menus 2103 2104started 7.7.5 2105+ better centering of dialogs over their parents 2106+ oops, silly bug in stable_resolve() 2107+ new expr_resolve() sorts out static/dynamic scoping problems 2108+ uses mkstemp() for temp image file names 2109+ new mark dirty scheme 2110+ small destroy bugfixes 2111+ better tallyrow_recomp_rethink() code finds the right expr more often 2112+ better binding to root for dynamic exprs 2113+ expr_resolve() before expr_check() 2114+ "super" member is a regular member, not a parameter 2115+ about dialog, with easter egg :-) 2116+ new code for recomputation of superclasses ... does "this.x" if any supers 2117 change, tracks use of params in super construct 2118+ warp focus to column bottom on column select 2119+ ':' char banned in file names 2120+ workspace load/save/save as/close done 2121+ workspace tab menu and tooltip 2122+ don't mark zombies dirty 2123 2124clean up of front end started 2125+ Symbol extends GtkObject, Workspace extends Symbol 2126+ Columnset renamed Workspaceview, members moved between it and Workspace 2127+ Column split into Column and Columnview 2128+ refresh_note() system added 2129+ Model class underpins symbol/workspace/column etc. 2130+ tallycolumn -> subcolumn/subcolumnview 2131+ tallyrow -> row/rowview 2132+ tallyitem -> view 2133+ tallyrhs -> rhs/rhsview 2134+ text -> text/textview 2135+ Heapmodel class added to underpin slider/toggle/option/matpanel 2136+ slider -> slider/sliderview 2137+ toggle -> toggle/toggleview 2138+ mono <-> sRGB gammas both ways now 2139 2140started 7.7.4 2141+ reload $VIPSHOME/lib on menu and plugin reload 2142+ no longer includes gtkintl.h 2143+ better namecaption API 2144+ better iwindow/idialog/namecaption build inheritance 2145+ cleaned up naming in main.c 2146+ gtkfilesel2 now inherits from idialog 2147+ filesel now inherits from gtkfilesel2 2148+ browse now inherits from idialog 2149+ now builds cleanly on Sun cc 2150+ found horrible gtkfilesel2 bug 2151+ fileselect removed 2152+ toggle/option/matpanel edit uses idialog 2153+ secret optimisation supressed for tally display 2154+ edit value (rather than source) for class params 2155+ edit reset on column after ENTER 2156+ asynch/menu bug fixes backported 2157+ Histogram.def renaming 2158+ -,/,* for realvec 2159 2160started 7.7.3 2161+ secret now in terms of expr 2162+ compile now in terms of expr, not sym 2163+ bulletproof errors()/verrors() 2164+ resolve_names now knows about tally scopes as well as symbol scopes 2165+ linked global recompute and tallyrow recompute up 2166+ new link object joins up topsyms for recomputation ... saves a search on 2167 tallyrow dirty, makes multiple external refs work 2168+ better slider edit dialog 2169+ new code for '.' operator now records context in heap, so we can spot 2170 dynamic dependencies 2171+ improved link objects ... better handling of multiple links, more stuff 2172 deduced, support for static and dynamic links 2173+ dynamic dependency management 2174+ class parameter edit 2175+ new spin widget for class display open/close 2176+ class member visibility table, controlled by spin widget 2177+ new im_vipshome() startup code 2178 2179started 7.7.2 2180+ ws error button colour fix 2181+ big sym/expr/row relationship reorganisation 2182+ better error handling 2183+ better tally tooltips 2184+ better toolkit flash help, plus flash for sub menus 2185+ fixed some input_push/pop() problems 2186+ reorganised main menus, better pull-right display rules 2187+ automatic.c -> mainw.c ... lots of renaming and tidying up 2188+ multiple workspaces linked to symbols, columnsets now make syms local to 2189 their workspaces 2190+ iwindow/idialog improvements, newcolumn/workspace dialog is now subclassed 2191 off idialog 2192+ countdown fixes 2193+ another nasty tallyrow destroy bug 2194+ error message display fixes 2195 2196started 7.7.1 ... 19/10/00 2197+ another nasty destroy bug 2198+ class browser looped for some classes containing errors 2199+ default constructor now not displayed (unless overridden in an enclosing 2200 class) 2201+ recomp inside a class instance done 2202+ abs in _stdenv.def failed for complex 2203+ nasty gcc error in class_member() with -O2 2204+ tallytext rhs handling broken out into tallyrhs ... tallytext is simpler 2205 ... now have graphic/klass/text display 2206+ new tallyitem_trigger system with better error propogation 2207+ fold/unfold button for class instances 2208+ button tooltip displays long messages 2209+ tally => row rename 2210+ recomp/refresh/refresh_value sequences optimised 2211+ expr_clone() now works for function members of classes 2212+ refresh_value no longer uses _trigger() propogation mechanism 2213+ now tracks prhstext ... everything but the function name ... needed for 2214 class edit of local functions 2215+ class/super now properties of expr, not sym ... classes are expressions, 2216 not symbols 2217+ displays args to function members of classes 2218+ sym_tab tracks insert order, used to order class members in tally 2219+ table_find_child handles hidden children 2220 2221started 7.7.0 2222+ default constructors 2223+ escape cancel in idialog 2224+ 'root.' and 'workspace.' static scope references 2225+ recalc dynamic dependencies on link 2226+ super-class constructors are blocked from referring to locals (other than 2227 params) 2228+ class_member_base() stuff sorted out in slider.c ... usually need 2229 non-overridden value 2230+ display update block mechanism for tally stops widgets updating 2231 themselves 2232+ slider text value display redone 2233+ fixed a couple of nasty destroy bugs 2234+ 'Arithmetic.Add' now does sliders! 2235+ released as 7.7.0 2236