-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Run everything on 1.10 * Expand buildkite runner into matrix * Also run integration and ext testing on LTS * Try LTS * Just write 1.10 * Julia version number in matrix * Document support policy * Document support policy * Restrict Julia compat properly * Fix DynamicPPL tests on 1.10 * Simplify gitignore * Formatting * Relax performance bounds on nnlib scatter * Improve error message * Fix a problem * Fix error introduced in the last PR * Fix coverage * Fix coverage * Fix LuxLib * Prevent small union inlining * use static if everywhere * Revert previous change * Patch the problem * Run error printing * Bump patch
- Loading branch information
1 parent
eaf1fb8
commit 5397d28
Showing
20 changed files
with
170 additions
and
48 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
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
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 |
---|---|---|
@@ -1,12 +1,8 @@ | ||
/Manifest.toml | ||
/Manifest-v1.11.toml | ||
Manifest* | ||
dev | ||
bench/Manifest.toml | ||
analysis_results | ||
.vscode | ||
profile.pb.gz | ||
scratch.jl | ||
docs/build/ | ||
docs/site/ | ||
docs/Manifest.toml | ||
Manifest.toml |
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
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
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,42 @@ | ||
# Summary | ||
|
||
At any given point in time, `Mooncake.jl` supports the current Long Term Support (LTS) release of Julia, and the latest release version of Julia 1. | ||
Consequently, the versions of Julia which are officially supported by `Mooncake.jl` will change (almost) _immediately_ whenever a new Julia LTS version is declared, or a minor release of Julia is made. | ||
|
||
For example, the LTS is 1.10 and the latest release is 1.11 at the time of writing. When 1.12 is released, we will | ||
1. bump the Julia compat bounds in `Mooncake.jl` to require either 1.10 or 1.12, | ||
1. cease to run CI on 1.11, | ||
1. cease to provide bug fixes for 1.11, | ||
1. cease to accept 1.11-specific bug fixes, as we will not be running CI for 1.11 and therefore will not be able to test that they have worked. | ||
|
||
In short: as far as `Mooncake.jl`'s future releases, 1.11 ceases to exist the moment 1.12 is released. | ||
|
||
Note that these changes are not applied retrospectively to existing releases of `Mooncake.jl`. | ||
Suppose that `Mooncake.jl` is at `v0.4.50` when 1.12 is released. | ||
Then the above changes would be relevant to `Mooncake.jl` versions `v0.4.51` and higher. | ||
|
||
# Patch Versions | ||
|
||
The above only discussed minor versions of Julia (1.10, 1.11, 1.12, etc). | ||
However, it also applies to patch versions of Julia. | ||
For example, at the time of writing, Julia version 1.10.6 is _actually_ the LTS, and 1.11.1 the current release of Julia. | ||
The moment that 1.10.7 is released, we will cease to run any CI on 1.10.6, and will not accept fixes for it. | ||
The same is true of 1.11.2. | ||
|
||
Since patch releases of Julia are less invasive than minor releases, this should generally not cause users problems. | ||
|
||
# Context | ||
|
||
In order to support a particular version of Julia, we must | ||
1. always run CI for that version, | ||
1. accept and proactively produce fixes for that version, | ||
1. maintain version-specific code in the `Mooncake.jl` codebase. | ||
|
||
This requires a surprisingly amount of overhead to the development of `Mooncake.jl`, and has the potential to substantially increase the complexity of the codebase. | ||
All of this makes it harder to improve `Mooncake.jl`. | ||
Consequently, this policy represents a decision to tradeoff support for a range of minor Julia versions in exchange for easing the development burden associated to `Mooncake.jl`. | ||
|
||
## Why not gently drop support? | ||
|
||
In the JuliaGaussianProcesses ecosystem, we had a loosely-defined policy of keeping support for an older version until we ran into a large problem which could not be fixed easily, at which point we would drop support. | ||
While this sounds appealing, in practice it makes it hard to know exactly when to drop support for a particular version of Julia, increases the burden for maintainers, and makes it hard for users to know exactly what to expect. |
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
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
5397d28
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JuliaRegistrator register
5397d28
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Registration pull request created: JuliaRegistries/General/120035
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via: