-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
28 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
--- | ||
title: "BREAKME.md" | ||
description: "BREAKME.md is a new convention across Tuist repositories to keep track of breaking changes that we would like to introduce in the future." | ||
tags: ["Open Source"] | ||
--- | ||
|
||
If you are responsible for maintaining a [semver](https://semver.org/)-versioned piece of software, | ||
you might have come across a scenario where you believe **a breaking change would lead to a better design**, | ||
but you can't because it would break the existing users of your software. | ||
|
||
This is a need that we sometimes have when working on any of the [Tuist](https://github.com/tuist) repositories, | ||
and I found it a bit annoying having to note them down in issues that can get lost over time. | ||
The need for introducing a breaking change, | ||
and the rationale behind it, | ||
needs to be part of the Git history of the repository, | ||
close to the changes that prompted the developers to consider it. | ||
Therefore, | ||
I decided to [introduce](https://github.com/tuist/XcodeGraph/pull/17) a new convention across Tuist repositories: | ||
a `BREAKME.md` file. | ||
|
||
As its name suggests, | ||
it contains a list of breaking changes that we would like to introduce in the future. | ||
Every change should include what needs to be changed, and the rationale behind it. | ||
When working on future releases, | ||
developers can refer to this file to understand the breaking changes that we have been considering. | ||
|
||
With that file, I feel more comfortable proposing breaking changes, | ||
since I know that they won't get lost in the noise of issues and pull requests. |