Skip to content

Releases: lubusIN/frappe-local

Dev Rolling Build v1.0.0-dev.20261014

Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Oct 08:12

Rolling dev build containing the latest changes.

v1.0.0-beta.14

Choose a tag to compare

@ajitbohra ajitbohra released this 20 Aug 11:44

What's New!

✨ New Features

  • Windows Support: Initial Windows support, including container-native storage and WSL memory allocation handling.
  • Terminal & Shell: Implemented cross-platform terminal orchestration and shell execution services.
  • Diagnostics: Added real-time diagnostics updates via the IPC bridge.
  • Podman Integration: Implemented a new runtime-service to automatically manage the Podman machine lifecycle.
  • Single Instance: Enforced single application instance running at a time.
  • Caddy: Stabilized Caddy frontdoor operations.
  • Frappe: Added support for the develop branch for bench creation.

🐛 Bug Fixes

  • Windows: Fixed WSL to Podman communication and opening projects in devcontainers.
  • Storage: Resolved a storage race condition.
  • Tasks: Fixed an issue where cancelled tasks showed incorrect statuses.
  • Testing: Fixed tests failing on Windows, site orchestration tests, and resolved linting errors.

♻️ Refactoring & Chores

  • macOS: Replaced AppleScript terminal invocation with a more reliable direct open -a Terminal command.
  • DevContainers: Refactored devcontainer handling across platforms.
  • Docker: Pinned the base bench image version for more stable builds.

📚 Documentation

  • Added a Supported Platforms.
  • Refined installation instructions across all operating systems.
  • Documented application hardware and network requirements.

Full Changelog: dev...v1.0.0-beta.14

v1.0.0-beta.13

Choose a tag to compare

@ajitbohra ajitbohra released this 07 Aug 16:13

What's New in v1.0.0-beta.13

✨ Features

  • Runtime Reliability: Enforce container runtime (Podman) availability before executing bench and site orchestration tasks.
  • Smart Diagnostics: Integrated diagnostics to auto-correct bench states during critical environment issues (e.g. Podman failures) and conditionally render site links based on true availability.

🐛 Bug Fixes

  • Bench State Sync: Automatically mark all running benches as "stopped" in the database upon critical diagnostic failures, eliminating "endless starting" UI hangs.
  • Build System: Fixed preload script paths to use the .mjs extension for correct loading.

🛠 Chore & Maintenance

  • UI Upgrade: Upgraded frappe-ui from beta.25 to beta.35.
  • macOS Installer: Configured macOS hardened runtime entitlements and properly disabled strict validation.
  • Build Config: Updated dependency structure and electron-builder build settings to optimize the desktop application footprint.
  • Refactoring: Consolidated internal service imports and updated test mocks to use partial import mocking.

Full Changelog: v1.0.0-beta.12...v1.0.0-beta.13

v1.0.0-beta.12

Choose a tag to compare

@ajitbohra ajitbohra released this 06 Aug 16:43

What's Changed

🚀 Features

  • Apps: Implement stricter validation and normalization logic for GitHub repository sources (fixes duplication with trailing slashes) (79836d2)

🛠 Refactors & Improvements

  • Build: Migrate Electron Forge to Electron Builder for improved application packaging (b26bc23)
  • Apps: Display installed apps in the overview section (18a265b)
  • Benches: Replace bench status tab buttons with a clean filter select dropdown (d950e20)
  • Sites: Remove status filter functionality from SitesView (a0c8424)

Full Changelog: https://github.com/rtCamp/frappe-local/compare/v1.0.0-beta.11...v1.0.0-beta.12

v1.0.0-beta.11

Choose a tag to compare

@ajitbohra ajitbohra released this 29 Jul 16:46

What's New in v1.0.0-beta.11

✨ Features

  • Apps (Catalog): Added manual app catalog synchronization. You can now fetch the latest apps from the Brewery immediately via a new "Sync" button.
  • Apps (Custom): Added robust duplicate validation when adding Custom Apps. The system intelligently normalizes URLs and local paths to cleanly prevent duplicate app entries.
  • Sites: Introduced a brand-new tabbed UI layout for Site details to significantly improve navigation and data density.
  • Benches: Introduced a tabbed UI layout for Bench details, aligning the design language with the new Sites view.
  • Diagnostics: Added real-time status indicators directly to the sidebar navigation menu, allowing you to instantly spot system health issues.

🎨 UI & UX

  • Overview Actions: Reorganized site and bench action buttons, moving them into clean, structured overview tabs to reduce clutter.
  • Wizard Navigation: Completely revamped the wizard creation flows. Updated step labels and replaced the old breadcrumb navigation with a sleek, stepped progress bar.

🐛 Bug Fixes

  • Backend IPC Context: Fixed a critical JavaScript this binding issue in the IPC handlers that caused background sync tasks to crash when triggered manually.

