All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. This project adheres to Semantic Versioning.
Releases are automated via python-semantic-release using Conventional Commits.
0.1.0 - 2026-03-04
AdminSite,ModelAdmin, andAdminConfigas the stable public API- Automatic CRUD route generation per registered SQLAlchemy model
(
GET/POSTlist, create, edit, delete with confirmation) - Model registry with validation (primary key presence, declarative model check, duplicate registration guard)
- Query engine with search, boolean/foreign-key filters, configurable ordering, and pagination — all in a single pipeline
- Form engine: SQLAlchemy column introspection mapping types to HTML widgets (text, textarea, checkbox, datetime-local, number, select)
- Session-based authentication with HTTP-only cookies and bcrypt password hashing
- Built-in
AdminUsermodel (admin_userstable) withusername,email,is_active,is_superuser,created_at,last_login internal-admin createsuperuserCLI command — readsDATABASE_URLandSECRET_KEYfrom environment or.envfile; no default users are ever seeded- Activity logging:
ActivityLogmodel records create, update, delete, and login events with user, IP, user-agent, and timestamp - Dashboard showing registered model counts and the 10 most recent activity log entries
- Bootstrap 5 server-rendered UI (sidebar, navbar, list, form, confirm-delete templates) — no JavaScript frameworks, no build pipeline
- Standalone login page (no sidebar/navbar) with client-side field validation, show/hide password toggle, and loading state
- Logout confirmation modal
- User profile modal accessible from the navbar dropdown (display name, email, role badge, member-since, last-login)
python-dotenvintegration:.envfile loaded automatically in both the CLI and demo serverdemo_web.pydemo server registeringDemoCategory,DemoProduct, andAdminUserin the admin panelCONTRIBUTING.mdandCODE_OF_CONDUCT.md
- Passwords are hashed with bcrypt via passlib; plaintext passwords are never stored or logged
- Session cookies are HTTP-only
password_hashexcluded from all admin forms by default whenAdminUseris registered