Releases

Changelog.

What's new in Crit. Release notes pulled automatically from GitHub.

v0.16.3

What’s Changed

Internal refactors

v0.16.2

What’s Changed

Live mode: authenticated apps

crit live now accepts --cookie / --cookie-file (and matching config keys) to forward upstream session cookies through the proxy — useful for server-rendered apps that require login.

General

  • feat: show file renames without content changes like GitHub (#640) by @tomasz-tomczyk in #640
  • fix: use raw bind address for internal HTTP calls to avoid IPv6 mismatch by @tomasaschan in #634 - Thank you!
  • fix: sort files with GitHub byte order instead of localeCompare (#637) by @tomasz-tomczyk in #637 - Thank you @ekisu for suggesting!
  • fix: preserve j/k focus across hover and comment form re-renders (#638) by @tomasz-tomczyk in #638 - Thank you @markjaquith for reporting!
  • fix: align split diff rows positionally to preserve line number order (#647) by @tomasz-tomczyk in #647 - Thank you @pstibrany for reporting!
  • fix: inject crit-agent into all preview HTML pages (#641) by @tomasz-tomczyk in #641
  • fix(windows): retry transient ENOENT during concurrent review reads (#650) by @tomasz-tomczyk in #650

Internal refactors

v0.16.1

What’s Changed

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.16.0…v0.16.1

v0.16.0

What’s Changed

Shareable preview mode

The in-UI Share button now works in preview mode (previously files mode only). An HTML/CSS asset crawler builds a self-contained snapshot — text inlined, binaries base64-encoded — and crit share --preview uploads a standalone snapshot straight from the CLI. The whole Share flow was extracted into a shared module so code-review and preview render identical behavior, and preview comments now round-trip cleanly to crit-web.

  • feat(preview): shareable preview mode — share, comment sync, parity by @tomasz-tomczyk in #626

crit stats

A new crit stats command reports your lifetime review statistics — sessions, total duration, files, and comments — alongside fun insights like your busiest day and longest session. Stats record to ~/.crit/stats.json on approval and daemon shutdown (with dedup), support a --json flag for scripting, and can be turned off entirely via the disable_stats config key.

Session summary on exit

Finishing a review now shows a shareable receipt line in the approval modal — Done reviewing — 12 files · 5 comments · 15m — with a copy button, confetti on approval (respecting prefers-reduced-motion), and the same summary printed to stderr on approved exit.

General

Internal refactors

v0.15.4

What’s Changed

General

Internal

v0.15.3

What’s Changed

Features

Fixes

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.15.2…v0.15.3

v0.15.2

What’s Changed

Features

Fixes

  • fix(watch): rescan CLI dir args between rounds so files created by the agent appear in the UI by @autumnust in #586 - Thank you!
  • fix: restore marker badges and add click-to-scroll for live-mode comments by @tomasz-tomczyk in #580
  • fix: preserve URL path in live mode by @tomasz-tomczyk in #582
  • fix: prevent 404 when clicking comments in preview mode by @tomasz-tomczyk in #583
  • fix: open comments panel when starting a pin comment by @tomasz-tomczyk in #584
  • fix: next_command for live/preview modes includes subcommand prefix by @tomasz-tomczyk in #587
  • fix: prevent flash timer stacking and extract agent name formatter by @tomasz-tomczyk in #589

Documentation

Internal refactors

  • refactor: extract shared agent script list and add version-match for ambiguous agent probes by @tomasz-tomczyk in #588

Contributors

v0.15.1

What’s Changed

General

Fixes

Internal

  • fix: scope pre-commit lint/test to current worktree only by @tomasz-tomczyk in #578
  • fix: assert final upload URL in reply paste test instead of transient placeholder by @tomasz-tomczyk in #571

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.15.0…v0.15.1

v0.15.0

What’s Changed

Live mode

Live mode brings crit’s interactive review experience to running pages — review a live dev server with pin comments anywhere on the rendered page. Invoke it with /crit http://localhost:3000 in your agent chat.

Preview mode

Preview mode does the same for local HTML files: point crit at a built page and it renders in an iframe so you can drop pin comments directly on the output, no server required. Invoke it with /crit index.html in your agent chat.

Fixes

General

Internal refactors

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.14.0…v0.15.0

v0.14.0

What’s Changed

Organization support for sharing

Reviews can now be shared under an organization. The --org and --visibility flags on crit share let you publish to an org with organization, unlisted, or public visibility. The share modal in the browser also gained an org picker with remember-choice persistence.

Features

Fixes

  • fix: reverse stack popover order and clarify base label (#552) by @tomasz-tomczyk in #552 - Thank you @omry for suggesting!
  • fix: pre-release cleanup (dead code, missing style, silent decode error) (#554) by @tomasz-tomczyk in #554

Internal refactors

  • refactor: rename “Layer” to “This commit” in scope toggle (#553) by @tomasz-tomczyk in #553 - Thank you @omry for suggesting!
  • chore(deps): bump mermaid from 11.14.0 to 11.15.0 (#547) by @dependabot in #547
  • chore(deps-dev): bump stylelint from 17.11.0 to 17.11.1 (#548) by @dependabot in #548
  • chore(deps-dev): bump eslint from 10.3.0 to 10.4.0 (#549) by @dependabot in #549
v0.13.1

What’s Changed

Features

  • feat: add resolve/unresolve button to sidebar comment cards by @Amwam in #532 - Thank you!
  • feat: add copy-path buttons to file headers and navbar by @tomasz-tomczyk in #538 - Thank you @menzenski for suggesting!
  • feat(frontend): redesign waiting modal with collapsed prompt and usage tips by @tomasz-tomczyk in #539
  • feat: add HEEx syntax highlighting for .heex/.leex files by @tomasz-tomczyk in #542

Fixes

Internal

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.13.0…v0.13.1

What’s Changed

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.13.0…v0.13.1

Contributors

v0.13.0

What’s Changed

Image copy/paste support in reviews

You can now paste images directly into review comments. Drag-and-drop and clipboard paste are both supported — images are embedded inline in the comment body.

General

Fixes

Security

  • fix: block DNS-rebinding by validating Host header on loopback server by @tomasz-tomczyk in #517 - Thank you @minac for reporting!
  • security: make share_url global-only to prevent auth token exfiltration by @tomasz-tomczyk in #516 - Thank you @minac for reporting!
v0.12.0

What’s Changed

Jujutsu VCS backend

crit now auto-detects .jj (before .git), supports --vcs jj and "vcs": "jj" in config, resolves the review base via trunk() with main / master / trunk bookmark fallback, and uses jj diff --git so existing diff rendering works unchanged. Colocated jj/git repos default to jj.

Vim-style visual line mode

Press Shift+V on a focused block to enter visual line mode; j/k extend the selection from the anchor; c opens a comment form spanning the range; Esc or Shift+V exits. Works for markdown line-blocks and diff lines (split + unified). The focused block’s left accent turns amber while in visual mode.

General

Integrations

Fixes

Internal refactors

v0.11.0

What’s Changed

Big milestone! Crit crossed more than 500 commits and 250 stars. You can now install it directly from homebrew and we released a Windows version!

Thank you to everyone who contributed to get us here! I’d appreciate if you would share it with your colleagues or on Twitter! It helps a lot!


crit is now in homebrew-core — no tap needed. If you installed from the tap, upgrade once with:

brew uninstall crit && brew untap tomasz-tomczyk/scratch && brew update && brew install crit

Future updates will arrive via brew upgrade like any other formula.

Windows + WSL support

feat: add Windows + WSL support replaces Unix-only syscalls with cross-platform abstractions, adds rundll32 browser launch on native Windows, and keeps the existing WSL fallback chain. crit now works end-to-end on Windows natively.

General

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.10.5…v0.11.0

v0.10.5

What’s Changed

A maintenance release with broad fixes across the GitHub PR roundtrip, the comment-sync push/pull pipeline, and the local review UI — plus accessibility polish on the sidebar resize handles, a distinct “Approved” state on the review-finish modal.

General

Fixes

Documentation

Internal refactors

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.10.4…v0.10.5

Contributors

v0.10.4

What’s Changed

Resizable sidebars

The file-tree panel and the comments panel both have drag handles on their inner edge. Widths persist across runs (consolidated into a single crit-settings cookie alongside the other UI prefs).

General

Internal refactors

  • chore(deps-dev): bump eslint from 10.2.1 to 10.3.0 by @dependabot in #416
  • chore(deps-dev): bump stylelint from 17.9.0 to 17.9.1 by @dependabot in #417

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.10.3…v0.10.4

v0.10.3

What’s Changed

PR-scoped and commit-range review

crit pr 1234 opens the PR diff scoped to the layer you’re reviewing, with a stack popover for hopping between branches in the chain. crit --range A..B does the same for any commit range. The popover surfaces the default branch as a non-interactive root marker and lists every reachable tip with full-stack vs layer scope toggles, so reviewing a stacked diff feels like reviewing a single PR.

Review-level comments

General feedback that doesn’t belong on a specific line now lives in a dedicated “Review conversation” section. Add, reply, edit, resolve - same threading model as line comments, but for the review as a whole. Drafts you’re typing survive sibling state changes (adding a reply elsewhere no longer wipes your in-progress comment).

Fixes

Documentation

  • docs(integrations): mention markdown in replies; print URL on daemon start by @tomasz-tomczyk in #401 (Thanks @hbogaeus for the suggestion!)
  • docs: surface crit pr subcommand and –scope/–remote in printHelp by @tomasz-tomczyk in #412

Internal refactors

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.10.2…v0.10.3

v0.10.2

What’s Changed

Note: You might need to run crit auth login again to link your profile properly for the future.

v0.10.1

What’s Changed

Comments panel redesign

The comments panel has been rebuilt with a segmented filter (All / Open / Resolved) and collapsible groups. Pair it with the new “hide resolved comments” setting (h shortcut) to focus on what’s still open during a review.

  • feat: redesign comments panel with segmented filter and collapsible groups by @tomasz-tomczyk in #354 - thanks @omervk for suggestions in this area!

General

Internal refactors

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.10.0…v0.10.1

v0.10.0

What’s Changed

Diff context expansion

You can now expand collapsed diff sections directly in the review UI - click gutter icons to reveal context above, below, or between hunks. Small gaps auto-expand, and sections with comments unfold automatically. Thanks @omry for suggestions in this area!

  • feat: auto-expand small unchanged gaps between diff hunks (#337) by @tomasz-tomczyk in #337
  • feat: add expand controls before first and after last diff hunk (#338) by @tomasz-tomczyk in #338
  • feat: expand diff context incrementally (20 lines per click) (#339) by @tomasz-tomczyk in #339
  • feat: GitHub-style diff expand controls with gutter icons (#343) by @tomasz-tomczyk in #343
  • fix: auto-expand diff spacers when comments exist on folded lines (#333) by @tomasz-tomczyk in #333

Comment carry-forward

Review comments now follow the code - when lines move out of a diff hunk, comments render inline at their outdated position instead of disappearing.

  • feat: extend comment carry-forward to code files (#324) by @tomasz-tomczyk in #324
  • feat: render outdated comments inline when lines leave diff hunks (#325) by @tomasz-tomczyk in #325
  • fix: preserve GitHubID in carryForwardComment to prevent duplicate PR comments (#340) by @tomasz-tomczyk in #340

Sapling SCM support

crit now works with Sapling in addition to Git. This includes automatic VCS detection, branch management, and all existing review workflows. (Thanks @omry for support!)

General

  • feat: migrate to crit design system (#327) by @tomasz-tomczyk in #327
  • feat: print review file path in crit fetch output (#341) by @tomasz-tomczyk in #341
  • fix: add response.ok checks and fix doFinishReview error recovery (#344) by @tomasz-tomczyk in #344
  • fix: preserve reply form state when opening new comment forms (#323) by @tomasz-tomczyk in #323
  • fix: match reply form font size to comment form (#322) by @tomasz-tomczyk in #322
  • fix: add –no-ext-diff to git diff commands to support external diff tools (#318) by @Amwam in #318
  • fix: eliminate ARM64 data race on Server.session pointer (#328) by @tomasz-tomczyk in #328
  • fix: optimize LCS diff from O(m*n) to O(n) space (#329) by @tomasz-tomczyk in #329
  • fix: log writeJSON encode errors instead of silently dropping them (#331) by @tomasz-tomczyk in #331
  • fix: wrap errors in atomicWriteFile with operation context (#330) by @tomasz-tomczyk in #330
  • fix: prevent stale pointer writes in RefreshDiffs (#345) by @tomasz-tomczyk in #345
  • chore: Add benchmarks for ComputeLineDiff to catch LCS performance regressions (#332) by @tomasz-tomczyk in #332
  • chore: Add wt.toml config for worktree node_modules sharing by @tomasz-tomczyk

Contributors

v0.9.3

What’s Changed

General

  • feat: include orphaned file metadata in share payload (#305) by @tomasz-tomczyk in #305
  • fix: resolve WCAG AA color contrast violations (#274) (#301) by @tomasz-tomczyk in #301
  • fix: add missing –fg-on-accent to light theme, remove dead vars, strengthen CSS guardrails (#315) by @tomasz-tomczyk in #315
  • fix: use server-side Live field for live badge instead of reply author heuristic (#311) by @tomasz-tomczyk in #311
  • fix: resolved live threads now collapse correctly (#308) by @tomasz-tomczyk in #308 - thanks for reporting Aditya!
  • fix: reset viewed state when file content changes between rounds (#310) by @tomasz-tomczyk in #310
  • fix: support crit pull across gh CLI versions (#299) by @omry in #299 - thanks!
  • fix: improve browser launching on WSL (#298) by @omry in #298 - thanks!

Tests & internal

Contributors

v0.9.2

What’s Changed

Content-based comment anchoring

When you leave a comment, crit now stores the full text of the commented lines as an anchor. During carry-forward between rounds, if the LCS-remapped line no longer matches the anchor text, crit searches the entire file for the original content. If multiple matches exist, it picks the one closest to the LCS-suggested position. Comments land on the right code even after refactors that shift line numbers.

  • feat: content-based comment anchoring for carry-forward positioning by @tomasz-tomczyk in #296

Orphaned comments on removed files

When a file receives comments and is later deleted from the branch, those comments used to vanish silently. Now crit detects removed files that still have comments and surfaces them in the UI so nothing gets lost.

General improvements

Internal refactors

  • fix: audit cleanup — comment index perf, CSS fixes, test isolation by @tomasz-tomczyk in #293
  • fix: audit cleanup — orphaned session files, safe type assertions, config docs by @tomasz-tomczyk in #292
  • chore: replace .crit.json references with “review file” terminology by @tomasz-tomczyk in #276
  • chore: add quality guardrails — linting, accessibility, rules by @tomasz-tomczyk in #273
  • fix: prevent flaky E2E test by adding loadPage buffer before comment read by @tomasz-tomczyk in #277

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.9.1…v0.9.2

Contributors

v0.9.1

What’s Changed

The included agent plugins & skill files got a little cleaner. /crit is the only user-facing command. You can still ask the agent to comment using crit or share and it should load the appriopriate skill.

Centralized review storage

Review data now lives in ~/.crit/reviews/<key>.json instead of <repo>/.crit.json. Each branch gets its own isolated storage, so switching branches no longer causes comment bleed or round number conflicts. Thanks to @omervk for continuous feedback leading to this improvement!

Settings panel

The Settings tab shows detected integrations and lets you change the content width used in file mode (new setting).

  • feat: settings panel with config status, content width toggle by @tomasz-tomczyk in #261
  • fix: settings panel polish — independent copy snippets, agent cmd layout by @tomasz-tomczyk in #268

Fixes

Documentation

Internal refactors

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.9.0…v0.9.1

Contributors

v0.9.0

What’s Changed

crit auth brings login, logout, and whoami to the CLI, backed by the oAuth Device Flow. Pair it with crit.md (we use GitHub for authentication), or self-host crit-web with your own oAuth app if you need a private stack.

You don’t need an account to share; logging in is optional - for now it just makes it easier to find your reviews on crit.md. Expect more signed-in features in future releases.

Changes

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.8.3…v0.9.0

Contributors

v0.8.3

What’s Changed

This release eliminates the daemon startup timeout that blocked large repos — session init is now fully deferred, so the browser opens instantly while files load in the background. PR detection was also moved off the critical path, cutting another ~6s from perceived startup. Several race conditions and edge cases around scope cookies, file-arg sessions, and round completion are fixed.

Faster startup

Fixes

Contributors

v0.8.2

What’s Changed

When a review has more than 100 files, crit now eagerly loads only the first 100 (content + diff). The rest appear as collapsed headers and load on demand when you expand them, with a loading spinner and a 30-second diff timeout. Keeps the UI snappy on large changesets.

  • feat: lazy file loading for large changesets by @tomasz-tomczyk in #227 - inspired by a report from Brian K - thank you!

A new dropdown in the header lets you change which branch diffs are computed against, following GitHub’s [base ▾] ← current-branch layout. No more noisy diffs when your branch was forked from a non-default branch.

General

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.8.1…v0.8.2

v0.8.1

What’s Changed

Security

Features

Fixes

Full Changelog: https://github.com/tomasz-tomczyk/crit/compare/v0.8.0…v0.8.1

Contributors

v0.10.0

What’s Changed

Preview review mode

crit preview snapshots can now be shared and reviewed in the browser. ReviewLive renders the snapshot in an iframe with viewport toggles and a DOM pin panel, and the same review chrome (comments side panel + settings overlay) is now shared across files and preview modes. This is the hosted side of the shareable preview work.

Review experience

Marketing site revamp

Internal refactors

Dependency updates

Full Changelog: https://github.com/tomasz-tomczyk/crit-web/compare/v0.9.0…v0.10.0

v0.9.0

What’s Changed

Multi-tenant organizations

Organizations now get their own URL slugs and isolated workspaces, laying the groundwork for team-based access control and billing.

Self-hosted SSO proxy support

Self-hosted deployments behind an authentication proxy (e.g., Authelia, Authentik, OAuth2 Proxy) can now pass trusted headers to crit-web, so sharing and other authenticated actions work without a second login.

Features

Fixes

Internal refactors

Dependencies

Full Changelog: https://github.com/tomasz-tomczyk/crit-web/compare/v0.8.0…v0.9.0

v0.8.0

What’s Changed

Self-hosted authentication & admin

Review experience

Homepage & install

Fixes

Internal

Full Changelog: https://github.com/tomasz-tomczyk/crit-web/compare/v0.7.0…v0.8.0

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

General

Fixes

Internal refactors

Full Changelog: https://github.com/tomasz-tomczyk/crit-web/compare/v0.6.0…v0.7.0

v0.6.0

What’s Changed

Conversations on review comments

Review-level and inline comments now support replies. The LiveView already had a generic add_reply handler — this release wires up the UI for review-level cards (which were missing it), surfaces an Edit button on the right side, and lets the review owner resolve any thread (not just their own). The keyboard flow also matches the CLI: text selection no longer auto-opens the editor — press c to start a comment.

Optional Sentry error monitoring

Hosted crit-web now ships exception monitoring when SENTRY_DSN is set. Privacy hardening throughout: request bodies, cookies, comment text, and DOM/console breadcrumbs are scrubbed before events leave. Uses Req (existing dep) instead of pulling in Hackney. Privacy policy was updated to disclose this on the hosted deployment.

Share-page hardening

The public /r/:token page now sets Referrer-Policy: no-referrer so destination URLs don’t leak the share token, and the global rate limiter applies to the share endpoint specifically.

Features

Fixes

Internal refactors

Full Changelog: https://github.com/tomasz-tomczyk/crit-web/compare/v0.5.0…v0.6.0

v0.5.0

What’s Changed

This release is a major UX refresh across crit-web. The dashboard, marketing header, and review meta header have been redesigned around a cohesive identity system, and the entire app now runs on the crit design system with WCAG AA contrast.

Dashboard & marketing redesign

The dashboard now leads with a guided onboarding empty state, file snippet previews on every review, and an identity popover with a self-hosted indicator. The marketing header has been rebuilt to match the dashboard chrome, and mobile review listings are finally first-class.

Review experience

The review page gets a meta header with author and owner-delete, a redesigned comments panel with segmented filter and collapsible groups, and a hide-resolved toggle for inline comments. Word-diff is now powered by @sanity/diff-match-patch for better accuracy, and orphaned files render in parity with crit local.

General

Documentation

Internal refactors

Full Changelog: https://github.com/tomasz-tomczyk/crit-web/compare/v0.4.0…v0.5.0

Contributors

v0.4.0

What’s Changed

Device flow authentication

The CLI can now authenticate against crit-web using the OAuth device flow. Users visit a URL to authorize, and the CLI picks up the session automatically — no manual code entry required.

  • feat: add device flow auth endpoints and consent screen by @tomasz-tomczyk in #79
  • feat: simplify device auth — remove user code entry, use URL-based session linking by @tomasz-tomczyk in #80

Dashboard and settings

  • feat: split dashboard into personal + admin views with site-wide sign-in by @tomasz-tomczyk in #82
  • feat: add Settings page with API tokens and account deletion by @tomasz-tomczyk in #81
  • feat: settings panel and content width toggle (crit parity) by @tomasz-tomczyk in #84

Review viewer

Fixes

Tests

Internal refactors

  • chore: remove design spec and plan docs by @tomasz-tomczyk
  • chore(deps): bump mermaid from 11.13.0 to 11.14.0 in /assets by @dependabot in #74
  • chore(deps-dev): bump lazy_html from 0.1.10 to 0.1.11 by @dependabot in #75
  • chore(deps): bump hammer from 7.2.0 to 7.3.0 by @dependabot in #76

Marketing pages

v0.3.0

What’s Changed

This release brings GitHub OAuth login to crit-web, completing the authentication story for hosted users. Alongside that, the two-way review workflow gets its web-side half — crit fetch now syncs rounds and comments back from the web, with a round diff UI to see what changed. Mobile gets a significant overhaul too: a proper dashboard header with hamburger menu, a tokens page, and a round of polish across the review UI.

GitHub OAuth login

Users can now sign in with their GitHub account via OAuth — no manual token setup required. The privacy policy and terms of service have been updated to cover what data is stored and how it’s used.

Two-way review workflow

The share sync feature now upserts rounds, shows a round diff UI, and propagates comments — giving you a full picture of what changed between shares. Pair this with the new crit fetch command to pull web comments back into your local session.

  • feat: share sync — upsert rounds, round diff UI, comment propagation (#51) by @tomasz-tomczyk in #51
  • feat: add crit fetch support for two-way review workflow (#55) by @tomasz-tomczyk in #55

Mobile

Comment navigation

  • feat: add prev/next comment navigation with ] and [ shortcuts (#57) by @tomasz-tomczyk in #57
  • fix: account for sticky file header in comment navigation scroll (#67) by @tomasz-tomczyk in #67

Self-hosting

Fixes

  • fix: suggestion diff now shows original quote as before-line and works in multi-file reviews (#53) by @tomasz-tomczyk in #53
  • fix: don’t encourage AI to resolve comments (#56) by @tomasz-tomczyk in #56
  • fix: parity ports from crit, fix dashboard tests, format heex (#60) by @tomasz-tomczyk in #60
  • fix: audit fixes — session key, transaction safety, auth dedup, tests (#61) by @tomasz-tomczyk in #61
  • fix: audit frontend fixes — resize leak, CSS vars, ARIA, inline script (#62) by @tomasz-tomczyk in #62
  • fix: revert green stats to text-green-400, add desktop API Tokens link, widen footer (#63) by @tomasz-tomczyk in #63

Internal refactors

  • style: replace arbitrary font-size classes with Tailwind scale by @tomasz-tomczyk
  • test: isolate review_live tests from SELFHOSTED env var (#65) by @tomasz-tomczyk in #65
  • chore(deps): bump phoenix_live_view from 1.1.27 to 1.1.28 (#58) by @dependabot in #58
  • chore(deps): bump bandit from 1.10.3 to 1.10.4 (#59) by @dependabot in #59

Full Changelog: https://github.com/tomasz-tomczyk/crit-web/compare/v0.2.2…v0.3.0

Contributors

v0.2.2

What’s changed

  • Support individual DB_HOST, DB_USER, DB_PASSWORD, DB_NAME (and DB_PORT) env vars as an alternative to DATABASE_URL
  • Add DB_SSL=true for encrypted database connections (no cert verification — recommended for AWS RDS)
  • Add DB_SSL_CA_CERT=/path for full verify_peer SSL with a custom CA certificate
v0.2.1

What’s Changed

Full Changelog: https://github.com/tomasz-tomczyk/crit-web/compare/v0.2.0…v0.2.1

Contributors

v0.2.0

What’s Changed

We have a new home - https://crit.md/ - tell your friends! The previous domain, crit.live will continue to work for now.

General

SEO / Static pages

Internal improvements

  • Fetch integration snippets at runtime instead of compile time (#32) by @tomasz-tomczyk in #32
  • fix: move integrations inline script to app.js and update integration metadata by @tomasz-tomczyk
  • fix: apply mix format to HEEx templates by @tomasz-tomczyk
  • fix: use 308 redirect to preserve POST method on host redirect (#35) by @tomasz-tomczyk in #35
  • fix: honor forwarded https on canonical host redirects by @tomasz-tomczyk
  • fix: demo review leaking non-imported replies by @tomasz-tomczyk

Full Changelog: https://github.com/tomasz-tomczyk/crit-web/compare/v0.1.1…v0.2.0

Contributors

v0.1.1

What’s Changed

Docs

Full Changelog: https://github.com/tomasz-tomczyk/crit-web/compare/v0.1.0…v0.1.1

v0.1.0

Initial open source release

The hosted share target for crit — share code reviews with a link.

Features

  • Share reviews from the crit CLI
  • Review page with inline comments, keyboard shortcuts, file tree, theme switching
  • Multi-file review support
  • Comment creation, editing, and deletion with author identity
  • Table of contents for markdown documents
  • Auto-expiring reviews (30 days of inactivity)

Self-hosting

  • Docker image published to GHCR (ghcr.io/tomasz-tomczyk/crit-web:0.1.0)
  • Auto-migrations on container startup
  • Configurable SSL, URL scheme, and port for reverse proxy setups
  • Health check endpoint at /health
  • Example docker-compose in contrib/

See the README for setup instructions.