Full Changelog: dev...v1.0.0-beta.11

v1.0.0-beta.10

Choose a tag to compare

@ajitbohra ajitbohra released this 23 Jul 17:22

What's New in v1.0.0-beta.10

✨ Features

  • Settings: Introduced auto-save for settings, including debounced operations and dedicated flow for applying memory allocation changes.
  • Sites: Centralized site creation toast notifications and background task tracking for smoother UX across both Bench and Site views.
  • Sites UI: Upgraded the bench selection in the site creation wizard to use a custom selection list and improved wizard dialog sizing.
  • Updates: Implemented manual update downloading capabilities and enabled update checks in the development environment.

🐛 Fixes

  • Settings: Fixed race conditions with settings persistence by ensuring changes are safely saved and configured states update upon successful application.
  • Task Logs: Adjusted log dialog sizing to prevent clipping and overlap with toast notifications.

♻️ Refactoring & Improvements

  • UI Components: Migrated various form inputs to the unified FormControl component and standardized form validation.
  • Icons: Swapped out unplugin-icons in favor of runtime lucide-icon class strings for cleaner DOM and better performance.
  • App Manager: Improved App Manager UI with tab counts and clearer variable naming.
  • App Catalog: Added support for multiple categories per item in catalog queries and grouping logic.
  • Tests: Updated wizard validation tests to properly expect error objects instead of arrays.
  • Build: Simplified build scripts and eliminated unused imports across the renderer.

🔧 Maintenance

  • Bumped frappe-ui dependency to v1.0.0-beta.25.
  • Linting and code-style cleanup across components.

Full Changelog: dev...v1.0.0-beta.10

v1.0.0-beta.9

Choose a tag to compare

@ajitbohra ajitbohra released this 22 Jul 17:08

What's Changed

✨ Features

  • Apps: Automatically resolve app dependencies when fetching apps (via --resolve-deps) and sync installed apps state from apps.txt cleanly.
  • Apps: Prevent app remove if they are actively in use by existing benches or sites, surfacing a new usage check dialog.
  • Bench: Added real-time validation to ensure bench names are unique during the bench creation flow.
  • Bench: New "Build Bench" action added to the bench action menu.
  • Bench: Added "Quick-add site" feature to bench creation and removed the redundant force toggle for clearer UX.
  • Site: Introduced new quick actions for clearing site cache and running database migrations.

♻️ Refactoring & Chores

  • UI/UX: Grouped bench actions together and reordered main navigation for an improved layout.
  • Maintenance: Fixed linting and strict type-checking issues across IPC and UI layers.

Full Changelog: dev...v1.0.0-beta.9

v1.0.0-beta.8

Choose a tag to compare

@ajitbohra ajitbohra released this 13 Jul 17:04

What's New in Frappe Local v1.0.0-beta.8

🚀 Editor & Dev Container Integrations

  • Universal "Open In" Action for Bench Apps: Enabled both Open in VS Code and Open in Dev Container options across all installed bench apps (including core apps, custom local apps, and GitHub custom apps).
  • Intelligent Dev Container Folder Resolution: Fixed a Workspace does not exist issue when launching Dev Containers for custom/GitHub apps. The backend now accurately resolves the exact repository directory inside /workspace/apps/ regardless of app identifiers or naming conventions (e.g., - vs _).
  • VS Code Installation Verification: Added system check to detect if the VS Code (code) CLI is installed (/usr/local/bin, /opt/homebrew/bin, or macOS application bundles). "Open In" actions are now intelligently disabled in the UI when VS Code is not present on the host system.
  • Enhanced Process Pathing for Packaged Builds: Resolved ENOENT spawn errors when opening external editors from packaged Electron .app builds by automatically injecting standard shell environment paths ($PATH).

✨ UI & User Experience Improvements

  • Human-Readable App Titles in Notifications: Fixed toast notifications displaying raw GUIDs (b4f2c81d-...) when opening custom apps. Toasts and error alerts now correctly resolve and display human-friendly app titles and names (My Custom App).
  • List View Layout Polish: Improved list view alignment and spacing across development and release builds by applying structured table layout rules and adopting standard frappe-ui list-style CSS.

🛠️ App Updates & System Reliability

  • Graceful Update Verification: Improved auto-updater robustness by properly handling GitHub 404 Not Found API responses when checking for newer releases on pre-release/beta tags, preventing false error alerts.
  • Dynamic macOS Code Signing: Added support for ad-hoc signing and notarization workflows on macOS binaries during packaging.

📦 Version & Dependencies

  • Bumped project version to 1.0.0-beta.8.
  • Synchronized and verified lockfile dependencies (package-lock.json).

Full Changelog: dev...v1.0.0-beta.8

v1.0.0-beta.7

Choose a tag to compare

