js: Disable menu keyboard controls when dialogue box is active
js: More conventional marking of menu item types
js: Replace status-bar holder in HTML with status bar itself
js: Add actions for more keys in menus
js: Move global keyboard handler to capturing phase
js: Move focus-tracking to entirely "focus" events
js: Replace :focus-within with JS-maintained .focus-within
js: Add keyboard navigation for menus
Add missing dependency of screenshots on their save files
nullgame: Don't bother blanking the puzzle window
gtk: Fix a missing "const" qualifier when building with GTK 2
js: When removing the status bar, null out its variable
js: Allow status bar to be present in the HTML
Palisade: scale line thickness unboundedly with tile size.
pearl: Return NULL when Backspace or Escape does nothing
mines: Grammar fix in instructions
Document new new undo/redo keys
Extra key mappings: '*' to undo and '#' to redo
js: Create the puzzle resize handle only if the puzzle is resizable
js: Insert a space in game-type submenu headings as well
js: Convert space after tick in menus to a space character
js: Use -moz-appearance and -webkit-appearance
js: Better handling of games without presets and/or solve
js: Substantially simplify timer code
js: Give keyboard focus to the puzzle canvas at startup again
js: Remove class="text/css" from <style> element
js: Add a way to have environment variables
js: Use <li role="separator"> in place of <li class="separator">
js: Label all form controls and put controls inside labels
js: Simplify menu CSS a little
js: Convert menus to use semantically appropriate HTML elements
Correct a comment: draw_rect_outline() uses draw_polygon()
Remove setting of indent-tabs-mode from filling.c
Remove a couple of unused variables.
js: Enable STRICT_JS in Emscripten
js: Add various missing variable declarations
js: Reinstate a missing variable declaration
js: Switch to window.requestAnimationFrame() for timing
js: Cancel UI events when the mid end says they've been handled
Add a way for midend_process_key() to report whether it handled a keypress
js: Make SoftRight act as CURSOR_SELECT2 as well
js: Map the "SoftLeft" key to CURSOR_SELECT2
js: Move much of the handling of device pixel ratios to the mid-end
Teach the mid-end about device pixel ratios
js: Make update_pixel_ratio() more robust
js: Adjust z-indices of sub-menus and resize handle
js: Tolerate the non-existence of some HTML elements
Loopy: adjust clip rectangle for new line thickness.
Loopy: make line thicknesses scale with the canvas.
js: Take device pixel ratio into account when setting default size
js: Distinguish manual resizes from device pixel ratio changes
js: Split setting nominal and actual canvas size
js: Very bad attempt at making puzzles change size when zooming
js: Add a CMake variable to control whether Emscripten emits WASM
js: Make update_pixel_ratio more backward-compatible
js: Use String.replace() in place of .replaceAll()
js: Be more subtle about cancelling keydown events
js: Add a comment explaining the two halves of the key-matching code
js: Handle KeyboardEvent.key == "Spacebar"
js: Recognise KeyboardEvent.key == "Escape"
js: Add mapping for UI_REDO based on KeyboardEvent.key
js: Use KeyboardEvent.key for ASCII keystrokes
js: Remove the charCode argument from key()
js: Add modern "key" values for Delete and arrow keys
js: Use KeyboardEvent.keyCode and .char only as fallbacks
js: Remove braces from big else-if chain in keyboard handler
js: Use less-modern syntax in update_pixel_ratio
js: Make resizing of puzzles work properly again
js: Pay attention to changes in device pixel ratio
js: Pay attention to the device pixel ratio
js: Move some styling from style attributes to stylesheet
js: Map mouse co-ordinates correctly even when CSS scales our canvas
Update Nikoli links and remove Flash warnings
js: Percent-encode game IDs in URLs and decode them again on input
Build fix: take declarations out of for loops.
js: Read save files as text rather than binary strings
Revert "WASM: move save file encoding from JS into C."
Update comment on parameter string formats in documentation
Document the asserted printable ASCII nature of many strings
Assert that everything written to a save file is printable ASCII
Hex-encode non-ASCII random seeds in save files
Add assertions that game descriptions consist only of printable ASCII.
Add an assertion to check the format of encoded parameters
js: Make the dialogue box heading actually be an <h2>
js: When making a hidden element visible, just remove "display: none"
js: Remove unnecessary setting of status bar size
js: Move dialogue-box sizing and positioning from JavaScript to CSS
js: Move most style settings from JavaScript to CSS
Correct and enable the range check on statepos when loading
Add more validation to midend deserialisation routine
js: Update permalinks and undo/redo buttons when loading
js: Update comment on possible future enhancements
Add a missing "const" to js_draw_poly and js_canvas_draw_poly
Hide some words in top-level menu items on small viewports
Make JavaScript game controls work better in small viewports