Releases: hrodrig/groot-share
Releases · hrodrig/groot-share
Release list
v0.7.0
Changelog
- 424070c Merge pull request #58 from hrodrig/develop
- 6cbf40d chore(release): prepare v0.7.0
- de464f4 docs(contributing): document main→develop sync after release tag
- 2de6046 docs(security): document fail-open audit and RemoteAddr-only IP logging
- a25bc3f feat(retention): 0 disables keep_last/max_age with safety ceilings
- 94d0602 feat(server): defensive security headers; pin serveBlob Content-Length contract
- e112378 feat(server): pager jump-to-page and first/last navigation
- cd7cfb5 feat(server): purge expired sessions opportunistically on login
- 2ccceba feat(store): parse cluster by position (everything after timestamp)
- 6561ec5 fix(archive): clean share/pin dependents on archive delete
- a52e838 fix(ratelimit): evict expired keys from the limiter map
- cc5277c fix(retention): skip pinned/shared archives during sweep
- f4aa482 fix(server): key login JSON/form branch off Content-Type only
- 40223c7 fix(share): close max_uses race in IncrementShareUse
- b07a071 perf(server): cache completeness badges per archive for 60s
- ecbbbfe perf(server): resolve pin metadata directly, don't open the blob
- daa31b3 perf(store): raise SQLite pool to 4 conns, apply per-connection pragmas
- e539f74 refactor(server): rename mustListShares to listSharesOrNil
- 71e19ac refactor(server): reuse store.FilterInMemory instead of duplicate predicate
v0.6.1
v0.6.0
Changelog
- b87faff Merge pull request #36 from hrodrig/develop
- 77d2287 chore(log): drop redundant listen key from starting record
- 791d839 chore(release): prepare v0.6.0
- cfc5c06 feat(server)!: restructure share routes so vps-s3 S3 keys route
- e13012e feat(server): add resolveArchive helper for vps-s3 share flows
- 7504cad feat(server): pin share URL base via GFS_BASE_URL (fail-closed)
- 04249dc feat(ui): render friendly 404 page with pageShell, JSON for API
- cfd8b88 fix(log): emit listen log after successful bind, not before
- c45b442 fix(ui): dead share links return 410 Gone; share TTL preset/copy feedback; timestamped activity export
- 7ea1023 refactor(config): split validation helpers to pass gocyclo
- 6ced85e refactor(server)!: split delete into explicit JSON vs HTML-form routes
- a17010f refactor(server): route internal 404 call sites through handleNotFound
- d27ca47 refactor(server): use resolveArchive in share flows
- 0ec9c99 style(ui): use paper-plane icon for Share action for visual contrast
- 10f4740 test(server): cover vps-s3 share flows with S3 key containing slashes
v0.5.1
v0.5.0
Changelog
- c6d36c2 Merge pull request #26 from hrodrig/develop
- 643dc12 chore(release): close audit gaps — CHANGELOG heading in sync gate + openpgp note
- caf301b chore(release): prepare v0.5.0
- 64fa19e chore(release): sync version surfaces to v0.4.0 + gate drift
- b6f3569 docs(plan): 10-01 Captures dashboard — summary strip, upload CTA, pin strip
- ad3b8a9 docs(plan): 10-02 Captures facets — CONTEXT + PLAN
- 89a4e10 docs(plan): 10-03 Inline dropzone + XHR upload — CONTEXT + PLAN
- 5a343ad docs(plan): 10-03 SUMMARY + STATE/ROADMAP sync (3/7 plans)
- d08c45b docs(plan): 10-04 Responsive table → card layout — CONTEXT + PLAN
- d9f14cd docs(plan): 10-04 SUMMARY + STATE/ROADMAP sync (4/7 plans)
- 18e9e3c docs(plan): 10-05 Activity filters + admin export + typed confirm — CONTEXT + PLAN
- fed5820 docs(plan): 10-05 SUMMARY + STATE/ROADMAP sync (5/7 plans)
- c790260 docs(plan): 10-06 SUMMARY + STATE/ROADMAP sync (6/7 plans)
- fe6521e docs(plan): 10-06 manifest peek → completeness badge — CONTEXT + PLAN
- 5a764c0 docs(plan): 10-07 SUMMARY + STATE/ROADMAP — Phase 10 complete (7/7)
- 1b1b540 docs(plan): 10-07 share-link admin UI (UX-09) — CONTEXT + PLAN
- ba763ee docs(plan): seed Phase 10 CONTEXT.md from 2026-08-19 lock
- 4c9eb91 feat(server): activity + audit filters via query params + admin CSV/JSON export
- 074a1e1 feat(server): handleHome applies filter + cluster chip counts from full list
- 0e46e54 feat(server): peekManifest gzip-member helper (extras/manifest.json jobs)
- 8d9343b feat(server): pin/unpin endpoints (POST/DELETE /v1/pin/archives/{id...}) + form alias
- c028f6b feat(server,store): Filter struct + parseFilter + ListArchivesFiltered + ClusterCounts
- cc00b61 feat(store): archive_pins schema + Add/Remove/List (idempotent, per-user, cascade)
- 2851343 feat(store): audit filters (actor/action/window) + indexes
- 93fddc3 feat(ui): Captures filter bar — cluster chips + search + time window (query params)
- c1cd23d feat(ui): Captures inventory summary strip — count, bytes, clusters, in-transit, topology
- afca9a3 feat(ui): Share row action on Captures (admin-only, table + card)
- 0a3782c feat(ui): Upload archive primary CTA on Captures page (uploader+ only)
- 5843d9f feat(ui): XHR upload — progress + cancel + duplicate inline
- 0962bb8 feat(ui): activity filter bar + admin export button
- 80d50bd feat(ui): archive cards markup for narrow viewports
- 679f40e feat(ui): completeness badge on local captures (Complete / N of M failed / Failed)
- 078aa4f feat(ui): empty states — no captures yet vs no match (with clear filters)
- a48756d feat(ui): inline dropzone markup in Captures upload CTA
- e4e1eb0 feat(ui): per-user pin strip on Captures (download + unpin form)
- 7cd32b8 feat(ui): share-link admin page — list/create/revoke (server-rendered, copy-once)
- a9b2b49 feat(ui): typed-name confirm on destructive actions (archive/user/key)
- d01b880 refactor(filter): split applyFilter/applyFilterInMemory to keep gocyclo under 14
- 4e0fb5c style(ui): inline upload progress + status CSS
- 8c8b4ea style(ui): responsive card layout — table off / cards on ≤ 719px
- 0cd4595 style(ui): shares-page CSS (copy-once URL, TTL presets, status pills)
- a420700 test(store): lint fixes — misspell + split gocyclo over-14 test
- d7d59c6 test(store): raise coverage margin — share links + Open error paths
- 4b667f4 test(ui): activity filters + admin export + typed-confirm markup
- 9044041 test(ui): archive cards visible to uploader, delete gated by CanDelete
- 0182bae test(ui): inline dropzone + XHR upload coverage; isBrowserForm JSON branch
- 8c997fc test(ui): peek fixture matrix + home completeness badge render
- 2d34f29 test(ui): shares admin — render, copy-once, fail-closed validation, revoke
v0.4.0
Changelog
- e7fcbb0 Merge pull request #22 from hrodrig/develop
- 6cd22f4 Merge pull request #23 from hrodrig/develop
- f71a9cf Merge pull request #24 from hrodrig/develop
- e51a124 ci(release): pin GoReleaser to ~2.16 instead of latest (I-2)
- 6f3b72e docs(blob): justify manager.Uploader nolint (I-3 reviewed, kept)
- 0204c27 feat(share): external share links — create/list/revoke + public /s/{token} (SHARE-01..03)
- ba7da32 fix(config): cookie Secure default true (B-10)
- 9177cda fix(gfs): loops use signal-aware context, not Background (B-13)
- 7988a9a fix(server): ingest internal error returns 500, not 400 (B-5)
- 27f4d5e fix(server): reject raw upload bodies that are not gzip (B-6)
- 7e38c2a fix: delete removes blob before row; GET .../delete 404s (B-14)
- 5b58d71 refactor(auth): drop dead EqualHash helper (B-9)
- cba8f6e release: v0.4.0 — external share links (Phase 9, SHARE-01..03)