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.
Dominosa: add a Hard difficulty which can do set analysis.
Dominosa: new deduction deduce_local_duplicate().
Dominosa: introduce a difficulty system.
Dominosa: rewrite the solver.
Dominosa: add a command-line solver.
Galaxies: prevent creation of empty undo-chain items.
Pegs: clear ui->cur_jumping on undo or redo.
benchmark.pl: replace use of Perl <> with <<>>.
Replace fe->preset_menu when we change midend.
Fix GTK 2 crash introduced by previous commit.
Don't initialise GTK in --screenshot mode.
Add missing 'static' to game-internal declarations.
Unruly, Group: reference-count the 'immutable' array.
Add missing binary 'matching' to .gitignore.
Add a missing const in unfinished/sokoban.c.
Use C99 bool within source modules.
Replace TRUE/FALSE with C99 true/false throughout.
Adopt C99 bool in the grid.c API.
Adopt C99 bool in the shared Latin-square API.
Adopt C99 bool in the tree234 API.
Adopt C99 bool in misc.c functions.
Adopt C99 bool in the findloop API.
Adopt C99 bool in the edsf API.
Adopt C99 bool in the printing API.
Adopt C99 bool in the midend API.
Adopt C99 bool in the game backend API.
Add a #include of <stdbool.h>.
Undead: remove an unused structure field.