Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.3.5

Changed

  • Renamed project and package to uv-forger and uv_forge to sync with PyPi release.

0.3.4

Changed

  • Replaced non-functional "Save to config" checkbox with a Save as Preset button in the Project Structure section — opens the Presets dialog for proper, persistent configuration saving
  • Button enables automatically when you modify the project configuration (select a framework/project type, add packages, or edit the folder structure)
  • Added ⌘S / Ctrl+S keyboard shortcut to save as preset

Removed

  • Removed unused save_config() method that wrote to the installed package directory (would be wiped on upgrade)
  • Removed auto_save_folders state field and on_auto_save_toggle handler (dead code)

0.3.3 - 2026-03-18

Fixed

  • Custom dropdown in light mode

0.3.2 - 2026-3-16

Internal

  • Fixed image link

0.3.1 - 2026-03-15

Added

  • Import existing folder from disk into project template
  • "Import from Disk..." button in Add File/Folder dialog (Folder type)
  • Right-click context menu on folders: "Import Folder from Disk..."
  • Recursive directory scanner with depth (5) and file (50) limits
  • Reads content of importable file types (.py, .json, .toml, .md, .yaml, .html, .css, .js, .ts, etc.)
  • Skips hidden dirs, pycache, node_modules, .venv, dist, build, and other noise
  • Skips binary/non-UTF-8 files gracefully with skipped count reported
  • Imported file contents stored as overrides and written during build
  • Context menu on folders (previously only files had one)

Changed

  • Added httpx to FastAPI project type packages
  • Updated FastAPI built-in preset to include httpx and pydantic as runtime deps

Internal

  • Extracted IMPORTABLE_EXTENSIONS constant (was duplicated in two places)
  • 14 new tests (scanner, context menu, dialog) — 719 total

0.3.0 - 2026-03-15

Added

  • Browse button in Add File dialog — import existing files from disk when adding to the folder tree (name auto-fills, content stored for build)
  • FCE-enhanced file editor integration with syntax highlighting, search & replace, diff pane, and user templates
  • File content editing via right-click context menu on files in the folder tree (Preview, Edit, Import from File, Reset to Default)
  • Full-screen code editor powered by fce-enhanced with syntax highlighting, search & replace, diff pane, command palette, and font zoom
  • User templates system — save custom boilerplate that persists across sessions and overrides built-in content
  • Custom content indicators (✎ pencil icon) in the folder tree for files with overrides
  • Edit File toolbar button for quick access to the editor
  • Custom Templates Path setting for user-level boilerplate directory
  • File overrides applied during build with priority over boilerplate

Changed

  • Boilerplate fallback chain updated to check user templates first
  • In-app docs (Help, About, Cheat Sheet) updated to cover file editor features

Fixed

  • FilePicker API corrected from broken get_file_path() to pick_files() (Flet 0.80+ compatible)

0.2.0 - 2026-03-11

Added

  • Configurable git remote mode: Local Bare Repo (default), GitHub (via gh repo create), or None (local only)
  • GitHub CLI pre-flight checks (gh installed and authenticated) before GitHub-mode builds
  • Settings for git remote mode, GitHub username/org, and private/public repo visibility
  • Per-build git remote mode override in the Confirm Build dialog
  • "Check gh status" button in Settings dialog
  • GitHub Actions workflow for automatic docs deployment to GitHub Pages

Changed

  • Git integration documentation rewritten across README, HELP, Cheat Sheet, and mkdocs guide pages

0.1.0 - 2026-03-10

Added

  • Initial release of UV Forger
  • Flet desktop GUI for scaffolding Python projects with UV
  • 10 UI framework templates (Flet, PyQt6, PySide6, tkinter, customtkinter, Kivy, Pygame, NiceGUI, Streamlit, Gradio)
  • 21 project type templates (Django, FastAPI, Flask, data science, ML, CLI tools, APIs, web scraping, and more)
  • JSON-based template system with fallback hierarchy and intelligent merging
  • Smart scaffolding with boilerplate file content and {{project_name}} placeholder substitution
  • PyPI name availability checker with PEP 503 normalization
  • Two-phase git integration (local repo + bare hub, auto commit and push)
  • Dev dependency support (uv add --dev) with amber badge in UI
  • Project metadata dialog (author, email, description, SPDX license)
  • Post-build automation with configurable shell commands
  • Rollback system for cleanup on build failure
  • Named project presets with 4 built-in starters
  • Recent projects history (last 5 builds)
  • Persistent settings (project path, GitHub root, Python version, IDE, git defaults)
  • Colour-coded log viewer with clickable source locations
  • Dark and light theme toggle