- auth: consolidate auth config in AuthSettings (#57) (4e3b540)
- foundry: add python_version_minor computed field (#56) (8532af8)
- api.auth: pass ctx.env_file to AuthSettings (587fcf7)
- add py.typed file (05b27fc)
- gui: decrease BROWSER_RECONNECT_TIMEOUT (04d2e5e)
- scheduler: add BaseJoblet to foundry-core (a707e8c)
- gui: default page title to context name (928c4da)
- gui: extract _frame_context to reduce cognitive complexity (a4134d9)
- clean duplicate test helpers/fixtures (3fa8882)
- gui: registry-based page registration with frame injection (#39) (c22b79e)
- trigger version bump (994f9f5)
- api: propagate exception handlers to versioned apps (47a78a0)
- foundry: add PackageMetadata to FoundryContext (8e8f904)
- api: derive metadata from context in api.core helpers (df0a01f)
- api: guard get_user against non-dict session (6828e28)
- database: normalise asyncpg to psycopg in get_url (4918893)
- database: resolve env_file from active context in DatabaseSettings (1bb1483)
- foundry: detect db url in .env files in from_package (e6bd18d)
- database: env var for db_name is NAME not DB_NAME (e1418ab)
- database: rename max_overflow to pool_max_overflow (5c7f26c)
- add autoconfigured DatabaseSettings (0de7adf)
- foundry: auto-inject third_party into sys.path (884b120)
- api: make AuthSettings fields mandatory (acf40ec)
- foundry: add version_with_vcs_ref to FoundryContext (424a1e4)
- user_agent: replace explicit params with context (d903eb2)
- tests: replace direct FoundryContext() calls with make_context() helper (a44d9ad)
- api: add versions param to init_api() (e80ca06)
- foundry: add python_version to FoundryContext (0878ae7)
- sentry: derive env_prefix from FoundryContext (4c4b748)
- use FoundryContext in all modules (#18) (a99873c)
- di: drop project_name, use context only (4959a59)
- foundry: add FoundryContext and set_context() (3cf6f69)
- gui: add NiceGUI page helpers and nav builder (49e28f6)
- boot: add parameterised boot() sequence (cb63a75)
- api: add VersionedAPIRouter, init_api, and api package (b003c21)
- api: add Auth0 authentication dependencies (47dbd6f)
- tests: extract constants, document empty stubs (784af4f)
- gui: render page content inside frame context (e524978)
- gui: extract helpers to reduce gui_run complexity (5beeaf3)
- cli: add prepare_cli with project_name injection (78cc4e1)
- database: add async SQLAlchemy session management (af91937)
- service: add BaseService with FastAPI DI support (c393d9a)
- user_agent: add parameterised user_agent() (ae3b27b)
- sentry: add configurable sentry_initialize and SentrySettings (61fd5c8)
- log: add configurable logging_initialize and LogSettings (e283f67)
- api: add ApiException hierarchy and handlers (b055518)
- process: add ProcessInfo and get_process_info (c8d168f)
- models: add OutputFormat StrEnum (e19cea5)