Tighten validation of Tents game descriptions
Fix move validation in Netslide
Avoid invalid moves when solving Tracks
Mines: Don't check if the player has won if they've already lost
Mines: forbid moves that flag or unflag an exposed square
Document numeric input in Undead
Remove an odd mention of NO_PRINTING from Mosaic
Explicitly document that various function pointers can be NULL
Remove various unused game functions
Loopy: Specify can_solve as true, rather than 1
Validate the number of pegs and holes in a Pegs game ID
Limit number of mines in Mines game description
Don't segfault on premature solve moves in Mines
Cleanly reject ill-formed solve moves in Flood
Forbid moves that fill with the current colour in Flood
Don't allow Bridges games with < 2 islands
KaiOS: explicitly set the font family to Open Sans
Increase KaiAds timeout to 10 seconds
Add validate_params bounds checks in a few more games.
Black Box: reject negative ball counts in game_params.
Add myself to copyright holders and update copyright years
Add a content security policy for the KaiOS app
Update comment in manifest.pl based on experience
kaios/manifest.pl: canonicalise the JSON output.
Install KaiOS app docs even without Halibut
Use the main Web site version of the docs for KaiOS apps
kaios: Add hooks for the KaiAds API
js: Quicker keyboard access to menu items
kaios: Make F10 open and close the menu
Correct type of "locales" in KaiOS manifest
Deliver banner images from build script
Generate a possibly suitable marketing banner for the KaiStore
kaios: Provide a populated "locales" field in the manifest
kaios: Turn off :hover highlighting in menus
Buildscr bits for making KaiOS builds
kaios: Put version numbers in manifest files
kaios: Hack out everything that needs dialogue boxes
js: Remove an outdated reference to the "invisible Custom option"
js: Tolerate the absence of various UI elements from the HTML
js: Look up elements in the DOM as early as possible
js: Simpler and more robust startup procedure
js: Use current_key_label() to label feature phone softkeys
js: Rename update_undo_redo() as post_move()
js: Make soft-key labels generate key events when clicked
kaios: Major parts of a build for KaiOS
Properly-styled icons for KaiOS
js: Have the "SoftRight" key open the menu by focussing it
Allow repeated "solve" operations in Guess
Tracks: tighten up the 'illegal solve submoves' fix.
Tracks: let solve make illegal moves
Fix mosaic's validate_desc: 9 is valid
Avoid unnecessary timestamp bumps on generated-games.h.
Fix memory leak in convert_tilesize
Fix use-after-free in fuzzpuzz
Correct syntax of fuzzpuzz.dict
Tracks: make sure moves are valid in execute_move()
Towers: reject descriptions with odd characters at the end
Mines: No moving once you're dead!
Untangle: forbid descriptions that connect a node to itself
Tighten Bridges' validate_desc()
Filling: validate length of auto-solve move strings
Explain what decode_ui() should do with invalid input
Same Game: reject moves with unexpected characters in
Palisade: remove assertion from decode_ui()
Mosaic: fault out-of-bounds moves in execute_move()
When loading, don't decode_ui unless we have a UI
Don't allow negative clues in Pattern
Palisade: don't leak memory on a bad move
Black Box: correct order of validation checks for "F" commands
Last-ditch point-count limit for Untangle
Adjust Undead upper grid-size limit to avoid overflow
Last-ditch maximum size limit for Twiddle
Last-ditch maximum size limit for Tracks
Limit size of puzzle in Tents to avoid integer overflow
Last-ditch maximum size limit for Sixteen
Last-ditch maximum size limit for Signpost
Last-ditch maximum size limit for Same Game
Also limit Pegs to at least 1x1 even when not doing full validation
Last-ditch maximum size limit for Pegs
Last-ditch maximum size limit for Pearl
Last-ditch maximum size limit for Palisade
Integer overflow protection in Pattern
Last-ditch maximum size limit for Netslide
Last-ditch maximum size limit for Net
Avoid integer overflow in Mosaic maximum-size check
Also check for tiny grids in Mines
Last-ditch maximum size limit for Mines
Last-ditch maximum size limit for Map
Last-ditch maximum size limit for Magnets
Limit maximum grid size in Loopy
Last-ditch maximum size limit for Light Up
Last-ditch grid-size limit for Inertia
Insist that Flood grids must have non-zero size
Last-ditch grid-size limit for Flood
Last-ditch maximum size limit for Flip
Last-ditch grid-size limit for Fifteen
Last-ditch grid-size limit for Galaxies
Last-ditch grid-size limit for Dominosa
Last-ditch maximum size limit for Bridges