v0.7.0
What's Changed
This release brings sharing controls to crit-web. Reviews are now unlisted by default and owners can promote them to public; a new comment policy lets you decide whether replies are open to anyone, signed-in users only, or disabled entirely. The review surface itself got more flexible too — sidebars are resizable, the comments panel is draggable, and there's a /raw/<file> view for plain-text access.
Sharing controls
- feat: review public visibility (unlisted by default, owner-promotable) by @tomasz-tomczyk in #169
- feat: comment policy controls (open / logged-in only / disabled) by @tomasz-tomczyk in #172
Review surface
- feat: resizable sidebars + draggable comments panel by @tomasz-tomczyk in #177
- feat: add raw file view at /r/:token/raw/*file_path by @tomasz-tomczyk in #180
General
- feat: add resolved_round to comments (mirror crit timeline) by @tomasz-tomczyk in #175
- feat: add custom 404 page by @tomasz-tomczyk in #158
- fix(security): gate raw file endpoint behind selfhosted OAuth by @tomasz-tomczyk in #182
- fix: block protocol-relative open-redirect + expand test coverage by @tomasz-tomczyk in #167
- style: align textarea line-height with rendered comment bodies by @tomasz-tomczyk in #171
- style: bump comment input font-size to 14px by @tomasz-tomczyk in #168
- polish marketing pages: founder section, screenshots, testimonials, stats receipt by @tomasz-tomczyk in #159
- docs: rewrite AGENTS.md with blocks by @tomasz-tomczyk in #165
- docs: update contact email addresses to crit.md domain by @tomasz-tomczyk in #163
Fixes
- fix: backward selection across blank-line boundary by @tomasz-tomczyk in #181
- fix: close get-prompt modal on backdrop click by @tomasz-tomczyk in #179
- fix: add aria-valuenow to focusable separator handles by @tomasz-tomczyk in #178
- fix: render TOC after content arrives in init handler by @tomasz-tomczyk in #170
- fix: confirm before discarding non-empty comment drafts on Esc by @tomasz-tomczyk in #157
- fix: stop flashing disconnect banner on transient mobile websocket drops by @tomasz-tomczyk in #155
- fix: frontend audit cleanup (resize leak, a11y, styling regime) by @tomasz-tomczyk in #183
Internal refactors
- refactor: narrow review_round_snapshot status enum to actual values by @tomasz-tomczyk in #176
- ci: register Sentry releases on deploy by @tomasz-tomczyk in #156
- chore(deps): bump sentry to 13.0 and @sentry/browser to 10.51 by @tomasz-tomczyk in #166
- chore(deps): bump bandit from 1.10.4 to 1.11.0 by @dependabot in #160
Full Changelog: v0.6.0...v0.7.0