mirror of
https://github.com/Xevion/linkpulse.git
synced 2025-12-06 01:15:30 -06:00
4.3 KiB
4.3 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.3.0]
Added
- A release checklist to the
CHANGELOG.mdfile, as a reminder for procedure. - An action workflow for invoking
pytest, with coverage report generation in CI/CD - backend: Login & Logout routes
- backend: Rate Limiting via custom
RateLimiterdependency - backend:
Usermodel,Sessionmodel with migration script - backend:
Sessionmodel constraints fortokenlength,expiry&last_usedtimestamps - backend:
SessionDependencyfor easy session validation, enforcement & handling per route - backend: provided
LOG_JSON_FORMATandLOG_LEVELenvironment variable defaults inrun.shdevelopment script - backend: Simple
/health&/api/migrationsendpoint tests - backend:
utc_nowhelper function - backend:
pwdlib[argon2],pytest(pytest-cov,pytest-xdist),limits,httpx,email-validatorpacakges - frontend: Re-initialized with
vitetemplate, setup@tanstack/router&shadcncomponents. - frontend: Added Login & Register page, added basic authentication check with redirect
- frontend: Added Zustand state management, basic login & session API functions with
true-mythtypes. - frontend: Added
zustand,true-myth,@tanstack/router,clsx,tailwind-mergepackages
Changed
- Set
blackformatter line length to 120 characters - backend: migration squashing threshold to 15
- backend: moved top level
approutes torouter.misc
Removed
- frontend: Most old packages from initial
vitetemplate - backend:
IPAddressModel (definition + DB state via migration) & all related code
[0.2.2] - 2024-11-01
Added
- Added the
orjsonserializer for faster JSON serialization- Used in
structlog'sJSONRendererfor production logging - Used in
fastapi'sResponsefor faster response serialization
- Used in
- Improved documentation in multiple files
__main__.pylogging.pymodels.pyutilities.pymigrate.pyresponses.py
- A
get_dbutility function to retrieve a reference to the database (with type hinting) - Minor
DATABASE_URLcheck inmodels.pyto prevent cryptic connection issues
Changed
- Migration script now uses
structloginstead ofprint- Migration script output is tuned to structlog as well.
- Migration names must be at least 9 characters long
- Unspecified IPv6 addresses are returned without hiding in
utilities.hide_ip - Applied
get_dbutility function in all applicable areas.
Fixed
- Raised level for
apscheduler.schedulerlogger toWARNINGto prevent excessive logging - IPv4 interface bind in production, preventing Railway's Private Networking from functioning
- Reloader mode enabled in production
[0.2.1] - 2024-11-01
Changed
- Mildly reformatted
README.md - A development mode check for the
app.state.ip_pool's initialization (caused application failure in production only)
Fixed
- Improper formatting of blockquote Alerts in
README.md
[0.2.0] - 2024-11-01
Added
- This
CHANGELOG.mdfile - Structured logging with
structlog- Readable
ConsoleRendererfor local development JSONRendererfor production logging
- Readable
- Request-Id Middleware with
asgi-correlation-id - Expanded README.md with more comprehensive instructions for installation & usage
- Repository-wide improved documentation details, comments
- CodeSpell exceptions in VSCode workspace settings
Changed
- Switched from
hypercorntouvicornfor ASGI runtime - Switched to direct module 'serve' command in
backend/run.sh&backend/railway.json - Relocated
.tool-versionsto project root - Massively overhauled run.sh scripts, mostly for backend service
- Improved environment variable access in logging setup
- Root logger now adheres to the same format as the rest of the application
- Hide IP list when error occurs on client
run.shpasses through all arguments, e.g. bpython REPL via./run.sh repl- Use UTC timezone for timestamps, localize human readable strings, fixing 4 hour offset issue
is_developmentavailable globally fromutilitiesmodule
Removed
- Deprecated
startupandshutdownevents - Development-only randomized IP address pool for testing