Time flies, and this is the last update before we close the 2021 year. That's exciting!
This quarter was no exception to the rule, and Mergify continued to grow in its number of users, repositories, and automated pull requests. We're thrilled to see more and more users leveraging our engine to achieve optimized workflow.
We hope that the novelties brought to you during this last quarter will help you do more of this. We're happy to get your feedback!
👋 Strict Merge Mode Deprecation
We have deprecated the
strict mode from the
merge action. It is now superseded by the
queue action which offers way more features.
You can read our announcement about this to learn how to migrate.
🟢 New Permissions
We've requested new permissions to improve our compatibility with GitHub:
- Read-only access to branch settings is necessary to introspect branch protection settings. Those settings are now automatically injected in your pull requests rules and correctly reported in the Mergify summary.
- Write access for workflow. This allows Mergify to automatically merge pull requests which modify the
🙏 Squash Action
This quarter, we introduced a new action: squash. Squash allows you to squash all the commits in the pull request. When doing so, this action offers three methods to build the commit message of the resulting commit:
- Use the commit message from the first commit. That mimicks what a fixup commit
git rebasewould do;
- Use GitHub default squash format, which concatenates every commit message;
- Use the title and body of the pull request.
This action is available as a command too.
🔄 Update method in queue
The queue action now supports the
rebase method. This was the last missing item to make this new action 100% compatible with the deprecated strict merge mode.
Mergify can now rebase your pull requests before testing their mergeability.
📥 Batch Queue
The batch queue is the most significant feature for this quarter for sure. The merge queue now allows to batch pull requests when testing them for mergeability. This is a good trade-off if you want to use a merge queue while keeping your CI cost low.
You can also combine this feature with speculative checks to make your merge even faster.
✅ Disabling In-place Checks
When using speculative checks, Mergify will update the first pull request in the queue. By default, Mergify will do an in-place update, meaning it will update the pull request itself by using the
rebase method. The other pull requests in the queue will be tested with draft pull requests combining multiple pull requests.
A new option
allow_inplace_speculative_checks now allows you to configure whether Mergify can use the pull request itself to test its mergeability or if it needs to create a draft pull request — even for the first pull request in the queue.
🌎 Timezone support
The time-based conditions now support timezones. This is a significant improvement, especially for timezones using daylight saving time. This is now taken into account, and you can make sure your pull requests are merged right in time in the morning — once your coffee is poured.
If you missed it, we published a long explanation of how our time-based conditions work. Read it to learn more about Mergify engine internals!
📦 Large Repositories for Everyone
We have lifted the repository size limitation for
backport action. As we've made considerable performance improvements to our engine, it seemed fair to remove this limitation.
Repository larger than 512 MB can now use those actions.
💧 New Stream System
We spent an enormous effort this quarter to scale up our services. Part of this is an extensive redesign on how we handle the hundreds of thousands of GitHub events we receive every day. That means Mergify is now more reactive in handling your pull requests. You can read detail on this in the blog post below.
That's all for this quarter. We hope you'll make great use of those new features in your projects. Don't hesitate to reach out to our team if you need any help!