Release Notes
Almasix versions follow SemVer. While the project is on
0.x, minor bumps may include breaking changes; those are called out below.
Install a specific version of the application dependency with
pip install almasix==X.Y.Z (inside the project venv). Refresh the global
installer with pipx install almasix==X.Y.Z or uv tool install almasix==X.Y.Z.
For how to move between releases, see the Upgrade Guide. For how these docs relate to package versions, see Documentation Versions.
- Starter-kit TOTP QR codes — two-factor setup shows a scannable SVG QR
(via
qrcode) instead of a rawotpauth://URI; URI remains under “Can’t scan?” - Editor packages — docs and
smith ide:installpoint at the splitalmasix-vscodeandalmasix-idearepos; Open VSX install path for Cursor / VSCodium; Prism@section('name', 'value')noted in LSP hover
Published on PyPI after the v0.9.3
GitHub Release.
make:modelcompanions —-c/--controller,-r/--resource,-s/--seed,--policy,-R/--requests,--api, and-a/--all(plus the existing-m/-f) generate the matching classes in one shot- Clustered short options —
-mc,-mr,-mfsc, and the like expand the Laravel / GNU way instead of treating the rest as a value for the first flag - Typed migration blueprints — stubs and docs use
table: Blueprintso editors autocomplete column helpers;BlueprintCallbackis exported for explicit bindings ide:index— model metadata also recordsguardedandhidden
Published on PyPI after the v0.9.2
GitHub Release.
ide:indexdepth —config_locations(key → file/line),env_options(driver/store/connection suggestions), and relation method lines for IDE navigation- Env intelligence — two-way completion: keys from config/
env()into.env, and value options for keys likeQUEUE_CONNECTION/SESSION_DRIVER(LSP + index dump) - Config go-to —
config("app.env")resolves to the"env"line inconfig/app.py
Published on PyPI after the v0.9.1
GitHub Release.
smith ide:index— JSON app symbol index (routes, views, config, gates, validation rules, relations, components, Smith commands, and related surfaces) for native IDE tooling- Almasix Idea architecture — JetBrains uses the index dump (no LSP4IJ);
VS Code continues on
almasix-lsp. Docs: Editor setup - Global installer —
pipx/uv tooldocumented for installing thealmasixproject generator outside PEP 668-managed system Pythons
Published on PyPI after the v0.9.0
GitHub Release.
- Compared to other frameworks — Prologue page covering Django, FastAPI, Flask, Litestar, and Masonite (when to pick each, candid feature map)
- Editor setup — JetBrains troubleshooting for
almasixLsp (pid=null), including Windows IDE + WSL projects (plugin 0.1.13+) - README downloads badge — shields.io pepy total downloads (avoids pypistats rate-limit noise)
Published on PyPI after the v0.8.1
GitHub Release.
- Mail + Notifications exhaust — Laravel 13 doc parity for the
framework-shaped surface: Notification façade (send / on-demand / locale /
fake),
MailMessage, custom channel classes, mail & notification events, failover / round-robin mailers, ESP HTTP drivers (Mailgun, Postmark, Resend, SES, Cloudflare) plus sendmail, Slack + Vonage channels, andconfig/services.py - Localization docs — Starlight Localization page for catalogs, plurals, locale middleware, and Number helpers
- Mail / Notifications docs — writing mailables and notification messages
covered at Laravel TOC depth (envelope, Markdown themes,
MailMessage, Vonage / Slack builders)
Published on PyPI after the v0.8.0
GitHub Release.
- Validation exhaust —
request.validate({...})accepts pipe-string rules andRule.*helpers alongside FormRequest / Pydantic schemas; all available rules ship with docs and a maintainer catalog - Inspired by Laravel — Prologue credits Laravel’s design tradition with a link to laravel.com; feature pages stay Almasix-first
- Validation docs — teaching page covers inline validation, soft checks, custom rules, and every available rule without framework-comparison digressions
- CSRF / Inertia — web responses mint a readable
XSRF-TOKENcookie;X-XSRF-TOKENdecrypts whenEncryptCookieswrapped the value (fixes Vue/React kit register 419) - Starter kit auth — Web and Vue scaffolds migrate cleanly; CSRF minting unblocks register; register → email verify → logout → login works out of the box
- Docs rewrite — user-facing docs assume Python + web only; every code fence names a file path; Basics / Database / Articulate / Digging Deeper rewritten for first-time Almasix developers
- Extract — Conduit and Inertia ship as first-party packages
(
almasix-conduit,almasix-inertia); install viaalmasix[conduit]/almasix[inertia] - Web kits declare
almasix[conduit]; SPA kits declarealmasix[inertia] - Conduit loads through PackageManifest discovery (no longer wired in Foundation)
- Conduit — Livewire-class reactive components (
almasix.conduit), including signed update routes and a full parity matrix in the docs - Inertia — first-party adapter with lazy / defer / once / merge props, asset versioning, and Starlight docs
- Starter kits —
almasix new --kitoverlays for Forge web (Conduit + Prism), api (Signet), and react / vue / svelte (Inertia), with Tailwind 4 by default plus Bootstrap / none for web - Auth polish —
password.confirmredirects to the namedpassword.confirmroute (fixes Two Factor settings 404 on Jetstream-style paths)
Published on PyPI after the v0.6.0
GitHub Release.
- Brand refresh — glassy blue diamond accents on the Almasix mark and wordmark; light/dark logo variants for the docs header and landing hero
- Docs UX — two landing CTAs (Get started / Read the docs); GitHub star count in the header; single-button theme cycle (dark → light → auto) instead of a dropdown
Published on PyPI after the v0.5.1
GitHub Release.
- Breaking:
Artisan→Smith— console façade isSmith.call/Smith.command/Smith.queue; testing helper issmith()/TestCase.smith(). (PHP Laravel’s CLI was named Artisan.) No deprecated alias — see the Upgrade Guide - Installer UX — MongoDB as a documents option; live step logs; rich UI kit
(layouts, auth, dashboard, stack error pages); default
npm install && npm run buildfor Vite stacks when Node is available - Console polish — One Dark Pro styled output; schedule worker timestamps
and task output;
inspire/list/route:list/aboutcolors - Logging —
Logfaçade (Log.info,Log.success, …); docs warn against importing stdlibloggingfor app messages - Prism — view data is not overwritten by URL helpers named the same
(
action/form_actionfix for auth forms)
Published on PyPI after the v0.5.0
GitHub Release.
- Deployment — production guide for ASGI apps:
smith serve --workers, reverse proxies, env/secrets, migrations and queue workers, container sketch (examples/deploy/) - Health probe —
GET /upregistered by default (Application.configure(…).with_health) - Docs journey — Prologue (introduction, release notes, upgrade, versions); Basics teaching order; beginner-first openings
- Version switcher — latest major (
0.x) by default;mainopt-in; banner when not on latest - Lint gate — pinned Ruff check + format in CI (
make lint) - Multi-engine database CI — conformance on SQLite, PostgreSQL, and MySQL
- Document stores — Articulate Mongo / memory docs under Database and Articulate
- Also on this line since 0.3.0: installer stacks, named routing, security headers / CORS, and rate limiting
Published on PyPI after the v0.4.0
GitHub Release.
- Published on PyPI and TestPyPI
- Trusted Publishing via GitHub Actions (OIDC) — no long-lived PyPI tokens in the repo
- Console exhaust, installer stacks, named routing, security headers/CORS, and rate limiting
- Earlier PyPI release on the 0.2 line — see the GitHub release
- First tagged public release — see the GitHub release