Tents: reinstate bottom and right grid borders.
Fix benchmark.sh for the new cmake world.
Unruly: new 'Trivial' difficulty level.
Black Box: fix highlights in top left grid corner.
galaxieseditor: make 'copy to clipboard' give the game id.
Build a lot of conditioned-out test and helper programs.
Permit building GUI helper tools.
GTK3: fix window redraw after copying to clipboard.
nestedvm.cmake: fix accidental use of dynamic scope.
WASM: move save file encoding from JS into C.
WASM: fix save-file generation.
Galaxies: clean up draw/undraw code for dragged arrows.
Galaxies: avoid division by zero in draw_arrow().
Remove leftover Windows CE cruft.
Galaxies: disallow placing an edge touching a dot.
Toolchain file for MinGW cross-compilation.
Reinsert some missing screen-clears.
Mosaic: implement game_status.
Mosaic: use signed char for clue values.
Centralise initial clearing of the puzzle window.
Docs: fix Mosaic copy-and-paste error.
wasm/js/emscripten: Fix page loading race
New grid type: compass dodecagonal
Suppress too-noisy Visual Studio warnings.
windows.c: fix some 64-bit cleanness warnings.
Add .gitignore rules for in-tree builds.
Set ALLOW_MEMORY_GROWTH in the Emscripten build.
icons.cmake: explicitly search for Perl.
Another rewrite of the WASM apology message.
Reword the apology when web puzzles fail to load.
Stop advertising GTK 1 as an option!
Advertise user-configurable cmake-time config options.
WASM: add the correct MIME type to .htaccess.
Install desktop files and pixmaps from CMake
Update web puzzles to current WASM-based Emscripten.
emscripten.cmake: remove a rogue diagnostic.
Support earlier versions of CMake.
Don't try to build the icons when cross-compiling.
Unix: allow adding a prefix to all the puzzle names.
Stop automatically adding warning flags and -Werror.
Provide pre-built icons in the source tarball.
Make the icons build step optional.
desktop.pl: cope with unfinished puzzles.
Filling grid gen: slightly randomise neighbour selection.
Filling: remove directional bias in grid generation.
Filling: fix assertion failure in 3x1 game generation.
Remove old Windows CE cruft.
Migrate to a CMake-based build system.
Fix bit rot in the 'unfinished' subdir.
Galaxies: fix assertion failure when adding out-of-bounds association.
Add method for frontends to query the backend's cursor location.
Group: fix assertion failure in Unreasonable generation.
Unequal: fill in the latin.c validator function.
Towers: fill in the latin.c validator function.
Keen: fill in the latin.c validator function.
Group: hard-mode identity deduction.
Group: fill in the latin.c validator function.
latin.c: call a user-provided validator function. [NFC]
groupsolver: show working when using -v on ambiguous puzzles.
Group: fix loop bounds in the solver.
Group: add a special deduction about the group identity.
unfinished/path: some jottings towards a solver.
Provide visual guide to the cursor location across the rows and columns.
grid.c: fix size miscalculation in Floret tiling.
GTK 3: handle nontrivial window scale factors.
Mines: add validation for negative mine count.
Tracks: fix a small memory leak.
Tracks: add reverse neighbour deduction in hard mode.
Tracks: new parity-based deduction.
Tracks: new neighbour-based deduction.
Tracks: add standalone solver program.
Tracks: make solver return max difficulty used.
Improve const-correctness in printing API.
Add printing support for GTK.
Update the copyright holders list in puzzles.but.
Don't segfault when no icons are available.
Make --screenshot work even in (Cairo) GTK2 builds.
.gitignore: add more autotools detritus.
Fix build failure reported in gcc 9.
Fix build failure in C90 mode.
Dominosa: move set analysis with doubles into Extreme.
Dominosa: add area-parity deductions, at Basic level.
findloop: alternative query function.
Dominosa: another forcing-chain based deduction.
Dominosa: another local deduction in Basic level.
Javascript frontend: make Shift- and Ctrl-click work.
Dominosa: further forms of set analysis.
Dominosa: be more careful about >= Hard layout.
Dominosa: max-difficulty option in the solver.
Dominosa: more sophisticated grid layout in >= Hard mode.
Dominosa: add presets for Hard and Extreme difficulty.
Dominosa: prevent hangs generating tiny hard puzzles.
Dominosa: add an Extreme difficulty, with forcing chains.
Fix a handful of memory leaks in the midend.
New utility routine: sort with a context parameter.
Dominosa: update the to-do list.
Dominosa: allow set analysis even with adjacency.