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.
Fix OSX build failure from latest XCode update.
Net: highlight more errors in locked tiles.
Net: rename 'loop' to 'err' in UI code.
Dominosa: some more solver thoughts.
cube.c: Prohibit unsolvable single row/column game
Fix docs link from the JS Rectangles page.
Tracks: stop drawing background for clues in game_print.
Fix return value from newgame_undo_deserialise_read.
Fix NUL-termination bug in saving from Javascript.
misc.c: Fix implementation of free_keys.
Parallelise the build script.
Fix Makefile.nestedvm so that it works with make -j.
Enable 64-bit osx build and fix a warning.
Enable high resolution on osx
Bump the source and target versions used in javac.
Stop using deprecated gdk_beep().
Buildscr: make long parts of the build conditionalisable.
latin.c: remove a rogue array overrun.
Make static keyword come first everywhere.
Move `static' keyword to beginning of declaration.
Add request_keys() to the rest of the unfinished games.
Build fix: stop initialising an auto char array.
Add a request_keys() function with a midend wrapper.
Convert Tents to use matching instead of maxflow.
Use the new matching() for latin.c.
Implementation of the Hopcroft-Karp algorithm.
Recipe: centralise dependencies for latin.c.
Move fgetline out into misc.c.
Galaxies: clarify wording of completion condition.
Fix two bugs in Range's solver_reasoning_recursion().
Solo: add a missing params constraint for X puzzles.
Fix false-positive completion detection in X Solo.
towerssolver: always print solver diagnostics in -v mode.
latin.c: dump every solution found during recursion.
Create 96x96 icons for gnome-shell
Forbid undo-of-new-game after midend_set_config.
Mark the 32-bit Windows build as runnable on XP.
Reinstate 32-bit Windows builds of Puzzles.
Permit redoing past an undone New Game action.
Refactor to make me->newgame_undo a small struct.
Standardise character encoding of source tree on UTF-8.
New grid type: the trihexagonal tiling, or 'kagome lattice'.
Solo: remove some overzealous assertions in the solver.
Map: stop storing pixel coordinates in game_ui.
Unequal: run check_complete() after a hint move.
fix loop condition
Fix assertion failure if you Undo right at startup.
Make the code base clean under -Wwrite-strings.
Assorted char * -> const char * API changes.
Return error messages as 'const char *', not 'char *'.
Use a proper union in struct config_item.
New name UI_UPDATE for interpret_move's return "".
Fix an int->pointer cast warning in windows.c.
Make newgame_undo_buf 'char *', not 'void *'.
Forbid undo of new-game if it would change the params.
Style tweaks to the newgame_undo patch.
midend: Allow "new game" to be undone
midend_deserialise: accept an extra validation function.
midend_deserialise: keep deserialised data in a struct.
deserialise: use the right one of {,c}params.
tracks: Make error clue background white
tracks: Greyscale colour initialisation: line up columns
tracks.c: draw_clue: Introduce bg parameter
Fix changing puzzle size in a maximised GTK3 window.