New name UI_UPDATE for interpret_move's return "".
Fix an int->pointer cast warning in windows.c.
Make newgame_undo_buf 'char *', not 'void *'.
Forbid undo of new-game if it would change the params.
Style tweaks to the newgame_undo patch.
midend: Allow "new game" to be undone
midend_deserialise: accept an extra validation function.
midend_deserialise: keep deserialised data in a struct.
deserialise: use the right one of {,c}params.
tracks: Make error clue background white
tracks: Greyscale colour initialisation: line up columns
tracks.c: draw_clue: Introduce bg parameter
Fix changing puzzle size in a maximised GTK3 window.
Fix auto-selection of presets in GTK.
Net: rewrite the drawing code for better scalability.
Net: reference-count the barriers array.
tracks: thicken the lines of the grid itself.
tracks: Roughly double the thickness of the "no track" crosses
tracks: Scale thickness of "no track here" crosses
draw_thick_line: Bound thickness by 1.0 below
Avoid macro-generating a trailing comma in an enum.
Pattern: randomise rounding bias in generate().
Pattern: missing special case in the solver.
Build test HTML wrapper pages for the Javascript puzzles.
Generate special fake keypresses from menu options.
Call game_id_change_notify_function after deserialisation.
Fix borders on the HTML menu bar.
HTML: move 'New game' back out of the drop-down menu.
Make the images on the web page link to the JS puzzles.
Support for loading games in Javascript puzzles.
Support for saving games in Javascript puzzles.
Factor some HTML dialog functions out of emcclib.
Organise the JS menus/buttons bar more like a menu.
Mines: show the number of safe squares left, if it's small.
Switch the Windows builds over to clang-cl.
Set up a clang-cl makefile.
Win64-cleanness: switch to {Get,Set}WindowLongPtr.
Discontinue the Inno Setup Puzzles installer.
Net: fix assertion failure on insoluble puzzles.
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.