-
bce4f5e223
chore: merge development into main (v0.4.2)
main
v0.4.2
petrbalvin
2026-07-27 10:37:47 +02:00
-
-
a66a36abbc
chore: prepare release v0.4.2
development
petrbalvin
2026-07-27 10:36:44 +02:00
-
38544b84cf
fix(admin): ship templates in wheel, fix CSP and bootstrap login
petrbalvin
2026-07-27 10:27:41 +02:00
-
-
98f7f3c9e3
fix: add missing CSP style-src nonce and include static SVGs in wheel
v0.4.1
petrbalvin
2026-07-27 09:03:44 +02:00
-
d9b7a53ac2
ci(release): fix tag env, upgrade actions, add release permissions
petrbalvin
2026-07-26 23:35:30 +02:00
-
a5c1b519ed
fix(ci): use gitea.ref_name and map PYPI_TOKEN env for publish step
v0.4.0
petrbalvin
2026-07-26 18:19:11 +02:00
-
3b8ed31f67
chore: prepare release v0.4.0
petrbalvin
2026-07-26 18:15:29 +02:00
-
19c6161ae0
fix: Markdown import in admin preview route
petrbalvin
2026-07-22 21:25:27 +02:00
-
3ac1ef78c2
fix: icon path and config.toml structure
petrbalvin
2026-07-22 21:22:08 +02:00
-
36855afc70
fix: hash-password command import name
petrbalvin
2026-07-22 21:17:21 +02:00
-
51d744e0ea
fix: default bind to :: for IPv6 dual-stack
petrbalvin
2026-07-22 21:14:41 +02:00
-
44b879371e
refactor: rewrite from Ruby/Sinatra to Python/FastAPI
petrbalvin
2026-07-22 21:12:17 +02:00
-
6f62d3e3f3
chore: prepare release v0.3.0
v0.3.0
petrbalvin
2026-07-12 14:03:14 +02:00
-
1dfbf67921
style(web): polish native date, time and file inputs
petrbalvin
2026-07-12 12:55:29 +02:00
-
0e8f013bbb
feat(web): show version in sidebar footer
petrbalvin
2026-07-12 11:25:22 +02:00
-
2f90c6da4d
feat(admin): add volumen icon and use it in sidebar and login
petrbalvin
2026-07-12 11:18:59 +02:00
-
f40ace64a8
feat(settings): add user profile photo upload and tabbed layout
petrbalvin
2026-07-12 11:12:37 +02:00
-
ff0452bcc3
feat(uploads): restrict to webp/avif with conversion hint
petrbalvin
2026-07-12 11:03:49 +02:00
-
34dc67ce99
feat(admin): add user fediverse handle setting
petrbalvin
2026-07-12 11:00:01 +02:00
-
e028db6447
feat(users): add display name field for users
petrbalvin
2026-07-12 10:57:14 +02:00
-
cbae03014d
fix(form): default to today when date is missing
petrbalvin
2026-07-12 10:52:17 +02:00
-
10ef258e84
feat(admin): redesign admin UI with modern layout
petrbalvin
2026-07-12 10:50:49 +02:00
-
5fdf8e5ee8
feat(post): add cover caption metadata
petrbalvin
2026-07-12 10:31:21 +02:00
-
6ee8e066aa
feat(markdown): wrap titled images in figures with caption
petrbalvin
2026-07-12 10:24:45 +02:00
-
1dbeb66be0
fix(admin): clear posts cache after save/delete
petrbalvin
2026-07-12 09:33:30 +02:00
-
d1295c6633
docs: document all development changes in changelog
petrbalvin
2026-06-26 20:49:48 +02:00
-
5cc3a1aabe
feat: return distinct 'draft' error for draft post detail requests
petrbalvin
2026-06-26 20:44:42 +02:00
-
781707a3fd
chore: bump ClassLength limit to 440
petrbalvin
2026-06-26 20:44:03 +02:00
-
2da9ec9bba
refactor: extract feed and sitemap helpers into FeedHelpers module
petrbalvin
2026-06-26 20:43:27 +02:00
-
0ba6e379d7
chore: gitignore config.toml, add config.toml.example
petrbalvin
2026-06-26 20:41:49 +02:00
-
db6da86c93
perf: add Cache-Control header to public API responses
petrbalvin
2026-06-26 20:41:30 +02:00
-
a2f42c6a12
security: add Content-Security-Policy header for admin routes
petrbalvin
2026-06-26 20:41:10 +02:00
-
223405dcb9
perf: invalidate Store cache on individual file mtime changes
petrbalvin
2026-06-26 20:40:21 +02:00
-
95452477d8
chore: add just lint and just fmt recipes
petrbalvin
2026-06-26 20:37:21 +02:00
-
bc2e056b68
feat: add has_next and has_prev to paginated posts response
petrbalvin
2026-06-26 20:36:16 +02:00
-
e11c7d24a4
security: whitelist allowed image MIME types for uploads
petrbalvin
2026-06-26 20:35:46 +02:00
-
25ebf691f7
security: reject file uploads exceeding 10 MB
petrbalvin
2026-06-26 20:35:23 +02:00
-
4abb5585df
perf: memoize published_posts within a single request
petrbalvin
2026-06-26 20:34:37 +02:00
-
5437cef1cd
feat: add fediverse_creator handle for Mastodon attribution

