Releases: ArasaniRohithReddy/shot2code
Release list
shot2code v0.3.3
Fast, reliable startup
- Core health routes now load before expensive generation, evaluation and project-tool dependencies.
- Chromium and Copilot discovery run as bounded background work instead of blocking
/api/health. - Electron requires HTTP 200 with
{"ok":true}, fails immediately if the backend exits, logs readiness duration, and uses a 90-second cold-start deadline. - Final packaged validation: 10/10 relaunches, zero timeouts, 5.177s minimum / 8.267s median / 11.183s maximum shell readiness. Fresh profile: 10.612s; fresh portable/post-update: 40.873s.
Resizable workspace
- Drag-resize Chat/History versus Preview/Code on desktop.
- Independently resize the multi-file project explorer.
- Keyboard-accessible separators: arrows, Shift+arrows, Home/End, Enter reset, double-click reset, Escape cancel.
- Widths persist across restarts and collapse/reopen, but stay completely separate from project commits, variants, retries and History.
- Viewport-aware limits keep both panes usable; mobile/tablet destinations remain unchanged.
Help center
- New Help rail action and Ctrl+/ dialog with Get started, Guides, Support and Keyboard shortcuts.
- Opens the authoritative app-releases product page, complete release history and public install/user/FAQ/troubleshooting/architecture/data/security/changelog/contributing/third-party/releasing guides.
- Open diagnostic logs directly in the packaged app with explicit success/failure feedback.
Desktop zoom
- Ctrl+= and Ctrl++ zoom in; Ctrl+- zooms out; Ctrl+0 resets.
- Numpad Add/Subtract supported.
- Deterministic 10-point steps, bounded 50%-300%, with duplicate Chromium zoom suppressed.
Validation
- Backend: 525 passed, 13 skipped; changed backend files have zero Pyright diagnostics.
- Frontend: 415 passed, 6 skipped; targeted lint, TypeScript and production build passed.
- Desktop: 20/20 readiness, updater, installer and zoom tests passed.
- Pane browser suite: 276/276; Help suite: 91/91.
- Final ZIP/NSIS integrity, blockmap coverage, MSI extraction, 58
.pydmodules and packaged feature smoke passed.
Downloads
- EXE: recommended per-user installer with automatic updates.
- MSI: per-machine managed deployment.
- ZIP: portable build.
- SHA256SUMS.txt: checksum verification.
The Windows binaries are unsigned and may trigger SmartScreen.
shot2code v0.3.2
Critical update safety
v0.3.2 protects upgrades that start from older clients. The NSIS installer now stops and verifies the installed backend process tree before any file replacement, including orphan Copilot/Chromium descendants. Matching is scoped to the installed backend path, so unrelated same-name processes are not terminated. If shutdown cannot be verified, installation aborts before replacement and writes %TEMP%\shot2code-installer-preinstall.log.
A genuine public v0.3.0 client was updated to v0.3.2 while a backend descendant deliberately held pydantic_core locked. The installer terminated the installed tree, preserved an unrelated control process, installed completely, force-relaunched, and returned healthy backend/capabilities with matching native hashes.
Models from every provider
- Choose one or more models from GitHub Copilot, OpenAI, Anthropic/Claude, and Google Gemini.
- Copilot models are discovered live from the signed-in plan; API-key providers use maintained validated catalogues.
- One generated option per selected model, within the existing variant limit.
- Persisted selection migration, stale/deprecated model warnings, media-capability filtering, provider-specific credentials, and retry/history preservation.
- New credential-safe
/api/modelscatalogue endpoint; secrets are never returned.
Preview, History, and responsive UX
- Fixed-width 100% desktop previews are centred on a neutral framed backdrop.
- User-facing Versions navigation is now consistently History.
- Tablet and mobile layouts expose a separate labelled History destination beside Preview and Chat.
- Improved preview controls, History row semantics, focus visibility, target sizes, contrast, and reflow.
- Updated screenshots show the current UI and all-provider model picker.
Windows robustness
- Prompt-preview diagnostics are safe on strict cp1252 Windows consoles and cannot crash generation on Unicode text.
- Installer lifecycle and pre-install safeguards have six automated desktop tests.
Validation
- Backend: 514 passed, 13 skipped.
- Frontend: 357 passed, 6 skipped; TypeScript and Vite build passed.
- Desktop: 6/6 updater/installer tests passed.
- Responsive browser checks covered 352 through 1920 pixels in light and dark modes.
- Final packaged health, capabilities, model catalogue/provider groups, centred Preview and History UI passed.
- ZIP/NSIS integrity, full blockmap coverage, MSI extraction, 58
.pydmodules, and native backend hashes passed.
Downloads
- EXE: recommended per-user installer with automatic updates.
- MSI: per-machine managed deployment.
- ZIP: portable build.
- SHA256SUMS.txt: checksum verification.
The Windows binaries are unsigned and may trigger SmartScreen.
shot2code v0.3.1
Critical updater fix
v0.3.1 fixes the intermittent post-update startup failure reported after v0.3.0. The updater now stops and verifies the complete backend process tree before launching one NSIS installer, prevents a second automatic installer, and keeps the app retryable if shutdown cannot be confirmed. This prevents partial PyInstaller replacement and missing native modules such as pydantic_core.
Workspace redesign
- Collapsible desktop Chat panel with persistent state and keyboard reopening.
- File explorer auto-hides for one-file projects and can be toggled for larger projects.
- Streamlined code toolbar and clearer entry/preview/read-only/generated states.
- Explicit, conservative Format action that never executes code and leaves unsupported source unchanged.
- Cohesive CodeMirror surfaces, compact provider status, useful conversation starters, and improved responsive behavior from narrow windows through full HD.
Documentation and project health
Added changelog, security policy, contributing guide, code of conduct, support guide, release procedure, checksums, issue/PR templates, and real product screenshots.
Validation
- Updater lifecycle: 3/3 passed, including a real Windows parent/child process-tree test.
- Frontend: 301 passed, 6 skipped; TypeScript/build passed; 33 responsive browser states passed.
- Backend: 433 passed, 13 skipped.
- Packaged EXE/MSI/ZIP smoke: version 0.3.1, backend health/capabilities, native modules, Chromium preview, and current updater status passed.
Downloads
- EXE: recommended per-user installer with automatic updates.
- MSI: per-machine managed deployment.
- ZIP: portable build.
Windows may show SmartScreen because the binaries are not code-signed. Verify downloads with SHA256SUMS.txt.
shot2code v0.3.0
Highlights
- Local SQLite project history with persistent versions, retry ancestry, chat context, recent projects, and restart recovery.
- Authoritative multi-file project editor with nested file tree, language-aware CodeMirror, safe sandboxed previews, and complete project export.
- Folder, ZIP, selected-source, and HTML import with traversal/size protections and compact project-context analysis.
- Stack-aware preview, CodePen sharing, and export support across all 12 output stacks, including genuine Vite projects for React, Preact, and Vue.
- Explicit multi-screenshot modes for separate pages, responsive views, UI states, and supporting references.
- Responsive desktop/tablet/mobile workspace, accessible dialogs and controls, and an in-app keyboard shortcut reference.
- Hardened Windows desktop packaging with automatic NSIS updates, per-machine MSI deployment, portable ZIP, bundled backend, and Chromium preview support.
Keyboard shortcuts
Use Ctrl+/ in the app for the complete list. Common shortcuts include Ctrl+1-4 for Preview, Code, Chat, and Versions; Ctrl+Alt+I for Import; Ctrl+Alt+E for Export; and Ctrl+Shift+Enter for Retry.
Downloads
- EXE: recommended per-user installer with automatic updates.
- MSI: per-machine managed deployment; administrator-controlled updates.
- ZIP: portable build.
Windows may show a SmartScreen warning because these binaries are not code-signed.
shot2code v0.2.2
A hardening release covering auto-update integrity, MSI deployment, Copilot token catalogs, project-import limits and multi-screenshot retries.
Downloads
| File | Use |
|---|---|
shot2code-0.2.2-x64.exe |
Recommended per-user installer with automatic updates |
shot2code-0.2.2-x64.msi |
Per-machine managed deployment; administrator-controlled updates |
shot2code-0.2.2-x64.zip |
Portable build |
The release also includes latest.yml and the NSIS .blockmap for efficient,
verified automatic updates.
Important for v0.2.0 users
If v0.2.0 shows Backend did not become ready in time, install v0.2.2
manually once. v0.2.0 could update while the backend was still running, leaving
native Python modules locked and producing an incomplete installation.
From v0.2.1 onward, the full backend/Copilot/Chromium process tree is stopped
synchronously, updates install silently, and the app restarts automatically.
Improvements
- Copilot model discovery now uses the actual credential selected for
generation, including a token pasted in Settings. - Removed models are filtered from automatic selection using the live catalog.
- Responsive/state/reference multi-screenshot mode survives retries and edits.
- Project folders and ZIPs enforce aggregate limits before large content is
buffered; ignorednode_modulesentries no longer consume the file limit. - Unicode ZIP names work.
- Props are associated with the matching component instead of being merged
across every component in one file. - MSI is now per-machine and does not invoke the NSIS self-updater.
- Settings shows the running version, update status, download progress,
Check now, and Restart & install.
Verification
- 286 backend tests
- 48 frontend tests
- Both type checks and changed-file lint clean
- MSI administrative extraction: exit 0, 3,589 files, native Pydantic module present
- Installed v0.2.1 main window and backend verified before this release
shot2code v0.2.1
Fixes the v0.2.0 startup failure and makes update status visible in Settings.
Important: install this update manually once
v0.2.0's updater could begin replacing resources while the bundled backend and
Chromium were still exiting, producing a partial install missing native Python
modules. If v0.2.0 shows Backend did not become ready in time, download and
run v0.2.1 manually:
- Right-click the installer -> Properties -> Unblock -> Apply
- Close shot2code
- Run the installer
After v0.2.1, future updates install silently and restart automatically.
Downloads
| File | Use |
|---|---|
shot2code-0.2.1-x64.exe |
Recommended NSIS installer and auto-update payload |
shot2code-0.2.1-x64.msi |
MSI for managed deployment |
shot2code-0.2.1-x64.zip |
Portable build |
Fixed
- Partial auto-updates. The entire backend/Copilot/Chromium process tree is
now terminated synchronously before NSIS replaces application resources. - Interactive update wizard. Restart & install now uses silent installation
and relaunches the updated app. - Missing MSI. Restored and validated by administrative extraction: exit 0,
full payload, native pydantic extension present.
New: visible version and updater state
Settings now shows:
- The running shot2code version
- Checking / up-to-date / downloading progress / ready / error state
- Check now
- Restart & install when a download is ready
Verification
The broken local v0.2.0 installation was repaired, then v0.2.1 was installed and
verified: main window open, backend ready, bundled Chromium, Copilot and native
pydantic runtime all present.
shot2code v0.2.0
A major workflow upgrade: use an existing codebase as design context, and tell shot2code exactly how multiple screenshots relate.
Install
Existing installs update themselves. For a fresh install:
| File | Use |
|---|---|
shot2code-0.2.0-x64.exe |
Recommended. Windows installer |
shot2code-0.2.0-x64.zip |
Portable - unzip and run shot2code.exe |
If Windows blocks the installer, right-click it -> Properties ->
Unblock -> Apply.
New: existing-project context
Open Import -> Existing project context and choose a:
- Project folder
- ZIP archive
- Set of source files
shot2code safely reads the project and extracts component names, props,
dependencies, framework hints, CSS variables and reusable classes. It never
executes imported code or configuration. node_modules, build output,
binaries, traversal paths and oversized input are ignored or rejected.
Only a compact summary is kept on this device and used as design context. Raw
source is discarded after analysis. The active project appears above every
input tab and in Settings so it is never silently applied.
New: deterministic multi-screenshot generation
When more than one screenshot is uploaded, choose what the set means:
- Separate pages - one navigable view per screenshot; none may be omitted
- Responsive views - one page at different viewport sizes
- UI states - one interface with interactions between states
- Supporting references - screenshot 1 is the target; others clarify it
Separate pages is the default. A live Copilot generation was verified to contain
both distinct test pages.
Fixed
- Signed in but no Copilot models. The background auth probe marked sign-in
ready beforelist_models()finished. Auth and models now publish atomically,
and Settings has a Refresh button. - Stale Copilot choices. Models removed from the live Copilot catalog are
filtered before generation rather than failing session creation. - Missing stack icons. Every stack component now has an icon, with a test
that catches missing mappings in future.
Validation
- 283 backend tests
- 46 frontend tests
- Both type checks and changed-file lint clean
- Folder and ZIP APIs tested live
- Frozen backend: 18 Copilot models, Chromium and project scanner verified
shot2code v0.1.9
React and Preact results can now be exported as a real Vite project.
Install
Existing installs update themselves. For a fresh install:
| File | Use |
|---|---|
shot2code-0.1.9-x64.exe |
Recommended. Windows installer |
shot2code-0.1.9-x64.zip |
Portable - unzip and run shot2code.exe |
Export as a real project
Choosing Project folder from the download button now depends on the stack:
React / Preact get an actual Vite project:
index.html
src/App.jsx your component
src/main.jsx the render call
src/index.css Tailwind directives
package.json vite.config.js tailwind.config.js postcss.config.js
npm install
npm run devThe preview runs React from a CDN and compiles JSX in the browser, which is
fine for previewing but awkward to keep working on. The export lifts the
component out, adds the imports the CDN build made unnecessary, and moves the
render call into main.jsx.
This was checked by generating a project and building it - npm install and
vite build both succeed, Tailwind compiles and React bundles.
Every other stack gets the split introduced in 0.1.8: separate
index.html, styles.css and script.js with a package.json. Anything that
doesn't look like a React page falls back to that too.
shot2code v0.1.8
Adds a project-folder export and fixes Open in CodePen.
Install
Existing installs update themselves. For a fresh install:
| File | Use |
|---|---|
shot2code-0.1.8-x64.exe |
Recommended. Windows installer |
shot2code-0.1.8-x64.zip |
Portable - unzip and run shot2code.exe |
If the installer seems to do nothing: right-click the
.exe->
Properties -> tick Unblock -> Apply.
New: download as a project folder
The download button now offers two options:
- Single HTML file - one self-contained page plus its images, as before
- Project folder -
index.html,styles.cssandscript.jsas separate
files, with apackage.jsonand README so it runs withnpm run dev
CDN tags stay in the HTML, and inline <script type="module"> blocks are left
where they are, because moving them would break module loading for the Preact
and Material stacks.
Fixed
Open in CodePen was broken three ways:
- It assumed every page used Tailwind and only knew about Ionic, so Bootstrap,
Bulma, daisyUI, Alpine and htmx pens opened without their framework. The
externals are now taken from what the page actually uses. - A stray space in the Tailwind URL produced a malformed list.
- In the desktop app the pen opened empty. CodePen is opened by submitting
a form, and handing that to the system browser dropped the submitted code.
The exported zip is also named shot2code-export.zip rather than carrying the
old project name.
shot2code v0.1.7
Doubles the number of output stacks, and auto-update now works.
Install
| File | Use |
|---|---|
shot2code-0.1.7-x64.exe |
Recommended. Windows installer |
shot2code-0.1.7-x64.zip |
Portable - unzip and run shot2code.exe |
If the installer seems to do nothing: Windows blocks downloaded files.
Right-click the.exe-> Properties -> tick Unblock -> Apply.
This is the last release you should need to install by hand. From here the
app checks for updates on launch, downloads in the background and offers to
restart.
New stacks
Six more output targets, bringing the total to twelve:
| Stack | Good for |
|---|---|
| Alpine.js + Tailwind | Interactive pages without a framework |
| Preact + Tailwind | React-style components, a fraction of the size |
| Tailwind + daisyUI | Ready-made components on top of Tailwind |
| Bulma | Clean CSS framework, no utility classes |
| Material 3 | Google's Material Design components |
| htmx + Tailwind | Hypermedia-driven interactions |
Alongside the existing HTML+Tailwind, HTML+CSS, React, Vue, Bootstrap and Ionic.
Every stack has to run as a single self-contained HTML file, so each CDN was
checked before being offered. Svelte was considered and left out: its components
must be compiled, which cannot happen in the page.
Fixed
- Auto-update could have installed a corrupt file. Tagging a release also
triggered a CI build that republished it, which left the update manifest
describing a binary that was no longer attached. Releases are now published
from a single verified build, and CI only checks that the app still packages.
Getting started
Run gh auth login (or copilot) once, then pick your models in Settings.