# How to register breaking changes?

**URL:** https://discourse.julialang.org/t/how-to-register-breaking-changes/69451
**Category:** General Usage
**Tags:** package, versioning
**Created:** [October 8, 2021, 8:06pm UTC](https://discourse.julialang.org/t/how-to-register-breaking-changes/69451 "2021-10-08T20:06:15Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![Johncowk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johncowk/32/8032_2.png) [@Johncowk](https://discourse.julialang.org/u/Johncowk)
#### Post date: [October 8, 2021, 8:06pm UTC](https://discourse.julialang.org/t/how-to-register-breaking-changes/69451/1 "2021-10-08T20:06:15Z")

</div>

I made some breaking changes to one of my package and consequently incremented the version number of 0.1 instead of 0.0.1, but this is not recognized as such by the bot so now my [pull request](https://github.com/JuliaRegistries/General/pull/46357) has to be merged manually. What did I do wrong?

---

<div class="post-metadata">

### Author: ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)
#### Post date: [October 8, 2021, 8:07pm UTC](https://discourse.julialang.org/t/how-to-register-breaking-changes/69451/2 "2021-10-08T20:07:22Z")

</div>

```julia
 1.1.2 skips over 1.1.0

```

[https://github.com/johncwok/CategoricalTimeSeries.jl/blob/99dbdea6bb4856fb28ca83225cf1a4a3ec065599/Project.toml#L5](https://github.com/johncwok/CategoricalTimeSeries.jl/blob/99dbdea6bb4856fb28ca83225cf1a4a3ec065599/Project.toml#L5)

breaking change will need to be `1.1.0` or `2.0.0` since right now you have:  
[https://github.com/JuliaRegistries/General/blob/cd4ed715220eb43ce526a94a64728e5c954014af/C/CategoricalTimeSeries/Versions.toml#L7](https://github.com/JuliaRegistries/General/blob/cd4ed715220eb43ce526a94a64728e5c954014af/C/CategoricalTimeSeries/Versions.toml#L7)

---

<div class="post-metadata">

### Author: ![Johncowk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johncowk/32/8032_2.png) [@Johncowk](https://discourse.julialang.org/u/Johncowk)
#### Post date: [October 8, 2021, 8:08pm UTC](https://discourse.julialang.org/t/how-to-register-breaking-changes/69451/3 "2021-10-08T20:08:59Z")

</div>

Can I just modify the `project.toml` to 1.1.0 and create another pull request or will this create issues?

---

<div class="post-metadata">

### Author: ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)
#### Post date: [October 8, 2021, 8:09pm UTC](https://discourse.julialang.org/t/how-to-register-breaking-changes/69451/4 "2021-10-08T20:09:45Z")

</div>

yes, fix it and re-tag the bot

---

<div class="post-metadata">

### Author: ![Johncowk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johncowk/32/8032_2.png) [@Johncowk](https://discourse.julialang.org/u/Johncowk)
#### Post date: [October 8, 2021, 8:18pm UTC](https://discourse.julialang.org/t/how-to-register-breaking-changes/69451/5 "2021-10-08T20:18:31Z")

</div>

Thanks, this worked. `1.1.0` was tagged as a minor release though, is this normal?

---

<div class="post-metadata">

### Author: ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)
#### Post date: [October 8, 2021, 8:48pm UTC](https://discourse.julialang.org/t/how-to-register-breaking-changes/69451/6 "2021-10-08T20:48:50Z")

</div>

read SemVer. If you want to signify it is super breaking, just register `2.0.0`.

---

<div class="post-metadata">

### Author: ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)
#### Post date: [October 8, 2021, 9:09pm UTC](https://discourse.julialang.org/t/how-to-register-breaking-changes/69451/7 "2021-10-08T21:09:19Z")

</div>

If you have version X.Y.Z with X\>0, then

- Step Z if your change is backwards compatible and doesn’t add new features. This is typically bugfixes, performance improvements and documentation changes. It’s called a patch release.
- Step Y if your change is backwards compatible and adds new features. This is called a minor release.
- Step X if your change is not backwards compatible, i.e. breaks existing code. This is called a major release or a breaking release.

All concepts of features and backwards compatibility is with respect to a public API, which you may or may not have defined explicitly.

---

<div class="post-metadata">

### Author: ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)
#### Post date: [October 8, 2021, 10:31pm UTC](https://discourse.julialang.org/t/how-to-register-breaking-changes/69451/8 "2021-10-08T22:31:21Z")

</div>

> [@GunnarFarneback](#):
>
> - Step Y if your change is backwards compatible and adds new features. This is called a minor release.
> - Step X if your change is not backwards compatible, i.e. breaks existing code. This is called a major release or a breaking release.

What should imo be added here is that stepping anything but the last part of the version number sets all lower parts to 0.

E.g.

- `1.1.2` becomes `1.2.0` when stepping the minor version
- `1.2.0` becomes `2.0.0` when stepping the major version.
