Releases: Promptly-Technologies-LLC/fastapi-jinja2-postgres-webapp
v1.0.0
What's Changed
- ci: add semantic-release workflow and conventional commit enforcement by @chriscarrollsmith in #203
Full Changelog: v0.1.30...v1.0.0
v0.1.30
Summary
- Add
InstrumentedAttribute[Any]casts on allselectinloadchains inutils/core/organizations.pyper the SQLModel typing rule. - Introduce
clear_all_rate_limiters()and a session-wide autouse fixture intests/conftest.pythat resets limiters before and after every test. - Remove duplicate module-local rate limiter reset fixtures from
tests/test_htmx.pyandtests/routers/core/test_account.py.
Closes #201
Test plan
-
uv run ty check . -
uv run pytest tests
Made with Cursor
v0.1.29
Summary
Resolves #196 by upgrading the full dependency lockfile to latest resolved versions, addressing Dependabot security alerts across runtime, dev, and transitive packages.
Key runtime upgrades:
fastapi0.136.1 → 0.138.0 (starlette1.0.0 → 1.3.1)pyjwt2.12.1 → 2.13.0python-multipart0.0.29 → 0.0.32
Key dev/tooling upgrades:
pytest8.4.2 → 9.1.1 (widened constraint from<9.0.0to>=8.3.3)pytest-jinja-check1.0.2 → 1.1.0 (Starlette 1.x_IncludedRouterroute discovery)jupyter-server2.18.2 → 2.20.0tornado6.5.5 → 6.5.7bleach6.3.0 → 6.4.0
Test plan
-
uv run pytest tests— 421 passed -
uv run ty check .— passes - Confirm Dependabot alerts are cleared after merge (one
bleachalert may remain if no upstream patch exists: GHSA-g75f-g53v-794x)
Made with Cursor
v0.1.28
Summary
Two small, related cleanups to the communication-preferences feature added in #195:
-
Restore the confirm-password autocomplete regression test. #195 accidentally deleted the
defline fortest_register_page_confirm_password_has_autocomplete, collapsing its body intotest_register_page_shows_password_requirementsand demoting its docstring to a no-op string statement. The issue #156 autocomplete check is restored as its own test. The comm-preference assertions remain intest_register_page_shows_password_requirements, where they correctly verify the register page renders the new fields. -
Drop the
syncSubPreferenceshelper. Incommunication_preferences_fields.htmlthe helper was only ever called from the master checkbox'schangehandler (disable branch) and never on init — initial visibility is already set server-side via the Jinjastyle="display: none;"guard. Inlining it removes the indirection and the enable/disable asymmetry. Behavior is preserved exactly: enabling reveals the sub-preferences and checkscomm_updates; disabling hides them and clears both sub-preferences.
Test plan
-
uv run pytest tests/routers/core/test_account.py(91 passed) -
uv run pytest tests/test_templates.py(30 passed) - Both
test_register_page_shows_password_requirementsandtest_register_page_confirm_password_has_autocompleteare collected as separate tests -
uv run ty check .clean
v0.1.27
v0.1.26
v0.1.25
Wires the login “Remember Me” checkbox into auth cookie lifetime: unchecked logins get session cookies with a 12-hour refresh token, while checked logins get persistent cookies aligned to the existing 30-day refresh TTL. Cookie handling is centralized in set_auth_cookies() / clear_auth_cookies(), and the persistent flag is preserved through token rotation on /refresh and silent refresh via NeedsNewTokens. All auth paths keep httponly, secure, and samesite settings unchanged.
Resolves #187
v0.1.24
Summary
- Adds a modal-only conflict resolver to the propagate workflow for
pyproject.tomlanduv.lockconflicts. - Preserves the Modal branch dependency overlay, regenerates
uv.lock, and pushes the merge when only those known files conflict. - Keeps the fallback PR path for all other conflicts.
Test plan
- Simulated the current
origin/mainintoorigin/modalmerge locally. - Verified the resolver clears
pyproject.tomlanduv.lockconflicts. - Verified the resolved
pyproject.tomlkeepsmodal>=0.73.162anduv.lockstill contains themodalpackage.
Made with Cursor
v0.1.23
Summary
- Disables matrix fail-fast for the propagate workflow so a conflict or fallback failure on one deployment branch does not cancel the other branch's propagation job.
- Leaves the existing GitHub App token flow in place; the app now has PR read/write permissions for fallback PR creation.
Test plan
- Not run; workflow-only change.
Made with Cursor