THE CLASSIC BASIC CHANGELOG

Release notes.

New ideas. Useful improvements. Carefully recorded fixes.

Prepared for review — not yet published

Classic BASIC 1.3.1

More of your device, directly from BASIC

New and expanded device commands

  • SCAN reads QR and common barcodes from a camera or imported image, with a bundled local decoder for browsers without BarcodeDetector. Cancel returns an empty string.
  • FLASH ON / OFF (also FLASHLIGHT) controls supported camera torches and checks the actual torch state. The FLASH and PHONEDEMO programs use their BASIC INPUT/Return step to turn the light off; no off button or bottom overlay is added.
  • GPS preserves two-variable coordinates and adds altitude, accuracy, heading, real device-reported speed in metres/second, altitude accuracy, and timestamp. Missing values are documented explicitly.
  • PHOTO and CAMERA capture an image into a local session file; PICKPHOTO selects an existing image. EXPORT downloads the result.
  • ACCEL / ACCELEROMETER, GYRO / GYROSCOPE, TILT / MOTION, and HEADING / COMPASS expose supported sensor readings with documented units and permission handling.
  • SPEAK provides speech synthesis; DICTATE / LISTEN recognizes a phrase through the browser's speech service. VIBRATE requests vibration where available.
  • TOUCH reads graphics-surface coordinates, down/up state, tap, swipe, and pinch gestures. GAMEPAD and GAMEPAD$ read controller buttons, axes, connection state, and name.
  • CLIPBOARD reads text; SETCLIP / CLIPWRITE writes it. SHARE shares text; SHAREFILE shares a session file or offers a labeled download.
  • BATTERY reads level, charging state, and available time estimates. DEVICEINFO$, SCREENINFO, DEVICEAVAILABLE, and ONLINE expose browser/device information and capability flags.
  • IMPORT selects a local session file; EXPORT downloads session files or the current BASIC program. Existing LOAD and SAVE remain available.
  • AUDIORECORD / AUDIORECORDSTOP add bounded microphone recording. AUDIORECORDEXT$ supplies the browser's supported extension; MICSTART / MICSTOP offer an automatic filename.
  • NOTIFY supports local notifications where permitted; OPENURL opens an HTTPS destination after a user action.

Website and release notes

  • Replaced the blurry native-app icon with the real 1024 × 1024 production asset while preserving the iPhone/iPad page and App Store destination.
  • Added More Apps to navigation and a dedicated page for Vesper Python REPL & Editor and Cortex BASIC, using their production artwork and verified project links.
  • Added a dedicated Release Notes page linked from the website's desktop navigation, mobile menu, and Resources footer, with direct version links and the same release data in the app and NEWS command.
  • Updated the browser startup, About, metadata, and website preview to version 1.3.1. Existing historical release information is retained.

Samples and documentation

  • Added SCANDEMO.BAS, GPSDEMO.BAS, FLASH.BAS, CAMDEMO.BAS, SENSOR.BAS, PHONEDEMO.BAS, and MICDEMO.BAS to the program catalog.
  • Added HELP DEVICE, command-specific device help, GUIDE, and a browser device reference covering syntax, units, permissions, cancellation, examples, and platform limits.

Fixed and improved

  • Fixed string expressions such as PRINT "A"+"B" being treated as one quoted literal instead of evaluating to AB.
  • Fixed invalid BASIC file imports clearing or partially replacing the current program before validation completed.
  • Fixed pressing Return on an empty INPUT response leaving the program waiting instead of accepting an empty string. This also makes the flashlight and recording demos resume correctly.
  • Prevented overlapping command submissions during asynchronous operations while preserving program INPUT responses.
  • Added STOP as a program termination command, including device-resource cleanup.
  • BREAK, END, STOP, runtime errors, restart, page exit, and backgrounding release owned camera/torch, motion, microphone, speech, and touch resources. Late results from cancelled operations do not overwrite BASIC variables.
  • Validated device-command arguments and output types before permission prompts and assignments. Permission denial, timeout, and unsupported hardware return BASIC errors rather than fabricated success.
  • Removed app-created device dialogs, Continue/Cancel/Stop buttons, export confirmation panels, and the flashlight overlay from the review candidate. All seven new demos use the existing BASIC terminal for interaction. Browser-required permission prompts and native file pickers remain; camera images use a plain terminal graphics surface.
  • Fixed website regeneration overwriting newer browser-runtime changes with the legacy source file.
  • Adjusted the navigation breakpoint to accommodate More Apps on tablet and smaller desktop screens.
  • Android torch acquisition checks other cameras when the default rear lens has no torch, releases rejected cameras, and requires the selected track to confirm that its torch is on.

Platform notes

  • This release candidate describes the website and browser app. Native iPhone/iPad App Store release status is separate.
  • Hardware features depend on browser APIs, permissions, HTTPS, and actual device support. A capability flag detects an API; it does not guarantee hardware or permission.
  • Safari does not expose browser battery or vibration APIs. Camera torch and speech recognition support vary. Speech recognition may use the browser or OS provider's remote service.
  • Imported files, captures, and recordings remain in this browser session. Export them before reload or RESTART. Storage is bounded to 32 MiB and 100 files; recordings are limited to 5 minutes and 25 MiB.
  • Verified with Chromium, Firefox, WebKit, iPhone and Android browser profiles, Android Chrome in an Android 15 emulator, and Safari loading in iPhone Simulator. Real phone camera focus, torch hardware, and motion/GPS measurements still need physical-device checks.
Earlier release: 1.3

Earlier release

Classic BASIC 1.3

Classic BASIC browser update

June 12, 2026

  • Added LOCATE row,column text cursor positioning.
  • Added BREAK interrupt support with Escape, Ctrl+C, and Ctrl+Break/Pause when available.
  • Added a theme-aware mobile-only BREAK button for touch devices without recent keyboard use.
  • Fixed BLOCK DROP graphics box clearing so wall and top-edge movement redraw cleanly.
  • Fixed Blackjack scoring so hand outcomes update session totals once.

June 11, 2026

  • Catalog completely redesigned around classic games.
  • Added BLOCK.BAS, FOOTBALL.BAS, RHOP.BAS, HANGMAN.BAS, HIGHLOW.BAS, and BLACKJACK.BAS.
  • Improved catalog experience and expanded examples demonstrating Classic BASIC capabilities.