Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <FILE>` 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 <FILE>` 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
Expand Down
25 changes: 25 additions & 0 deletions scripts/check-changelog.fish
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Loading