Repository navigation
v_1.13.0
·
16 commits
to main
since this release
Struct v1.13.0 — Release Notes
Release: v1.13.0
Range: Release_v1.12.0..HEAD (13 commits)
Status: Unreleased — desktop artifacts built but not yet tagged
Before tagging:
package.jsonstill reads1.12.0. Bump it with
npm version 1.13.0 --no-git-tag-version(ornpm version minor) so the
shipped binaries match the release.
Struct v1.13.0 is the biggest change since the project's first release: the app
is no longer a Tauri/Rust desktop environment with an embedded IDE. It is now a
single-window Electron application focused on one thing — the agent.
Highlights
- Electron replaces Tauri + Rust. 86 Tauri source files removed, the native
shell is nowelectron/main.cjs(+698 lines) andelectron/preload.cjs(+44). - IDE removed. The built-in code editor, file explorer, LSP plumbing and
editor diagnostics were scrapped, along with their build/verify scripts. - Working macOS and Linux installers.
npm run iconsgenerates real app
icons, and Linux packages as AppImage +.deb. web_search/web_fetchno longer loop. They failed and retried
indefinitely; they now complete correctly.
Changed
- Rewrote the README to describe the product as it now is — a local-first
AI coding agent in one native window. 696 lines of IDE/editor/Tauri/Rust
documentation removed, 91 added. .desktopintegration fixed. SetdesktopNameand a Linuxmaintainer,
so the packaged app now reportsName=Struct, a description, and a
StartupWMClassthat lets desktop environments associate windows correctly.- App icons are now real. Previously electron-builder silently fell back to
the default Electron icon; builds now embed a 512×512 PNG, a 7-size Windows
.ico, and an 11-element macOS.icns. - Replaced stale CI.
.github/workflows/platform-builds.ymlreferenced
src-tauri/paths, a Rust toolchain, and three test scripts that no longer
exist, so every push would have failed. It now builds Linux, macOS and
Windows fromrelease/.
Added
scripts/generate-icons.mjs— dependency-free icon generation (PNG decode,
resize, and.ico/.icnscontainer assembly).- Build scripts:
build:linux,build:mac,build:win,build:desktop:unsigned,icons. author,descriptionanddesktopNamemetadata inpackage.json.
Removed
src-tauri/entirely — Cargo manifests, Rust sources, mobile/Android
generators (86 files).- IDE surface:
TopMenu,WindowControls, the IDE window, Code-OSS shell and
its extension runtime. - Editor/LSP tooling scripts:
verify-lsp,verify-editor-diag,
verify-editor-history,fake-lsp,rotate-updater-keyand scratch helpers. - The
rpmpackaging target (no longer built;rpmbuildis unavailable here).
Fixed
- Web fetch/search loop — the agent repeatedly retried a failing web call
instead of returning; the request path and error handling were corrected. - Linux
.debbuild failure — packaging aborted with
"Please specify author 'email'"; the maintainer is now set. - Silent wrong app icon — builds shipped the generic Electron icon.
Notes for maintainers
- macOS DMG cannot be produced on Linux.
dmgpackaging invokessips, an
Apple-only binary.npx electron-builder --mac --dirproduces a complete
Struct.app; the final DMG wrap needs a Mac or CI. Unsigned builds are also
blocked by Gatekeeper until signed and notarized. release/is no longer tracked in git. It was committed in earlier
releases (1.2 GB of binaries,.pakandasarfiles) and is now ignored.- Installer filename vs package name: the Linux package installs to
/opt/Structbut is still namedneo— install it with
dpkg -i neo_<version>_amd64.deb.
Known issues
- VS Code on this machine was crashing from an unrelated memory leak (GitHub
Copilot Chat's in-memory database fallback). This does not affect Struct
builds, but it made local packaging look unstable.
Changed files (166)
39 modified, 8 added, 119 deleted. The most significant:
.github/workflows/platform-builds.yml,.gitignore,package.jsonEULA.md,LICENSE,README.mdelectron/main.cjs,electron/preload.cjscomponents/ChatHistorySidebar.tsx,components/CommandPalette.tsx,components/ErrorTab.tsx,components/InfoPanel.tsx,components/LocalModels.tsx,components/PrivacyPolicy.tsx,components/Tab2.tsx,components/UpdateNotification.tsxscripts/desktop-build.mjs,scripts/electron-dev.mjs,scripts/generate-icons.mjssrc/App.tsx,src/agentic.ts,src/uiSettings.ts,src/components/SettingsPanel.tsx- Deleted (119 files):
src-tauri/**(86),components/TopMenu.tsx,components/WindowControls.tsx, the LSP/editor verify scripts, andscripts/_*.mjsscratch helpers
Diff summary
166 files changed, 6007 insertions(+), 24702 deletions(-)
package-lock.json | 3630 +++++++++++-
src-tauri/** (86 files) | 9896 ------------
README.md | 787 +--
electron/main.cjs | 698 ++++
scripts/desktop-build.mjs | 243 +-
scripts/generate-icons.mjs | 254 +
src/App.tsx | 394 +-
components/ChatHistorySidebar.tsx | 205 +-
Net ~18,700 lines removed — the majority being the Tauri/Rust and IDE layers.
Full Changelog: Release_v1.12.0...Release_v1.13.0