Today we’re excited to announce a big upgrade to the version control experience in Knock: commit diffs.

If you’re a regular Knock user, those two words probably have you excited. Here’s what you’ll see in Knock as of today:

  • You can now view a commit in Knock and see what’s changed between that commit and the prior version of the workflow.
  • If you’re promoting a given commit to an environment, you’ll see a diff between that commit and the latest state of the destination environment.
  • Commit diffs are available on your full commit log, so you can view the commit history for a workflow and know exactly what’s changed.
Commit diffs in Knocks version control

I just tried the new commit/push flow and it’s excellent. Really nice work.

Vercel
Aaron Morris
Aaron MorrisSoftware Engineer

Why commit diffs are important

First, a quick primer on version control in Knock. Everything in Knock is versioned in commits and managed across environments.

When you make a change to a resource in Knock, you commit that change to a development environment where it can be tested. Once you’re ready, you promote that commit to your production environment.

Behind the scenes, the workflows and templates you work with in Knock are just code. This is how we enable our CLI, where you can pull Knock workflows and templates into your local developer workflow, or to manage as part of your CI/CD workflow.

By bringing GitHub-level code diffing into Knock, you get the same level of visibility into the Knock version control workflow as you do in your own codebase. It’s easier to track the changes you’re making to your notification system, and to understand what will be pushed to your customers when you promote a change to your production environment.

What commit diffs enable moving forward

Bringing commit diffs into Knock also enables new work that we’re excited to bring you later this year:

  • Revert a commit. Revert the state of a workflow to a prior commit. Use commit diffs to see what will be removed when you revert a commit.
  • Branching. Create different branches of work in Knock to separate work between different teams and avoid change conflicts. View code diffs across branches to compare changes.
  • Source control. Use your own repo as the source-of-truth for Knock workflows and templates. View commit history in Knock or in your SCM of choice (e.g. GitHub).

Our top focus at Knock is bringing notification infrastructure to developers. We want working with Knock to feel like working with infrastructure you built yourself. An integrated part of your developer workflow, not a dashboard you need to log into and manage separately from the rest of your stack.

We’re excited to push that vision forward with commit diffs and the future work it enables. As always, let us know what feedback you have and what you want us to build next.

Knock on.