Skip to content

Changelog

All notable changes to this library are documented here. The newest release is at the top.

1.5.0 (2026-11-01)

Highlights

Adds NVARCHAR-based Unicode column types used for name and display-name fields on Azure SQL to prevent non-Latin characters being stored as question marks. Existing tables remain VARCHAR until you convert them (no breakage), and the docs include guidance and an ALTER TABLE recipe; tests covering SQL Server, SQLite DDL and a non-Latin-1 round trip were added.

Features

  • database: Unicode text columns on Azure SQL (T-008) (#39) (0efe2cc)

1.4.0 (2026-11-01)

Features

  • storage: list directories and file metadata in Files (5918749)
  • store the user's language and send login mails in it (T-007) (73eebc3)

1.3.0 (2026-11-01)

Features

  • add SMTP sender for login tokens (#32) (6241d29)

1.2.0 (2026-11-01)

Features

  • Add public_url to AppSettings (T-007) (#27) (ac2391d)
  • Allow hashed passwords and harden scoped role checks (#25) (905f379)

1.1.0 (2026-11-01)

Highlights

IDs created by commons now use time-ordered UUIDv7 strings via a new public function, new_id(), so primary keys are appended to indexes and carry their creation time. There are no schema or data changes and existing IDs remain valid, but UUIDv7 has fewer random bits so treat IDs-as-secrets with caution before upgrading.

Features

  • Generate time-ordered UUIDv7 ids (#20) (91f7c79)

1.0.0 (2026-10-31)

⚠ BREAKING CHANGES

  • Add event patterns and require Python 3.14 (#18)

Features

  • Add event patterns and require Python 3.14 (#18) (5c65d46)

0.2.1 (2026-10-25)

Highlights

LoginTokenService gains request_id_for_link(link_token), which returns the request id a login link belongs to without redeeming the link. This lets web apps auto-login when the requesting browser opens the link while keeping single-use links safe from mail scanners; the lookup is read-only and returns None for unknown, redeemed, or expired links.

Bug Fixes

  • Let web apps look up a login link's request without redeeming it (#13) (5b8fe6d)

0.2.0 (2026-10-25)

Features

  • Add find_user_by_email and get_user_by_email to UsersRepository (#10) (a7a5a31)
  • Add passwordless login with link or code (commons.users.login_tokens) (#12) (4c072b9)

0.1.1 (2026-09-26)

Highlights

This release adds a MkDocs-based documentation site (MkDocs Material + mkdocstrings) with an autogenerated API reference and a GitHub Actions workflow to deploy it to GitHub Pages. The Check workflow now builds docs with --strict to catch broken references early, and convenient Poe tasks are included for local serving and building. A small package-init fix makes the datastructures module resolvable by mkdocstrings.

Documentation

  • Add MkDocs documentation page published to GitHub Pages — site built with MkDocs Material + mkdocstrings (API reference generated from existing docstrings, one page per module; includes type signatures, source links, search and a light/dark theme). Adds a .github/workflows/docs.yml workflow to build and deploy to GitHub Pages on pushes to main (and runnable manually), builds the docs with --strict in the existing Check workflow, adds Poe tasks (poe docs, poe docs-build) and gitignores the built site/, adds an empty src/commons/datastructures/__init__.py so mkdocstrings can resolve the package, and adds a docs link to the README. (#3) (1b886f3)