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.
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.