From dabd450b79cdec77a7004af57b2322d1cd90d7ad Mon Sep 17 00:00:00 2001 From: Viktor Palmkvist Date: Fri, 2 Oct 2026 14:50:09 +0200 Subject: [PATCH] v0.5 --- docs/changelog.md | 46 ++++++++++++++++++++++++++++++++++++ scripts/check-changelog.fish | 25 ++++++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 9313eb7..59d9b1f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -24,6 +24,52 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Security +## v0.5 + +### Added +- ([dppl#239](https://github.com/miking-lang/miking-dppl/pull/239), [treeppl#161](https://github.com/treeppl/treeppl/pull/161)) `--debug-graph-json ` to output a json representation of the graph generated when running a model compiled with `mcmc-graph`. +- ([dppl#243](https://github.com/miking-lang/miking-dppl/pull/243), [treeppl#161](https://github.com/treeppl/treeppl/pull/161)) `--debug-idealized ` to output a pretty-printed version of the graph after the idealized transformation stage. +- ([dppl#240](https://github.com/miking-lang/miking-dppl/pull/240), [dppl#242](https://github.com/miking-lang/miking-dppl/pull/242)) Improved the graph translation performed in `-m mcmc-graph` +- ([dppl#245](https://github.com/miking-lang/miking-dppl/pull/245), [treeppl#163](https://github.com/treeppl/treeppl/pull/163)) Add `--max-propagations INT` to limit `smc-apf` near infinite loop (see `tpplc --help` for more details) +- ([treeppl#165](https://github.com/treeppl/treeppl/pull/165)) A `tpplc --version` flag that prints a version number when given to a released compiler and `~git~` when given to a manually built compiler. +- ([treeppl#169](https://github.com/treeppl/treeppl/pull/169)) Add `all` function. +- ([treepplr#12](https://github.com/treeppl/treepplr/pull/12)) Add `tp_runtime_options` +- ([treepplr#13](https://github.com/treeppl/treepplr/pull/13)) `tp_run(n_runs)` to run multiple sweeps/runs +- ([treepplr#13](https://github.com/treeppl/treepplr/pull/13)) `tp_run(n_processes)` to run MCMC or SMC in parallel using n cores +- ([treepplr#13](https://github.com/treeppl/treepplr/pull/13)) `tp_compile_methods()` to find available methods +- ([treepplr#14](https://github.com/treeppl/treepplr/pull/14)) Tim and Stenio as package authors in DESCRIPTION. +- ([treeppl#173](https://github.com/treeppl/treeppl/pull/173)) Add `bool2int` function +- ([treeppl#173](https://github.com/treeppl/treeppl/pull/173)) Inference test suite +- ([treepplr#31](https://github.com/treeppl/treepplr/pull/31)) At the end of a run, `tp_run()` now prints a summary with runtime information and output directories/files. +- ([treepplr#31](https://github.com/treeppl/treepplr/pull/31)) New argument `wide` in `tp_parse_smc()` and `tp_parse_mcmc()` to choose between wide (standard in other software) and long (good for plotting) format. Default = `TRUE`. + +### Changed +- ([treeppl#172](https://github.com/treeppl/treeppl/pull/172)) Updated external dependencies +- ([treepplr#12](https://github.com/treeppl/treepplr/pull/12)) Change "compiled_model" to "sampler" (temporary) +- ([treepplr#13](https://github.com/treeppl/treepplr/pull/13)) Updated the documentation +- ([treepplr#14](https://github.com/treeppl/treepplr/pull/14)) treepplr package installation should be done with `pak::pak` because `devtools::install_github` will soon be deprecated. +- ([treepplr#30](https://github.com/treeppl/treepplr/pull/30)) Updated roxygen documentation for `tp_parse_smc()` and `tp_parse_mcmc()`. Changed their output objects to tidy data frames. +- ([miking#1006](https://github.com/miking-lang/miking/pull/1006), [dppl#246](https://github.com/miking-lang/miking-dppl/pull/246), [treeppl#165](https://github.com/treeppl/treeppl/pull/165)) Rearranged `tpplc --help` output for nicer readability +- ([treepplr#31](https://github.com/treeppl/treepplr/pull/31)) `tp_run()` now returns a tidy data frame (in wide format by default) instead of a list. It automatically calls `tp_parse_smc()` or `tp_parse_mcmc()`, depending on the inference method and model passed to `tp_compile()`. For models without a parser yet (e.g., models that return trees), it returns the path to the output JSON file along with a message. +- ([treepplr#31](https://github.com/treeppl/treepplr/pull/31)) `tp_parse_smc()` and `tp_parse_mcmc()` now take a character vector with the path(s) to the JSON output file(s) instead of the list returned by `tp_run()`. +- ([treepplr#31](https://github.com/treeppl/treepplr/pull/31)) `tp_mcmc_convergence()` and `tp_smc_convergence()` now accept data frames in either long or wide format. + +### Deprecated +- ([treepplr#12](https://github.com/treeppl/treepplr/pull/12)) all references to `n_runs` have been remove + +### Removed + +### Fixed +- ([treeppl#162](https://github.com/treeppl/treeppl/pull/162)) Matrix operations should no longer be compiled incorrectly when using `mcmc-graph`. +- ([treeppl#166](https://github.com/treeppl/treeppl/pull/166)) Lexing errors now point at the actual problem +- ([treeppl#172](https://github.com/treeppl/treeppl/pull/172)) Updated builds to work on MacOS 27 +- ([treepplr#12](https://github.com/treeppl/treepplr/pull/12)) Always check if tpplc is installed before calling it +- ([treepplr#12](https://github.com/treeppl/treepplr/pull/12)) `tp_compile_options` update for new `--help` format +- ([treepplr#30](https://github.com/treeppl/treepplr/pull/30)) `tp_parse_smc()` and `tp_parse_mcmc()` now parse per-particle/iteration with explicit indices and (for SMC) join weights by index using `left_join(..., by = "particle")` instead of relying on positional recycling, which is the default behavior of `data.frame()` when handling vectors of different lengths. +- ([dppl#251](https://github.com/miking-lang/miking-dppl/pull/251)) Removed opportunistic redraw of 0 probability `assume`s in `mcmc`, since it does not yield correct inference in general. + +### Security + ## v0.4.1 ### Added diff --git a/scripts/check-changelog.fish b/scripts/check-changelog.fish index ba28db2..97872b6 100755 --- a/scripts/check-changelog.fish +++ b/scripts/check-changelog.fish @@ -187,3 +187,28 @@ showBullets | formatLinks # treeppl-python#22 (release v0.4) # treepplr#1 (Not entirely sure, but before the big remake) # treepplr#9 (Not entirely sure, but before the big remake) +# treeppl#167 (Less precise tests) +# treeppl#168 (record gnu awk dependency in tests) +# treeppl#170 miking#1005 dppl#248 (loader update, only minor internal changes) +# dppl#244 (User relative paths in includes in coreppl instead of `coreppl::`) +# dppl#247 miking#1004 (Unmatched pattern change via `never`) +# miking#1000 (new parser in miking) +# miking#1001 (more flexible running of the test suite) +# miking#1002 (`exec` in miking) +# miking#1003 (nicer runing of tup, with exec instead of xargs) +# miking#1008 (nicer printing when running tests with make) +# miking#1009 (eliminate duplicate code bug, don't remember what the impact was from tppl point of view) +# treepplr#11 (new trepplr api, I _think_ this has been talked about elsewhere) +# treepplr#29 (fix to make it run in the test suite) +# miking#1014, dppl#250 (nix flake) +# miking#1007 (new parser in miking) +# miking#1013 (new interpreter in miking) +# miking#1015 (transpose function in miking) +# miking#1018 (fix `--tag` in `make` mode) +# miking#1019 (generalize type of `mapEq`) +# treeppl-python#24 (release 0.5) + + +# == stuff for the new graph, eventually == +# miking#1016 (pass that tracks instantiations in the AST) +# miking#1017 (peval graph, v1)