petrbalvinandQwen-Coder
2026-06-26 17:40:48 +02:00
-
1440e9a1fd
release: bump version to 0.2.0
v0.2.0
petrbalvin
2026-06-25 22:10:43 +02:00
-
b24a8cc377
feat: add fulltext search with ?q= parameter
petrbalvin
2026-06-25 22:04:44 +02:00
-
599c63e5bc
feat: add JSON Feed endpoint at /api/volumen/feed.json
petrbalvin
2026-06-25 22:03:40 +02:00
-
73be893bf8
feat: add scheduled publishing with publish_at frontmatter field
petrbalvin
2026-06-25 22:03:00 +02:00
-
52be2bb996
security: CORS preflight, session invalidation, CSRF on preview, symlink containment, and hardening
petrbalvin
2026-06-25 21:55:33 +02:00
-
5b8236c0a4
test: add sitemap.xml endpoint test
petrbalvin
2026-06-25 21:51:32 +02:00
-
51e425e6dd
test: add CLI test coverage
petrbalvin
2026-06-25 21:51:10 +02:00
-
ce57410044
fix: Store#save writes non-default language posts into lang subdirectory
petrbalvin
2026-06-25 21:50:17 +02:00
-
afd8ab4bfb
fix: atomic writes for posts and users.toml
petrbalvin
2026-06-25 21:49:22 +02:00
-
ad00872895
perf: memoize Store#all with mtime-based invalidation
petrbalvin
2026-06-25 21:48:57 +02:00
-
d7f9813484
fix: prevent Config DEFAULTS mutation through deep_merge
petrbalvin
2026-06-25 21:48:10 +02:00
-
263e794669
security: hide draft posts from public detail endpoint
petrbalvin
2026-06-25 21:46:30 +02:00
-
1ca0212197
security: add slug validation, username validation, and template escaping
petrbalvin
2026-06-25 21:45:47 +02:00
-
d26d3b5a5b
fix: strip HTML tags from derived excerpt
petrbalvin
2026-06-25 21:41:58 +02:00
-
4597c685da
test: add RSS feed endpoint tests
petrbalvin
2026-06-25 21:41:19 +02:00
-
2181538691
feat: add language element to RSS feed channel
petrbalvin
2026-06-25 21:40:57 +02:00
-
9dd55adc30
fix: add periodic cleanup of login_attempts hash
petrbalvin
2026-06-25 21:40:37 +02:00
-
7a31b50ca7
docs: add [development] section to CHANGELOG, document in CONTRIBUTING
petrbalvin
2026-06-25 21:37:27 +02:00
-
b2b8156648
refactor: split Server into api_routes and admin_routes modules
petrbalvin
2026-06-25 21:35:07 +02:00
-
140b16b55a
feat: add in-memory rate limiting for login endpoint
petrbalvin
2026-06-25 21:33:16 +02:00
-
2348352fab
feat: add lastmod to sitemap entries
petrbalvin
2026-06-25 21:31:57 +02:00
-
184aa9b3d8
feat: add pubDate to RSS feed items
petrbalvin
2026-06-25 21:31:02 +02:00
-
0a70b74b55
fix: wire session_ttl config into Rack session cookie expiration
petrbalvin
2026-06-25 21:30:20 +02:00
-
dd3efe870e
feat: initial release of volumen — a file-based Markdown blog engine
v0.1.0
petrbalvin
2026-06-21 13:15:06 +02:00