Skip to content

Commit 4754a4b

Browse files
authored
Merge pull request #1108 from isaacsas/add_devdocs
Add devdocs
2 parents 41c0a60 + ac2f251 commit 4754a4b

File tree

4 files changed

+71
-4
lines changed

4 files changed

+71
-4
lines changed

HISTORY.md

+19-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,30 @@
11
# Breaking updates and feature summaries across releases
22

33
## Catalyst unreleased (master branch)
4-
- Array symbolics support is more consistent with ModelingToolkit v9. Parameter arrays are no longer scalarized by Catalyst, while species and variables arrays still are (as in ModelingToolkit). As such, parameter arrays should now be specified as arrays in value mappings, i.e.
4+
- The Catalyst release process is changing; certain core dependencies of
5+
Catalyst will now be capped to ensure Catalyst releases are only installed
6+
with versions of dependencies for which Catalyst CI and doc build tests pass
7+
(at the time the release is made). If you need a dependency version increased,
8+
please open an issue and we can update it and make a new Catalyst release once
9+
testing against the newer dependency version is complete.
10+
- Array symbolics support is more consistent with ModelingToolkit v9. Parameter
11+
arrays are no longer scalarized by Catalyst, while species and variables
12+
arrays still are (as in ModelingToolkit). As such, parameter arrays should now
13+
be specified as arrays in value mappings, i.e.
514
```julia
615
@parameters k[1:4]
716
pmap = [k => rand(4)]
817
```
9-
While one can still manually scalarize a parameter array, it is recommended *not* to do this as it has signifcant performance costs with ModelingToolkit v9.
10-
- The structural identifiability extension is currently disabled due to issues StructuralIdentifiability has with Julia 1.10.5 and 1.11.
18+
While one can still manually scalarize a parameter array, it is recommended
19+
*not* to do this as it has signifcant performance costs with ModelingToolkit
20+
v9. Note, scalarized parameter arrays passed to the two-argument
21+
`ReactionSystem` constructor may become unscalarized.
22+
- Scoped species/variables/parameters are now treated similar to the latest MTK
23+
releases (≥ 9.49).
24+
- The structural identifiability extension is currently disabled due to issues
25+
StructuralIdentifiability has with Julia 1.10.5 and 1.11.
1126
- A tutorial on making interactive plot displays using Makie has been added.
27+
- The BifurcationKit extension has been updated to v.4.
1228

1329
## Catalyst 14.4.1
1430
- Support for user-defined functions on the RHS when providing coupled equations

docs/pages.jl

+2-1
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,6 @@ pages = Any[
6262
"spatial_modelling/spatial_jump_simulations.md"
6363
],
6464
"FAQs" => "faqs.md",
65-
"API" => "api.md"
65+
"API" => "api.md",
66+
"Developer Documentation" => "devdocs/dev_guide.md"
6667
]

docs/src/devdocs/dev_guide.md

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Catalyst Developer Documentation
2+
3+
## Release Process
4+
Beginning with v15, Catalyst is using a new release process to try to ensure
5+
continuing stability of releases. Before making a release one should
6+
7+
1. Create a new release branch, i.e. "release-15.0.0"
8+
2. On this branch, cap major dependencies to their latest version that works and
9+
for which tests pass.
10+
- Caps need to be included in both Project.toml and docs/Project.toml.
11+
- Do not cap the master branch as this can prevent upstream libraries from
12+
properly testing against Catalyst, and hide breaking changes that impact
13+
Catalyst.
14+
3. Check docs build with the capped dependencies. Visually verify via checking
15+
the artifact in the doc build that the docs actually look ok (since sometimes
16+
issues can arise that do not lead to actual errors in the doc CI).
17+
4. Release via the [registration
18+
issue](https://github.com/SciML/JumpProcesses.jl/issues/73) with the
19+
command:
20+
```julia
21+
@JuliaRegistrator register branch=release-15.0.0
22+
```
23+
modifying as appropriate for the version you are releasing.
24+
25+
If there is subsequently a need to increment the version of a dependency, this
26+
should be done via a new release that follows the above process, and modifies
27+
the [patch, minor, or major Catalyst version (as appropriate for the potential
28+
impact of the dependency change on Catalyst users)](https://semver.org/). If the
29+
dependency being updated is a non-breaking release, and would have automatically
30+
been installed by the package resolver had it not been capped, a patch release
31+
should be preferred. If the new release branch is branched from master, *it
32+
needs to ensure Project.toml caps are all to those listed in the previous
33+
Catalyst release branch*.

docs/src/index.md

+17
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,23 @@ Pkg.add("Plots")
9797
```
9898
is also needed.
9999

100+
It is **strongly** recommended to run Catalyst in its own environment with the
101+
minimal set of needed packages. For example, to install Catalyst and Plots in a
102+
new environment named `catalyst_project` (saved in the current directory) one
103+
can say
104+
```julia
105+
Pkg.activate("catalyst_project")
106+
Pkg.add("Catalyst")
107+
Pkg.add("Plots")
108+
```
109+
If one would rather just create a temporary environment that is not saved when
110+
exiting Julia you can say
111+
```julia
112+
Pkg.activate(; temp = true)
113+
Pkg.add("Catalyst")
114+
Pkg.add("Plots")
115+
```
116+
100117
A more thorough guide for setting up Catalyst and installing Julia packages can be found [here](@ref catalyst_for_new_julia_users_packages).
101118

102119
## [Illustrative example](@id doc_index_example)

0 commit comments

Comments
 (0)