Changelog
What we've changed, newest first. Northwick hasn't launched, so everything here is a build we've run on our own repositories. 0.8.0 is the build early access teams will get first.
Versions start with 0 until launch. A minor version (0.7.0) adds or changes behaviour. A patch version (0.7.2) is fixes only. Changes that need you to edit .northwick.yml are marked Breaking.
-
Things we're working on now. No dates, and some of them may change shape before they ship.
- Services for tests, so a sandbox can start a database or cache alongside your code.
- Support for self-managed GitLab.
- Single sign-on for the Larger teams plan.
- More work on plan quality for large changes.
-
Early access build
The first build that people outside our team will use. The waitlist opened the same day. We'll let early access teams in from it a few at a time.
Added
- GitLab groups on gitlab.com. Issues, plans and merge requests work the same way as on GitHub.
- Comment on a Northwick pull request to ask for changes. It treats the comment as a follow-up task on the same branch.
- If your commands still fail after Northwick has tried to fix them, it opens a draft pull request and lists what's failing, instead of giving up without a trace.
- Team settings page for shared budgets and default config.
Changed
- Plans are shorter and say which files Northwick expects to touch.
- Pull request descriptions now separate what changed from why.
Fixed
- Various fixes to how tasks recover after a sandbox restarts.
-
Fixed
- Sandboxes could start with a stale dependency cache after a lockfile changed.
- Plans on issues with very long descriptions were cut off.
- Smaller fixes and cleanup.
-
Fixed
- A reply of
go.orGowasn't recognised as approval. - Two people approving the same plan at once could start two tasks.
- Branch names for repositories with capital letters in their names. See 0.7.1.
- A reply of
-
0.7.1
PulledBuilt and withdrawn before we used it. It broke branch naming on repositories with capital letters in their names. Its fixes are in 0.7.2.
-
Plans go on the issue first
Northwick used to start editing as soon as it had read an issue. Now it writes down what it intends to do and waits for someone to agree.
Added
- Before it edits anything, Northwick posts its plan as a comment on the issue.
- Reply with corrections and it revises the plan and posts it again.
- It starts work when someone on your team replies
go.
Removed
- Breaking: the
auto_startoption. Every task now waits for approval. Remove the key from.northwick.yml; Northwick will warn you if it's still there.
-
Changed
- Better at finding the right files in large repositories and monorepos.
Fixed
- Tasks cancelled before they started still counted against the budget.
-
Fixed
- Budgets reset at midnight server time instead of midnight UTC.
-
Monthly budgets per repository
Added
- Set
budget.tasks_per_monthin.northwick.yml. - When a repository has used its budget, Northwick comments on the issue to say so instead of starting.
- Budgets reset at midnight UTC on the first of each month.
Deprecated
max_tasks, the daily cap from 0.4.0. It still works and logs a warning. We'll remove it before 1.0.
- Set
-
Changed
- Sandboxes start faster on repositories with a lot of dependencies.
Fixed
- Projects using Yarn 4 were detected as npm projects.
-
Fixed
- With a matrix of jobs in GitHub Actions, Northwick only ran the first job's commands.
- Some log output from failed commands was missing from task records.
-
Fixed
- CI config files that use YAML anchors couldn't be read.
-
Test commands from your CI config
The first build we've used on our own repositories every day.
Added
- Northwick reads your GitHub Actions or GitLab CI config to find the commands that test, lint and build your project.
Changed
commandsin.northwick.ymlis now optional. Anything you set there overrides what Northwick finds in your CI config.
-
Config file
Added
.northwick.ymlat the root of a repository, withcommands,branch_prefix,ignore,auto_startandmax_tasks.- Northwick runs your test and lint commands before it opens a pull request, and tries to fix what fails.
Changed
- Internal changes to how tasks are queued and retried.
-
A fresh sandbox for every task
Changed
- Each task runs in a new container that is deleted when the task ends.
- Sandboxes no longer get CI secrets or environment variables.
Removed
- The shared, long-running worker that every task used to run in. Tasks could see files left behind by earlier ones.
-
Pull requests
Added
- Northwick opens a pull request when it's done, instead of leaving a branch for someone to find.
- Pull request descriptions say what changed and link back to the issue.
Fixed
- A long list of early bugs.
-
First internal build
Could read a GitHub issue, edit code and push a branch. It got most things wrong. We're keeping it here for the record.