# \`FillArrays.jl\` is going to 1.0

**URL:** <https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837>\
**Category:** Package Announcements\
**Tags:** package\
**Created:** [March 30, 2023, 11:05am UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837 "2023-03-30T11:05:18Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![jishnub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jishnub/32/33620_2.png) [@jishnub](https://discourse.julialang.org/u/jishnub)\
**Post date:** [March 30, 2023, 11:05am UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/1 "2023-03-30T11:05:18Z")

</div>

`FillArrays.jl` that has 99 direct dependents and 1542 indirect dependents is going to v1.0, and most of the changes are already included in the `release-1.0` branch ([see the changes vs master](https://github.com/JuliaArrays/FillArrays.jl/pull/231/commits)). It’s unlikely to be breaking for most users, but please have a look in case this concerns you, and in case you’d like to suggest last-minute changes.

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [March 30, 2023, 11:39am UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/2 "2023-03-30T11:39:04Z")

</div>

Is there a changelog with the changes to help people upgrade?

---

<div class="post-metadata">

**Author:** ![tbeason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tbeason/32/15898_2.png) [@tbeason](https://discourse.julialang.org/u/tbeason)\
**Post date:** [March 30, 2023, 12:25pm UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/3 "2023-03-30T12:25:17Z")

</div>

Dang I always forget about cool packages like this

---

<div class="post-metadata">

**Author:** ![jishnub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jishnub/32/33620_2.png) [@jishnub](https://discourse.julialang.org/u/jishnub)\
**Post date:** [March 31, 2023, 8:26am UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/4 "2023-03-31T08:26:49Z")

</div>

Not that I know of, but this is more of a “this has been stable for a while, so let’s go to 1.0” tag, and it’s unlikely that anything needs upgrading. The way to track changes is really the commit history.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [March 31, 2023, 9:32am UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/5 "2023-03-31T09:32:47Z")

</div>

Please don’t tag breaking releases if they aren’t actually breaking.

---

<div class="post-metadata">

**Author:** ![jishnub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jishnub/32/33620_2.png) [@jishnub](https://discourse.julialang.org/u/jishnub)\
**Post date:** [March 31, 2023, 9:33am UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/6 "2023-03-31T09:33:22Z")

</div>

Wouldn’t that keep packages from going to 1.0?

---

<div class="post-metadata">

**Author:** ![e3c6](https://avatars.discourse-cdn.com/v4/letter/e/e79b87/32.png) [@e3c6](https://discourse.julialang.org/u/e3c6)\
**Post date:** [March 31, 2023, 9:33am UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/7 "2023-03-31T09:33:47Z")

</div>

> [@ChrisRackauckas](#):
>
> Please don’t tag breaking releases if they aren’t actually breaking.

Indeed. What’s the point?

---

<div class="post-metadata">

**Author:** ![e3c6](https://avatars.discourse-cdn.com/v4/letter/e/e79b87/32.png) [@e3c6](https://discourse.julialang.org/u/e3c6)\
**Post date:** [March 31, 2023, 9:34am UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/8 "2023-03-31T09:34:55Z")

</div>

> [@jishnub](#):
>
> Wouldn’t that keep packages from going to 1.0?

Yes. But why do you want to go 1.0?

One advantage is having the patch version field. But one could wait until a breaking change actually merits it and jump from (say) 0.19 to 1.0.

Alternatively, in retrospective one could have registered the package starting at 1.0.

But inflicting 1.0 without needing to do so means ALL downstream packages have to update their compat. Think there are some packages out there whose maintainer will not look at the repo for months, or more.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [March 31, 2023, 9:44am UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/9 "2023-03-31T09:44:27Z")

</div>

> [@jishnub](#):
>
> Wouldn’t that keep packages from going to 1.0?

No, because then when you do your breaking update to change it to v1.0. Why make work for 100 other people just for a nice number? Also, you’re keeping the package from getting this update because now if anybody in the entireity of the Julia ecosystem is using FillArrays and doesn’t do the compat upgrade (which is exponentially more true the more used a package is), then nobody can use the upgrade. Therefore, for the next few months, or most likely a year for something like FillArrays, all patches will have spotty usage as some downstream package will be blocking it. 😅 It’s not a fun position to be in.

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [March 31, 2023, 10:00am UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/10 "2023-03-31T10:00:00Z")

</div>

I would just note the following provision of semantic versioning.

> **[Semantic Versioning 2.0.0](https://semver.org/#spec-item-4)**
>
> Semantic Versioning spec and website

> Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

That said, maybe it’s worthwhile to also continue to publish a 0.y.z branch for a while while also building out the 1.0 series?

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [April 6, 2023, 12:05pm UTC](https://discourse.julialang.org/t/fillarrays-jl-is-going-to-1-0/96837/11 "2023-04-06T12:05:46Z")

</div>

36 posts were split to a new topic: [Encouraging 1.x versions for registered packages?](https://discourse.julialang.org/t/encouraging-1-x-versions-for-registered-packages/97171)
