Require a grid description for hats grid
hat-test: allow choosing a random number seed.
Hats: choose the tiling's starting hat more uniformly.
Hats: factor out the parent-choosing system.
Loopy: widen clip rectangle for redrawing clues.
hat-test: alternative data output mode to write Python.
hat-test: allow specifying tiling size on the command line.
Hats tiling: make hat-test draw each hat in one go.
Hats tiling: more uniform parent selection.
Fix references to the renamed 'auxiliary' directory.
Rename the 'aux' subdirectory to avoid Windows restrictions.
Loopy / grid.c: new grid type, 'Hats'.
KaiOS: be more careful detecting the presence of KaiAds
Turn on PUZZLES_SHOW_CURSOR on KaiOS
Treat environment variable values beginning with "T" as true
Add an environment variable to control initial cursor visibility
New shared function, getenv_bool()
Galaxies: skew grid generation in favour of wiggliness.
Galaxies: remove 'solver_recurse_depth' in live use.
Galaxies: add some higher Unreasonable presets.
Galaxies: remove the 'maxtries' system.
Galaxies: fix recursion depth limit in solver.
galaxiessolver: fix soak-test mode.
Galaxies: new deduction by counting liberties of exclaves.
Galaxies: add a missing \n in a diagnostic.
Galaxies: fix edge coordinates in a diagnostic.
Tracks: missing \n in debug statement.
Add missing 'static' on dputs().
Further restrict the keys that can have MOD_NUM_KEYPAD
Treat keypad-Enter as CURSOR_SELECT, same as Return.
KaiOS: be more cautious about determining whether KaiAds is present
js: Use the Pointer Events API, but only to capture the pointer
Inertia: insist that solutions must be non-empty
Correctly handle some short save files
Be more careful with type of left operand of <<
More cleverness in midend_process_key()
Don't give the libFuzzer version of fuzzpuzz a special name
Try to clean up fuzzpuzz a bit
Rough support for fuzzing with libFuzzer
Revert "JS puzzles: use the PointerEvent API if available."
Normalise pathnames in assert statements where possible.
JS puzzles: use the PointerEvent API if available.
Fix error about setCapture not existing.
Flood: don't read off the end of some parameter strings
GTK: Free error message if new_window fails
Fix memory leak in midend_game_id_int()
Make the HAVE_HF_ITER define target-specific
Support multiple COMPILE_DEFINITIONS for a program
Try to stop CMake disabling assertions in release builds
js: Add a trivial error handler that alert()s
Convert a lot of floating-point constants to single precision
Use unreserved macro names for multiple-include protection
Replace a buch of "const static" with "static const"
Unequal: use %u to format an unsigned int
Undead: be a bit more careful about sprintf buffer sizes
Revert "Stop persistent-mode fuzzpuzz exiting prematurely"
Make emcc.c clean under -Wmissing-prototypes etc
Mosaic: ignore taps above/left of the grid
Stop persistent-mode fuzzpuzz exiting prematurely
Support Honggfuzz's persistent mode in fuzzpuzz
Use -Wmissing-prototypes with GCC as well
Buildscr: include a test build with clang + STRICT.
Fix missing statics and #includes on variables.
Fix unused variable warnings from clang.
Add -Wmissing-prototypes to STRICT clang builds.
Enable -Wmissing-declarations in STRICT mode on GCC
Mark many more function (and some objects) static
Call deallocate() in matching.c test routines
Adjust fuzzpuzz sample shell commands to not include "/*"
Tracks: set drag_s{x,y} even if starting off-grid
Update and expand comment at the head of fuzzpuzz
Separate fuzzing and harness in fuzzpuzz
js: Hide type menu if there's only one preset and no configuration
Solo: cope with pencil marks when tilesize == 1
Note in the documentation that Pattern clues are in order
Tighten grid-size limit in Mines
Make sure that moves in Flood use only valid colours
Fix over-long lines in devel.but
More validation of solve moves in Flood
Validate that save file values are ASCII (mostly)
Extend fuzzpuzz to test more code
Reserialise the game in fuzzpuzz
Avoid division by zero in Cube grid-size checks
Mosaic: don't duplicate the description being validated
Loopy: free the grid description string if it's invalid
Twiddle: don't read off the end of parameter strings ending 'm'
Free new game_state properly in Mosaic's execute_move()
Remember to free the numcolours array from Pattern's drawstate
Don't leak duplicate edges in Untangle
Undead: check the return value of sscanf() in execute_move()
Remember to free the to_draw member from Net's drawstate
Don't leak grids in Loopy's validate_desc()
Remember to free the actual_board array in Mosaic
Fix memory leaks in Keen's validate_desc()
Allow more general cross-shaped boards in Pegs
Don't allow moves that change the constraints in Unequal
Cleanly reject more ill-formed solve moves in Flood
Check state is valid at the end of a move in Pearl