Back to blog
·4 min read·Cell Webb

Why Review-Before-Publish Is Free

Review before publishing used to be a Pro feature. Why paywalling the safety check on AI output was backwards, and what changed when we ungated it.

The argument started with a checkmark. On the KittyLog pricing table, which column gets "Review before publishing"?

Until April 2026 the answer was Pro and Business. Free and Plus repositories ran on auto-publish: the AI generated an entry and it went live with no human in the loop. Reading a draft before it became public was something you paid for. Issue #1080 laid the contradiction out plainly, and once it was written down we did not have a good answer for it.

A safety feature behind a paywall

KittyLog generates changelog entries with AI, and the honest thing to say about AI-generated text is that a person should be able to check it before it goes in front of users. That is why the review flow exists at all: when you enable it, the draft sits in the dashboard so you can read and edit it. A separate 24-hour auto-publish option is enabled by default; turn that off and nothing is public until you click Publish.

Charging for that meant we were taxing exactly the behavior we wanted. A Free user evaluating KittyLog judged it on raw model output published straight to a public page, which is the exact experience we would criticize if someone else shipped it. The people who could see the careful version had already paid, so the feature was persuading nobody who still needed persuading.

There was no cost argument on the other side, either. Review-before-publish is a UX gate, not a compute gate. The generation happens whether or not a draft waits for approval; holding it costs nothing. The paywall existed because a feature matrix needed differences between tiers, and this was a bad one to pick.

So on April 25, 2026, we flipped review_before_publish: true for Free and Plus in api/config/tiers.yaml. All four tiers now carry it, and the pricing table, FAQ, and docs were updated in the same commit so no surface kept the old claim.

The gates were already rotting

The same commit fixed a bug that made the case better than the issue thread did. The frontend gated the review toggle at Plus and above. The backend gated it at Pro and above. A Plus subscriber could flip the toggle in the settings UI and get rejected server-side.

Two gates on one feature had drifted apart, and the mismatch went unnoticed until we removed both. The tests did not catch it either. The should_auto_publish tests were mocking the wrong import path and passing by coincidence, so they got rewritten while we were in there. Removing the gates entirely deleted more code than it added: roughly 100 lines gone against 56 added, most of the survivors being honest tests.

The decision was not purely principled. Issue #1080 is frank that it was also a conversion argument: the users most likely to be evaluating us were the only ones who never saw the feature that distinguishes us. But the principled version and the commercial version pointed the same direction, which is usually a sign the original gate was wrong.

One thing the change did not do: force review on anyone. It is still a per-repository setting, and repositories that want fully hands-off auto-publish keep it. KittyLog does not insist on a human in the loop, and wanting one is no longer a billing question.

Free features still get real fixes

A reasonable worry about ungating a feature is that it becomes unowned. The record since says otherwise. In May 2026 a bug report came in about the review popup itself: choose Edit from the review-and-publish popup, save your changes, and the popup vanished, dumping you back at the list instead of returning to the Publish and Edit options.

That is a bug you only hit by actually using the flow, editing a real draft, and expecting to publish right after. The fix merged on July 20, 2026: the popup now steps aside while the edit modal is open and comes back showing the refreshed content, with a failing-first test reproducing the exact click path. Small fix, but it is the kind of wear pattern a decorative feature never develops.

What the structure rewards now

The mechanism is the part worth keeping. Before the change, the product earned nothing when a Free user hesitated over a draft; the careful path was upsell inventory. After it, the cheapest way to use KittyLog and the most careful way to use it are the same way. The paid tiers differentiate on things that genuinely cost something to provide, like private and organization repositories, or PR and issue context in the generation prompts.

The structure now rewards the checking itself: a user who reads a draft before publishing gets a better changelog, and KittyLog gets published output it can stand behind, which is worth more to us long-term than a checkmark in the Pro column. That incentive applies on every tier, including the free one.

Source records

  • Issue #1080, "Ungate Review Before Publishing — move from Pro+ to Free".
  • Commit dc8c34dc, the tier change, gate-mismatch fix, and marketing-copy updates.
  • Issue #1277 and PR #1313 (commit 83697c6a), the review-popup edit-save fix.
  • api/config/tiers.yaml, where review_before_publish: true on all four tiers.

Ready to automate your changelogs?

Try KittyLog free - no credit card required.

Get Started Free