Make cellsize a char.
Switch to using Halibut's new direct .CHM generation.
Switch chiark URLs to https.
Fix infinite-loop bug in Loopy's autofollow feature.
Nitpicks to the previous commit.
Work around non-compliant sprintf().
Loopy: optional 'autofollow' UI feature.
Use the new hierarchical preset menu feature in Loopy.
Rework the preset menu system to permit submenus.
Javascript puzzles: switch to a CSS-based drop-down system.
Use symbolic enum values in the Loopy presets array.
New Loopy tiling: 'Great Great Dodecagonal'.
Net: rework status line to cope with empty squares.
Net: fix completion check if top left square is empty.
GTK API deprecation: in GTK 3.22, stop using gdk_cairo_create.
GTK API deprecation: use GtkCssProvider for window background.
Add some missing calls to midend_redraw().
Fix missing error highlights (+ array underrun!) in Pearl.
Correct a logic error in Unequal game desc validation.
Clarify conditions to avoid compiler errors
Stop using deprecated GTK 3 geometry-based functions.
Clarify the Black Box rules slightly.
Fix completion checking in Killer Solo.
Account for disconnected paths in Loopy and Pearl error highlights.
Re-run mkauto.sh from within makedist.sh.
Explicitly set RGB colourspace in icon.pl's use of convert.
Improve 'illegal colour' error message in icon.pl.
Update build script for Inno Setup 5.5.9.
s/Subversion/git/ in README.
Add a .htaccess redirection for the new .msi file.
Use WiX to generate an MSI-based Puzzles installer.
Update Buildscr to use the new 'with' mechanism.
Tracks: fix further completion-checking loopholes.
Pearl: revise loop detection similarly to Loopy.
Pearl: reinstate a conditioned-out assertion.
Loopy: be friendlier to right-click-less playing style.
Loopy: revamp loop detection, but not using findloop.
Tracks: tighten up a small loophole in completion checking.
Tracks: use the new findloop for loop detection.
Slant: use the new findloop for loop detection.
Net: use the new findloop for loop detection.
Bridges: use the new findloop for loop detection.
New centralised loop-finder, using Tarjan's algorithm.
Add patternpicture to .gitignore.
Update documentation links.
Add missing casts to unsigned char inside ctype functions.
Rename the docs section for Rectangles.
Fix a typo in the Black Box docs examples.
Fix a valgrind warning in the Keen DIFF_HARD solver code.
rect: Fix compiler errors about uninitialized use of variables
Add a missing error message in Flood solve_game().
Clarify in README that Makefile.vc is for nmake.
New utility 'patternpicture', to build a Pattern from an xbm.
Pattern: add a system of immutable pre-filled grid squares.
Pattern: fix solver's handling of empty rows.
Pattern: make part of the game_state shared.
Code-sign the Windows puzzle binaries and installer.
Implement align_label for GTK 3.[14,16).
Allow unlocking an island despite moving slightly.
Convert Buildscr to use the new "do/win" mechanism.
Fix loophole in Palisade completion checker.
Format Palisade solve-type moves in sensible ASCII.
Fix premature completion flash in Tracks.
Tents: mark squares as non-tents with {Shift,Control}-cursor keys.
Fix a comment in Tents (it said 'tents' instead of 'trees').
Highlight clue errors in Tracks in some more situations.
In Undead, mark clues as errors in a few more situations.
Fix array overruns in the new Filling solver pass.
Enhance Filling's solver to handle large ghost regions.
Add the new 'fifteensolver' to .gitignore.
Use \q{} in place of literal quote marks in puzzles.but.
Add a new puzzle: Palisade.
Fix GTK puzzle resizing, *again*.
Produce shorter Filling descriptions by run-length encoding 0s.
Expand keyboard input options in Bridges, for faster entry.
Fix two memory leaks in GTK frontend.
Fix a typo in a Bridges error message.
Fix Bridges keyboard cursor vertical out-of-bounds error.
Update Sixteen keyboard system for faster entry.
In GTK frontend, bind mouse8/mouse9 to undo/redo.
Add hinting feature to Guess.
Add standalone Fifteen solver, based on the hint feature.
Add hinting feature to Fifteen (press 'h' for a hint).
Invert the Fifteen cursor if FIFTEEN_INVERT_CURSOR ~= ^[yY].*$
End victory flash on new game and restart game.
Reset midend animation counters on starting a new game.
Remove a redundant line of code.
Don't stop animations when restarting an already restarted game.
Stop animations on a new game, no matter how it is started.
GTK 3 cleanup: stop using GtkDialog for config boxes.
GTK 3 cleanup: use GtkAboutDialog for the About box.
GTK 3 cleanup: use GtkMessageDialog for message_box().
GTK 3.16 deprecation: stop using gtk_misc_set_alignment.
Improve Towers error highlighting.
Dominosa: Highlight a number when pressed on the keyboard.
Fix switching to a larger puzzle size under GTK 2.
Insert a manual reference in the default status bar text.
Render Filling presets as 'WxH', not 'HxW'.
Add 'Inshi No Heya' (multiplication only) variant to Keen.