@ajitbohra ajitbohra released this 12 Jul 17:51

What's Changed in v1.0.0-beta.7

🛠 UI & Layout Improvements

  • Native List Layout Alignment: Explicitly imported frappe-ui/list-style.css inside the main renderer entry point (main.ts). This guarantees identical, full-width edge-to-edge grid layout and row alignment ([data-slot='list-row']) across both dev and release builds without requiring utility class overrides or patch styles (87ac80d).

🔄 Auto-Updater & Update UI Fixes

  • Graceful Auto-Update Check Handling: Expanded isGracefulUpdateError to cleanly catch and silence "No published versions on GitHub", "Cannot find channel", and "No release found" when running development or pre-release builds (2305e5e).
  • Prevent False "Update Available" Alerts: Guarded the AppShell update state management (onUpdateAvailable & onUpdateError) so that update check errors or identical version checks no longer trigger false Update Available popups or empty version tags (v).
  • macOS Auto-Update Verification Hook: Enhanced native macOS auto-update handling (Squirrel.Mac) to ensure smooth background unpacking and verification (64e322a).

🍎 Code Signing & Packaging

  • Ad-Hoc Release Bundle Signing: Enabled dynamic --deep --force ad-hoc (-) code signing across electron-forge (forge.config.ts & make-release.js). Every generated .dmg, .zip, and .app bundle is properly ad-hoc signed so SecStaticCodeCheckValidity validation passes cleanly during local testing and auto-updates (8ddf1ab).

Full Changelog: v1.0.0-beta.6...v1.0.0-beta.7

v1.0.0-beta.6

Choose a tag to compare

@ajitbohra ajitbohra released this 12 Jul 14:36

Frappe Local v1.0.0-beta.6

This release brings major architectural improvements to the user interface, introducing modern 3-column split layouts for Benches and Sites, improved application management, accurate app metrics, and a comprehensive code refactor with strict type safety.


✨ What's New

🖥️ Unified 3-Column Master-Detail Layouts

  • Edge-to-Edge Split View (Benches & Sites): Re-engineered the layout for BenchesView.vue and SitesView.vue. List and detail panes now stretch edge-to-edge for optimal screen real estate.
  • Collapsible Navigation Panel: Added a sidebar toggle switch inside the header bar (PageHeaderBase), allowing users to collapse or reveal the master list panel on demand (w-80 sm:w-96 when expanded).
  • Streamlined Search & Status Filtering: Pinned clean, icon-free status tab bars (All, Running, Stopped, Ready, Queued) with accurate count badges directly above item lists.

🧩 Improved Application Management & Metrics

  • Core Dependency (frappe) Exclusion from Installed Counts:
    • Freshly created benches and sites require the core frappe framework dependency (apps: ['frappe']). Previously, this caused appCount metrics across badges and lists to display 1 App Installed.
    • Introduced the shared filterNonCoreApps utility across backend IPC serialization (toBenchListItem, toSiteListItem), site creation validation, and UI counters.
    • Newly initialized benches and sites now cleanly display 0 Apps Installed, accurately reflecting only user-installed custom or catalog applications (erpnext, hrms, etc.).
  • Consolidated App Management: Removed redundant Manage Apps popover dialogs (ManageAppsDialog). All application installations, removals, and updates are now managed cleanly through the embedded <AppManager> interface inside the detail reading pane.

🧹 UI/UX & Action Cleanup

  • More Actions Dropdown (Delete & More): Moved destructive operations (Delete Bench and Delete Site) out of primary action bars directly into the More Actions (...) dropdown menu as red-themed options (theme: 'red') to prevent accidental clicks.
  • Removed Deprecated Actions: Cleaned up the obsolete Clean Bench action button, confirmation modal, and associated state from the UI.
  • Upgraded Component Library: Upgraded frappe-ui dependencies and replaced legacy HTML elements with standard, dark-mode compatible frappe-ui components across all views.

🛠️ Under the Hood & Code Health

  • Strict Type Safety across Codebase & Tests: Eliminated loose any casts (context as any, mockRepo as any, mockExec) across CustomAppsView.vue and main process tests (bench-devcontainer.test.ts, catalog-provider.test.ts, terminal.test.ts), enforcing strict TypeScript interfaces (Parameters<typeof ...>).
  • Resolved Runtime Component Warnings: Fixed [Vue warn]: Failed to resolve component: Alert console warnings across views by explicitly importing required frappe-ui components.
  • Clean Attribute & DOM Hierarchy: Standardized Vue template attribute ordering and eliminated unnecessary DOM wrapper nesting across all templates (eslint --fix).
  • Rock-Solid Test Suite: Verified 100% passing test suite across all 62 test files (303 passing tests), zero ESLint errors or warnings, and clean typecheck results.

Full Changelog: dev...v1.0.0-beta.6