Skip to content

Commit 1aa95ac

Browse files
authored
Bump AbstractPPL to 0.12 (#2614)
1 parent abbec12 commit 1aa95ac

File tree

3 files changed

+34
-30
lines changed

3 files changed

+34
-30
lines changed

HISTORY.md

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
1-
# Release 0.39.3
1+
# 0.39.4
2+
3+
Bumped compatibility of AbstractPPL to include 0.12.
4+
5+
# 0.39.3
26

37
Improved the performance of `Turing.Inference.getparams` when called with an untyped VarInfo as the second argument, by first converting to a typed VarInfo.
48
This makes, for example, the post-sampling Chains construction for `Prior()` run much faster.
59

6-
# Release 0.39.2
10+
# 0.39.2
711

812
Fixed a bug in the support of `OrderedLogistic` (by changing the minimum from 0 to 1).
913

10-
# Release 0.39.1
14+
# 0.39.1
1115

1216
No changes from 0.39.0 — this patch is released just to re-trigger a Documenter.jl run.
1317

14-
# Release 0.39.0
18+
# 0.39.0
1519

1620
## Update to the AdvancedVI interface
1721

@@ -36,33 +40,33 @@ Anything exported from there can be imported from either `Turing` or `DynamicPPL
3640

3741
The `@addlogprob!` macro is now exported from Turing, making it officially part of the public interface.
3842

39-
# Release 0.38.6
43+
# 0.38.6
4044

4145
Added compatibility with AdvancedHMC 0.8.
4246

43-
# Release 0.38.5
47+
# 0.38.5
4448

4549
Added compatibility with ForwardDiff v1.
4650

47-
# Release 0.38.4
51+
# 0.38.4
4852

4953
The minimum Julia version was increased to 1.10.2 (from 1.10.0).
5054
On versions before 1.10.2, `sample()` took an excessively long time to run (probably due to compilation).
5155

52-
# Release 0.38.3
56+
# 0.38.3
5357

5458
`getparams(::Model, ::AbstractVarInfo)` now returns an empty `Float64[]` if the VarInfo contains no parameters.
5559

56-
# Release 0.38.2
60+
# 0.38.2
5761

5862
Bump compat for `MCMCChains` to `7`.
5963
By default, summary statistics and quantiles for chains are no longer printed; to access these you should use `describe(chain)`.
6064

61-
# Release 0.38.1
65+
# 0.38.1
6266

6367
The method `Bijectors.bijector(::DynamicPPL.Model)` was moved to DynamicPPL.jl.
6468

65-
# Release 0.38.0
69+
# 0.38.0
6670

6771
## DynamicPPL version
6872

@@ -102,12 +106,12 @@ Performance for the cases which used to previously work (i.e. `VarName`s like `x
102106
It is possible that `VarNames` with indexing (e.g. `x[1]`) may be slower (although this is still an improvement over not working at all!).
103107
If you find any cases where you think the performance is worse than it should be, please do file an issue.
104108

105-
# Release 0.37.1
109+
# 0.37.1
106110

107111
`maximum_a_posteriori` and `maximum_likelihood` now perform sanity checks on the model before running the optimisation.
108112
To disable this, set the keyword argument `check_model=false`.
109113

110-
# Release 0.37.0
114+
# 0.37.0
111115

112116
## Breaking changes
113117

@@ -148,7 +152,7 @@ On the other hand, we have added a few more exports:
148152
- `DynamicPPL.returned` and `DynamicPPL.prefix` are exported (for use with submodels).
149153
- `LinearAlgebra.I` is exported for convenience.
150154

151-
# Release 0.36.0
155+
# 0.36.0
152156

153157
## Breaking changes
154158

@@ -162,7 +166,7 @@ The old Gibbs constructor relied on being called with several subsamplers, and e
162166

163167
Likewise, the old constructor for calling one subsampler more often than another, `Gibbs((HMC(0.01, 4, :x), 2), (MH(:y), 1))` has been deprecated. The new way to do this is to use `RepeatSampler`, also introduced at this version: `Gibbs(@varname(x) => RepeatSampler(HMC(0.01, 4), 2), @varname(y) => MH())`.
164168

165-
# Release 0.35.0
169+
# 0.35.0
166170

167171
## Breaking changes
168172

@@ -173,7 +177,7 @@ You can use Mooncake.jl by passing `adbackend=AutoMooncake(; config=nothing)` to
173177

174178
Support for Tracker.jl as an AD backend has been removed.
175179

176-
# Release 0.33.0
180+
# 0.33.0
177181

178182
## Breaking changes
179183

@@ -190,21 +194,21 @@ The same functionality is now offered by the new exported functions
190194
- `maximum_likelihood`
191195
- `maximum_a_posteriori`
192196

193-
# Release 0.30.5
197+
# 0.30.5
194198

195199
- `essential/ad.jl` is removed, `ForwardDiff` and `ReverseDiff` integrations via `LogDensityProblemsAD` are moved to `DynamicPPL` and live in corresponding package extensions.
196200
- `LogDensityProblemsAD.ADgradient(ℓ::DynamicPPL.LogDensityFunction)` (i.e. the single argument method) is moved to `Inference` module. It will create `ADgradient` using the `adtype` information stored in `context` field of ``.
197201
- `getADbackend` function is renamed to `getADType`, the interface is preserved, but packages that previously used `getADbackend` should be updated to use `getADType`.
198202
- `TuringTag` for ForwardDiff is also removed, now `DynamicPPLTag` is defined in `DynamicPPL` package and should serve the same [purpose](https://www.stochasticlifestyle.com/improved-forwarddiff-jl-stacktraces-with-package-tags/).
199203

200-
# Release 0.30.0
204+
# 0.30.0
201205

202206
- [`ADTypes.jl`](https://github.com/SciML/ADTypes.jl) replaced Turing's global AD backend. Users should now specify the desired `ADType` directly in sampler constructors, e.g., `HMC(0.1, 10; adtype=AutoForwardDiff(; chunksize))`, or `HMC(0.1, 10; adtype=AutoReverseDiff(false))` (`false` indicates not to use compiled tape).
203207
- Interface functions such as `ADBackend`, `setadbackend`, `setadsafe`, `setchunksize`, and `setrdcache` are deprecated and will be removed in a future release.
204208
- Removed the outdated `verifygrad` function.
205209
- Updated to a newer version of `LogDensityProblemsAD` (v1.7).
206210

207-
# Release 0.12.0
211+
# 0.12.0
208212

209213
- The interface for defining new distributions with constrained support and making them compatible with `Turing` has changed. To make a custom distribution type `CustomDistribution` compatible with `Turing`, the user needs to define the method `bijector(d::CustomDistribution)` that returns an instance of type `Bijector` implementing the `Bijectors.Bijector` API.
210214
- `~` is now thread-safe when used for observations, but not assumptions (non-observed model parameters) yet.
@@ -217,7 +221,7 @@ The same functionality is now offered by the new exported functions
217221
- The macros `@varinfo`, `@logpdf`, and `@sampler` are removed. Instead, one can access the internal variables `_varinfo`, `_model`, `_sampler`, and `_context` in the `@model` definition.
218222
- Additional constructors for `SMC` and `PG` make it easier to choose the resampling method and threshold.
219223

220-
# Release 0.11.0
224+
# 0.11.0
221225

222226
- Removed some extraneous imports and dependencies ([#1182](https://github.com/TuringLang/Turing.jl/pull/1182))
223227
- Minor backend changes to `sample` and `psample`, which now use functions defined upstream in AbstractMCMC.jl ([#1187](https://github.com/TuringLang/Turing.jl/pull/1187))
@@ -229,11 +233,11 @@ The same functionality is now offered by the new exported functions
229233
- Updates to allow AdvancedHMC 0.2.23 ([#1218](https://github.com/TuringLang/Turing.jl/pull/1218))
230234
- Add more informative error messages for SMC ([#900](https://github.com/TuringLang/Turing.jl/pull/900))
231235

232-
# Release 0.10.1
236+
# 0.10.1
233237

234238
- Fix bug where arrays with mixed integers, floats, and missing values were not being passed to the `MCMCChains.Chains` constructor properly [#1180](https://github.com/TuringLang/Turing.jl/pull/1180).
235239

236-
# Release 0.10.0
240+
# 0.10.0
237241

238242
- Update elliptical slice sampling to use [EllipticalSliceSampling.jl](https://github.com/TuringLang/EllipticalSliceSampling.jl) on the backend. [#1145](https://github.com/TuringLang/Turing.jl/pull/1145). Nothing should change from a front-end perspective -- you can still call `sample(model, ESS(), 1000)`.
239243
- Added default progress loggers in [#1149](https://github.com/TuringLang/Turing.jl/pull/1149).
@@ -244,7 +248,7 @@ The same functionality is now offered by the new exported functions
244248
- Fix bug in VI where the bijectors where being inverted incorrectly [#1168](https://github.com/TuringLang/Turing.jl/pull/1168).
245249
- The Gibbs sampler handles state better by passing `Transition` structs to the local samplers ([#1169](https://github.com/TuringLang/Turing.jl/pull/1169) and [#1166](https://github.com/TuringLang/Turing.jl/pull/1166)).
246250

247-
# Release 0.4.0-alpha
251+
# 0.4.0-alpha
248252

249253
- Fix compatibility with Julia 0.6 [#341, #330, #293]
250254
- Support of Stan interface [#343, #326]
@@ -257,7 +261,7 @@ The same functionality is now offered by the new exported functions
257261
- Add type alias CSMC for PG [#333]
258262
- Fix progress meter [#317]
259263

260-
# Release 0.3
264+
# 0.3
261265

262266
- NUTS implementation #188
263267
- HMC: Transforms of ϵ for each variable #67 (replace with introducing mass matrix)
@@ -269,21 +273,21 @@ The same functionality is now offered by the new exported functions
269273
- Refactoring code: Unify VarInfo, Trace, TaskLocalStorage #96
270274
- Refactoring code: Better gradient interface #97
271275

272-
# Release 0.2
276+
# 0.2
273277

274278
- Gibbs sampler ([#73])
275279
- HMC for constrained variables ([#66]; no support for varying dimensions)
276280
- Added support for `Mamba.Chain` ([#90]): describe, plot etc.
277281
- New interface design ([#55]), ([#104])
278282
- Bugfixes and general improvements (e.g. `VarInfo` [#96])
279283

280-
# Release 0.1.0
284+
# 0.1.0
281285

282286
- Initial support for Hamiltonian Monte Carlo (no support for discrete/constrained variables)
283287
- Require Julia 0.5
284288
- Bugfixes and general improvements
285289

286-
# Release 0.0.1-0.0.4
290+
# 0.0.1-0.0.4
287291

288292
The initial releases of Turing.
289293

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "Turing"
22
uuid = "fce5fe82-541a-59a6-adf8-730c64b5f9a0"
3-
version = "0.39.3"
3+
version = "0.39.4"
44

55
[deps]
66
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
@@ -50,7 +50,7 @@ TuringOptimExt = "Optim"
5050
[compat]
5151
ADTypes = "1.9"
5252
AbstractMCMC = "5.5"
53-
AbstractPPL = "0.11.0"
53+
AbstractPPL = "0.11, 0.12"
5454
Accessors = "0.1"
5555
AdvancedHMC = "0.3.0, 0.4.0, 0.5.2, 0.6, 0.7, 0.8"
5656
AdvancedMH = "0.8"

test/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
4141
[compat]
4242
ADTypes = "1"
4343
AbstractMCMC = "5"
44-
AbstractPPL = "0.9, 0.10, 0.11"
44+
AbstractPPL = "0.11, 0.12"
4545
AdvancedMH = "0.6, 0.7, 0.8"
4646
AdvancedPS = "=0.6.0"
4747
AdvancedVI = "0.4"

0 commit comments

Comments
 (0)