Untangle: add a 'snap to grid' user preference.
Untangle: replace manual int64 bodging with int64_t.
Replace check of __STDC_VERSION__ with HAVE_STDINT_H.
Loopy: slightly increase the size of dots.
hat-test: fix memory leaks.
Pattern: Reduce row clue spacing if there are lots of them
Pattern: switch to small font when there are many row clues
Correct a comment in Pattern's clue-drawing code
Emscripten: change the localStorage key used for preferences.
Support user preferences in the Emscripten frontend.
emcc.c: remove savefile_read_ctx.
emcc.c: missing (void) in a function definition.
Fix bounds check in buffer_append.
Support user preferences in the Mac frontend.
GTK save_prefs: fix a wrongly sourced error report.
Slant: actually check ui->swap_buttons.
GTK: stop referring to &thegame in prefs I/O functions.
Support user preferences on Windows.
make_prefs_path(): tolerate NULL inputs.
Document the new Net preference.
Net: preference for how loop highlighting interacts with locking.
Fix failure to update me->ui when changing preferences.
GTK: add a command-line --delete-prefs option.
Support preferences in the GTK frontend.
Universal preference option for one-key shortcuts.
Keep a set of preferences in the midend.
Require games to accept new_ui(NULL) if they have preferences.
Generalise the midend serialisation callbacks.
New backend functions: get_prefs and set_prefs.
Move per-puzzle ad-hoc getenv preferences into game_ui.
Pass a game_ui to compute_size, print_size and print.
Missing const in configure() documentation.
Filling: switch to using dsf_minimal in minimize_clue_set.
Loopy: draw even faint lines using draw_thick_line.
Turn off Leak Sanitiser in the icons build.
Update the documentation for the dsf functions.
Actually rewrite the dsf implementation.
Reorganise the dsf API into three kinds of dsf.
Introduce a new dsf_equivalent() function.
Remove conditioned-out dsf diagnostic code.
Remove size parameter from dsf init and copy functions.
Store a size field inside the DSF type.
Actually make DSF an opaque structure type.
Declare all dsfs as a dedicated type name 'DSF'.
Remove a direct use of dsf internals in Filling.
Consistently use snew_dsf to allocate dsfs.
Use a dedicated copy function to copy dsfs.
Use a dedicated free function to free dsfs.
Stop putting dsfs in existing scratch int arrays.
Remove an unnecessary extern function declaration.
Move obfuscator tests into obfusc.c.
Reference my just-published article about aperiodic tilings.
Don't allow zero clues in Pattern
Net: validate co-ordinates in decode_ui()
Add a game_state argument to decode_ui()
Make encode_ui() and decode_ui() optional in back-ends
Net: assert that cx and cy are in range in compute_active()
js: explicitly tell Emscripten which browsers to target
js: set -s ENVIRONMENT=web in Emscripten
Fall back to <math.h> if <tgmath.h> doesn't work.
Remove obsolete testbuild.c.
KaiOS: include extra copyright notices in manual
Replace <math.h> with <tgmath.h> throughout
js: stop using EXTRA_EXPORTED_RUNTIME_METHODS
js: use the "load" event for loading save files
js: Load save files into the C side incrementally
js: load games using FileReader.readAsArrayBuffer()
hat-test: more scaling and clipping options.
hat-test: fix array underrun.
Remove penrose_count_tiles().
Move other test main()s out of library source files.
Move hat-test into its own source file.
Magnets: add a check that magnets don't wrap between lines
Correct a range check in Magnets' layout verification
hat-test: option to generate four-coloured hat tilings.
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.