JuliaGraphics / ColorTypes.jl

Basic color definitions and traits
Other
79 stars 36 forks source link

Road to 1.0 #131

Open timholy opened 4 years ago

timholy commented 4 years ago

I'd like to move the whole JuliaImages stack to version numbers >= 1.0 (see JuliaImages/Images.jl#825). Let's use this issue to collect plans for breaking changes in the near future.

Items on my list:

kimikage commented 4 years ago

Will the list include relaxing the constraints of element types? (cf. #9, #10, #87, #89) Although I have no requests about the relaxing, if we do it, an assessment of the conversion methods in Colors.jl is required.

timholy commented 4 years ago

In general, relaxing constraints may not be breaking. If it is, I'd say either someone needs to do it soon or we can just wait for 2.0.

kimikage commented 4 years ago
timholy commented 4 years ago

That's fine to do, but as a milestone for 1.0 we should focus only on breaking changes. 1.0 is not a code-quality designation so much as an API-stability designation. EDIT: and specifically, our focus should be on any changes that would break backward compatibility. New features can be added as 1.x.

kimikage commented 4 years ago
timholy commented 3 years ago

Things seems to have slowed a bit. I think we need to be less worried about the release process and just push some of these improvements over the finish line. I'm planning on merging #206 and #213 in the next few days.

kimikage commented 3 years ago

I think ColorTypes v0.12 will include the PRs, which are (almost) ready at this point. (Edit: see also PR #251) The following is my list of issues for the next ColorTypes v0.13:

I plan to support the CMYK type, step by step, in separate add-on packages.

kimikage commented 3 years ago

ColorTypes v0.11.0, Colors v0.12.8, and ColorVectorSpace v0.9.4 have been released. :tada:

ColorTypes v0.11 should not directly affect Colors, so Colors can proceed into the v0.13 series.

It would be better to wait a bit for starting ColorVectorSpace v0.10 series. We can apply several modifications and improvements without major breaking changes in ColorVectorSpace v0.9.x.

ColorTypes should also wait to enter the v0.12 series until it is used in many downstream packages. (I don't want to create the release-0.11 branch.) v0.10 dependents: https://juliahub.com/ui/Packages/ColorTypes/db21U/0.10.12?t=2 v0.11 dependents: https://juliahub.com/ui/Packages/ColorTypes/db21U/0.11.0?t=2 I will be moving on to work on other packages for a couple of days, but in the meantime, updates to README.md and submissions of WIP PRs are welcome.

kimikage commented 3 years ago

This was during the transition from REQUIRE to Project.toml, and also when there was not yet sufficient consensus on Semantic Versioning of packages, but it was in FixedPointNumbers v0.6.1 that FixedPointNumbers exported floattype.

ColorTypes.jl has historically set the lower compatibility bound for FixedPointNumbers to 0.5, but "formally", it should have been 0.6.1. As of Colors.jl v0.10, it requires FixedPointNumbers v0.6 or later, so I don't see the need to fix the lower bound now. However, as we release ColorTypes.jl v0.12 and v0.13, I'd like to bump up the lower limit.

I haven't been able to schedule a release date for FixedPointNumbers v0.9 yet, but here's my plan ColorTypes FixedPointNumbers
(v0.11) = "0.5, 0.6, 0.7, 0.8"
v0.12 = "0.6.1, 0.7, 0.8"
v0.13 = "0.9, 0.10"

The version separation at ColorTypes v0.12 --> v0.13 is mainly due to the prospect of official support for unsigned Fixed and signed Normed.

In any case, I would like to avoid releasing any major changes around the JuliaCon.

BTW, I appreciate the support of pkg> activate --temp. :heart: