Roadmap

Where RPCortex is headed. Updated as versions ship and plans solidify.

v0.8.1-rc1 Shipped

First release candidate for v0.8.1. All core systems are stable. This pass closes the remaining open bugs from the beta cycle and ships the last few quality-of-life features before the final release.

  • Boot clock disabled after every boot — crash sentinel was never cleared on success; fixed so OC_On_Boot persists across reboots correctly
  • NOPASS login left crash sentinel alive — guest logins now clear Settings.Startup like normal logins do
  • Password masking — login and account prompts echo instead of plaintext
  • Case-insensitive cd — tries case-insensitive match if exact name isn't found
  • Single-file delete promptrm on a single file no longer shows the irrelevant (a) option
  • Startup message fix — corrected incorrect "recovery mode" banner shown after an unexpected shutdown
  • Tilde expansion everywhere~ and ~/path expand to the user home in all command arguments, not just cd
  • Program_Execution setting is functional — disabling it via settings or reg set blocks exec and script fall-through
  • Echo file redirectecho "text" > file and echo "text" >> file
  • Low RAM warning — shell warns once when free memory drops below 70 KB
  • POST .mpy fallback — if a .py module isn't found, POST checks for a compiled .mpy version
  • Download .pkg button now styled correctly on the Packages page
  • RP2 family language throughout — removed Pico-only references
  • Roadmap page added and linked from all nav bars
🔵
v0.8.1 Stable

Final stable release of the v0.8.x line. Ships unlimited WiFi profiles, manual recovery mode, extraction progress, --help flags, pkg commands, device ID, and other quality-of-life improvements from the RC iteration backlog.

  • --help / -h — usage flags on all built-in commands; per-command hint lookup in help
  • Unlimited saved WiFi networks — networks.cfg replaces the 2-slot registry approach
  • Auto-save WiFi on connectwifi connect saves credentials automatically
  • pkg commands — lists shell commands registered by installed packages
  • Manual recovery command — enter recovery shell without a boot error
  • Extraction progressupdate from-file shows [n/total] counter during archive extraction
  • Device ID in registry & fetchSystem.Device_ID shown in system info display
  • RAM warning at 70 KB — shell warns once when free memory is low
  • Editor as package — removable and reinstallable via pkg
  • Fetch as package — same treatment, enables independent updates
  • Benchmark package — remove built-in bench, replace with a richer package
  • Build tags — auto-tagged per build, aligned with GitHub releases
  • Compiled / source flag — registry key + fetch display
  • Check-updates command — queries the website for available versions
  • .rpc releases ship .mpy by default — source .rpc kept as separate developer artifact
  • Web Installer & Update page — source vs compiled selector added
🟡
v0.9.0 Planned

Major release. Introduces the scripting language, shell pipes, scheduled and startup tasks, the first pass at multitasking via uasyncio, and deep memory and performance optimisations.

  • Shell pipescmd1 | cmd2 | cmd3
  • Custom scripting language — feature-packed, tightly integrated with Launchpad; supports variables, conditionals, loops, and ~ expansion
  • Tilde expansion everywhere — aliases, script args, any path-accepting command
  • Startup tasks — run commands, scripts, or packages automatically on every boot
  • Scheduled tasks — run things at timed intervals post-boot using a software uptime offset (no RTC required)
  • Unattended mode — background execution (tail logs, toggle GPIO, pull and apply fixes over WiFi)
  • First uasyncio integration — cooperative multitasking for background tasks alongside the shell
  • Lazy loading & ephemeral imports — evict modules after use for non-critical commands
  • Chunked file I/O throughout (512 / 1024-byte buffers)
  • Module eviction on memory pressure + gc.collect()
  • Avoid string concatenation in hot paths
  • Further RAM optimisations targeting Pico W (~200 KB shown in meminfo)
  • Frozen modules / custom .uf2 firmware build (feasibility study)
  • Recovery mode tools — expanded diagnostic and repair commands
  • TUI framework — developer-facing API for building adaptive box-draw apps (modelled on PowerShell edit)
  • Updated TUI design — apply new language to settings, edit, and other panels
  • OS personalisation — owner name, device name, timezone
  • SSH shell access — lightweight SSH-style server giving Launchpad access over TCP; requires uasyncio so the shell can run as a background task alongside the listener; not full OpenSSH — just enough to open a session and get a shell prompt
  • Download progress bars[####----] 47% during wget, curl, and pkg install; uses Content-Length response header; degrades gracefully when header is missing
  • Extended benchmark (mem / ROM / SD)
  • Dev packages: git (clone / fetch), others TBD
  • Extended curl flags-X POST, -d <data>, -H <header>, -o <file>, -s (silent), -I (HEAD), custom timeout
  • speedtest package — measure upload / download throughput; displays result in Mbps / KBps; ships as a package so it can be updated independently
  • Compile OS to .mpy — build script + thin main.py wrapper
  • Non-absolute internal paths for on-device debugging
  • Windows MicroPython port stubs for local shell testing
v0.9.0 is a substantial release. The exact feature set may shift as v0.8.1 stabilises. Items listed here represent the current plan, not a firm commitment.
v0.9.1 – v0.9.x Future

The v0.9.x series builds toward v1.0. The big milestone is proper multi-threading. Everything here is tentative.

  • Proper multi-threading — pre-emptive or deep cooperative; tested before v1.0 release
  • Multiple terminals & tabbing — requires multitasking to land first
  • Mouse support in TUI — depends on terminal emulator cooperation via serial escapes
  • MicroPython Viper optimisation (deferred: sacrifices non-RP2 support — decision pending platform strategy)