Skip to content

Release notes ​

Every release of this package is published as a GitHub release. The most recent are reproduced below, as they were written there.

v0.1.1 ​

Released 2026-08-03. Read it on GitHub.

Diff since v0.1.0

Clean up of package infrastructure and looping extensions

v0.1.0 ​

Released 2026-07-31. Read it on GitHub.

Merged pull requests:

  • Scaffold ComposedDistributions with the EpiAwarePackageTools KIT + ConvolvedDistributions hard-dep (#12) (@seabbs-bot)

  • feat: port the generic composition algebra from CensoredDistributions (#14) (@seabbs-bot)

  • chore: auto-increment version to 0.1.1 (#15) (@github-actions[bot])

  • Design + seam for time-, strata-, and uncertainty-varying distributions (#16) (@seabbs-bot)

  • feat: uncertain distributions on the standard Distributions interface (#17) (@seabbs-bot)

  • ci(deps): bump julia-actions/setup-julia from 2 to 3 (#18) (@dependabot[bot])

  • ci(deps): bump peter-evans/create-pull-request from 7 to 8 (#19) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/format-check.yml from dc919e0d1674c16d1518df07eda5ee0be09b47e2 to 6d4e35e2515f947acbf7d2a683cbf02b341005c7 (#20) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/downgrade.yml from dc919e0d1674c16d1518df07eda5ee0be09b47e2 to 6d4e35e2515f947acbf7d2a683cbf02b341005c7 (#21) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/documentation.yml from dc919e0d1674c16d1518df07eda5ee0be09b47e2 to 6d4e35e2515f947acbf7d2a683cbf02b341005c7 (#22) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/coverage.yml from dc919e0d1674c16d1518df07eda5ee0be09b47e2 to 6d4e35e2515f947acbf7d2a683cbf02b341005c7 (#23) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/docs-preview-cleanup.yml from dc919e0d1674c16d1518df07eda5ee0be09b47e2 to 6d4e35e2515f947acbf7d2a683cbf02b341005c7 (#24) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/tagbot.yml from dc919e0d1674c16d1518df07eda5ee0be09b47e2 to 6d4e35e2515f947acbf7d2a683cbf02b341005c7 (#25) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/ad.yml from dc919e0d1674c16d1518df07eda5ee0be09b47e2 to 6d4e35e2515f947acbf7d2a683cbf02b341005c7 (#26) (@dependabot[bot])

  • ci(deps): bump actions/checkout from 4 to 7 (#27) (@dependabot[bot])

  • docs: add package logo replacing placeholder (#37) (@seabbs-bot)

  • fix: repair the three standing CI failures (docs env, Julia 1.10, formatter drift) (#38) (@seabbs-bot)

  • fix: allow structural edits through nested Compete nodes (#39) (@seabbs-bot)

  • test+docs: port composable-distribution interface tests and doc from CensoredDistributions (#42) (@seabbs-bot)

  • docs: correct docstrings and remove narrative banner comment blocks (#44) (@seabbs-bot)

  • docs: getting-started overview, concepts page, three tutorials + CD-style README parity (#45) (@seabbs-bot)

  • feat: AD backend extensions for composed logpdf (#52) (@seabbs-bot)

  • refactor: align API with CensoredDistributions — Distributions.probs, drop endpoint and deprecated edit aliases (#53) (@seabbs-bot)

  • feat: enable KIT benchmarks (core + AD) and the benchmarks docs page (#55) (@seabbs-bot)

  • fix: set docs deploy_url to the wired subdomain so CSS resolves (#58) (@seabbs-bot)

  • chore: set version to 0.1.0 for the initial release (#59) (@seabbs-bot)

  • docs: add deferred-leaf surfaces to the concepts verb map (#60) (@seabbs-bot)

  • fix(ci): benchmark-history for an unregistered package with no tags (#61) (@seabbs-bot)

  • ci: park benchmark-history until ConvolvedDistributions is registered (#63) (@seabbs-bot)

  • docs: print real values in tutorial checks and drop seam jargon (#65) (@seabbs-bot)

  • feat: typed composer hierarchy + reusable interface conformance harness (#66) (@seabbs-bot)

  • feat: LogDensityProblems core codec — flatten/unflatten + as_logdensity (#67) (@seabbs-bot)

  • feat: inference-readback verbs — param_draws, chain_to_params, param_priors, inspect (#68) (@seabbs-bot)

  • chore: ignore local worktrees/ directory (#73) (@seabbs-bot)

  • docs: TestUtils module docstring example (fixes fresh-kit quality failure) (#75) (@seabbs-bot)

  • docs: verb-map tables + multi-strata/uncertainty tutorial (#22) (#79) (@seabbs-bot)

  • feat: convolve_distributions and difference across composed trees (#84) (@seabbs-bot)

  • fix: two docs bugs found by a pre-0.1.0 claims review (#85) (@seabbs-bot)

  • chore: re-apply the managed EpiAware standard (manual sync) (#86) (@seabbs-bot)

  • fix: Compete support floor, duplicate-name validation, descriptive event errors (#87) (@seabbs-bot)

  • ci: include ext/ in coverage processing (#88) (@seabbs-bot)

  • feat!: uncertain-first estimation — specs define the logdensity dimension (#90) (@seabbs-bot)

  • test: audit Convolved-leaf interop with the codec and deferred leaves (#91) (@seabbs-bot)

  • feat: restore the Choose rand/logpdf round-trip contract (#92) (@seabbs-bot)

  • feat: events-selected convolution (#80) + see-through Convolved/Difference component fitting (#81) (#93) (@seabbs-bot)

  • refactor: one resolution story for deferred leaves (Varying/Uncertain) (#94) (@seabbs-bot)

  • feat: node-level uncertainty — spec-able branch probabilities and friends (#97) (@seabbs-bot)

  • feat: partial pooling across strata — pool() specs with a distribution population (for maintainer review) (#98) (@seabbs-bot)

  • docs: resolve bare @ref links for multi-method docstrings (#100) (@seabbs-bot)

  • feat!: sync composer behaviour to CensoredDistributions current main (#101) (@seabbs-bot)

  • refactor!: adopt ConvolvedDistributions' convolved/convolve_series rename (#103) (@seabbs-bot)

  • feat: NamedTuple constructor spellings + Enzyme-safe one_of construction, rand_outcome public (#104) (@seabbs-bot)

  • ci: call scaffold_update after the kit's export rename (#105) (@seabbs-bot)

  • Delete ConvolvedDistributions source entry (#107) (@seabbs)

  • chore: re-apply the managed EpiAware standard (kit#176-178) (#110) (@seabbs-bot)

  • docs: remove the infrastructure and template sync page (#112) (@seabbs-bot)

  • docs: label the overview has_uncertain example output (#116) (@seabbs-bot)

  • ci: park auto-version-increment until v0.1.0 is tagged (#118) (@seabbs-bot)

  • feat: thin-factor hooks and Modified coverage for the ModifiedDistributions extension (#119) (@seabbs-bot)

  • test: end-to-end scenarios for continuous delay stacks (#122) (@seabbs-bot)

  • ci: restore benchmark-history push/tag triggers (#123) (@seabbs-bot)

  • ci(deps): bump EpiAware/.github/.github/workflows/tagbot.yml from 6d4e35e2515f947acbf7d2a683cbf02b341005c7 to 6fcdcde033ec670ac3832b239427fd2ded591bbc (#126) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/ad.yml from 6d4e35e2515f947acbf7d2a683cbf02b341005c7 to 6fcdcde033ec670ac3832b239427fd2ded591bbc (#127) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/cancel-on-close.yml from 6d4e35e2515f947acbf7d2a683cbf02b341005c7 to 6fcdcde033ec670ac3832b239427fd2ded591bbc (#128) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/coverage.yml from 6d4e35e2515f947acbf7d2a683cbf02b341005c7 to 6fcdcde033ec670ac3832b239427fd2ded591bbc (#129) (@dependabot[bot])

  • ci(deps): bump actions/checkout from 4 to 7 (#130) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/format-check.yml from 6d4e35e2515f947acbf7d2a683cbf02b341005c7 to 6fcdcde033ec670ac3832b239427fd2ded591bbc (#131) (@dependabot[bot])

  • ci(deps): bump julia-actions/cache from 2 to 3 (#132) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/tests.yml from dc919e0d1674c16d1518df07eda5ee0be09b47e2 to 6fcdcde033ec670ac3832b239427fd2ded591bbc (#133) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/docs-preview-cleanup.yml from 6d4e35e2515f947acbf7d2a683cbf02b341005c7 to 6fcdcde033ec670ac3832b239427fd2ded591bbc (#134) (@dependabot[bot])

  • ci(deps): bump EpiAware/.github/.github/workflows/documentation.yml from 6d4e35e2515f947acbf7d2a683cbf02b341005c7 to 6fcdcde033ec670ac3832b239427fd2ded591bbc (#135) (@dependabot[bot])

  • feat: adopt ConvolvedDistributions 0.2 (discrete-only convolve_series) (#136) (@seabbs-bot)

  • feat: resolve time-varying modifier leaves through instantiate/has_varying (#138) (@seabbs-bot)

  • fix: honour Affine moments + Modified/modifier coverage in the ModifiedDistributions extension (#140) (@seabbs-bot)

  • feat: to_constrained — Bijectors-backed unconstrained transform for the codec (#141) (@seabbs-bot)

  • chore: re-apply the managed EpiAware standard (latest kit) (#143) (@seabbs-bot)

  • chore: small cleanups — intervene rename, public integrate, Compete probs normalisation (#144) (@seabbs-bot)

  • fix(docs): unblock the docs deploy past the DocInventories empty-anchor error (#148) (@seabbs-bot)

  • feat: public leaf-introspection hooks + compose varargs-pairs spelling (#150) (@seabbs-bot)

  • fix: keep logdensity/unflatten AD-safe past the length-guard for Mooncake (#151) (@seabbs-bot)

  • test: modified-chain convolve, recur-seam, restored difference cdf (#152) (@seabbs-bot)

  • feat: lower composed distributions to LoweredDistributions (#149) (#153) (@seabbs-bot)

  • feat: expose ComposedLogDensity via LogDensityProblems (#13) (#154) (@seabbs-bot)

  • feat: as_turing DynamicPPL model over a tree's estimated parameters (#9) (#158) (@seabbs-bot)

  • feat: _leaf_ctor hook so a leaf can report parameters it was not built from (#159) (@seabbs-bot)

  • chore: template-sync — benchmark scratch-registry, registrability, drop HISTORY_SUITES workaround (#160) (@seabbs-bot)

  • test: extend AD gradient scenarios (latent codec, centred pool, Choose) (#161) (@seabbs-bot)

  • ci: park benchmark-history to workflow_dispatch-only until deps register (#41) (#163) (@seabbs-bot)

  • fix: handle Modified leaves + affine-moments in the ModifiedDistributions extension (MD#58) (#165) (@seabbs-bot)

  • feat: @uncertain macro for natural uncertain-tree syntax (#155) (#166) (@seabbs-bot)

  • refactor: fold rand_outcome into rand(node; outcome = true) (#167) (@seabbs-bot)

  • docs: add a Fitting a composed distribution inference guide (#168) (@seabbs-bot)

  • feat: @events macro for event-tree skeletons filled by update (#156) (#169) (@seabbs-bot)

  • fix: per-branch minimum/maximum on Parallel + clear error; fix tautological test (#171, #172) (#173) (@seabbs-bot)

  • feat: publish the leaf protocol as public stable API + generalise extra params (#170 step 1) (#174) (@seabbs-bot)

  • fix: repin LoweredDistributions to main (scaffold branch removed) (#175) (@seabbs-bot)

  • feat: teach the FlexiChains readback to consume pooled chains (#176) (@seabbs-bot)

  • feat: update(d, x::AbstractVector) — flat-vector arm of the edit verb (#178) (#179) (@seabbs-bot)

  • fix: reject tag/group/edge name collisions at composition time (#180) (@seabbs-bot)

  • refactor!: lift composer names and tags into type parameters (#178 PR 1) (#181) (@seabbs-bot)

  • fix: correct Mooncake pooled gradient via xlogy/xlog1py rule import (#99) (#182) (@seabbs-bot)

  • fix: https:// scheme in docs deploy_url (CSS 404 hotfix) (#183) (@seabbs-bot)

  • fix: correct docs base for the custom subdomain (broken CSS) (#184) (@seabbs-bot)

  • refactor!: remove the ModifiedDistributions extension and weakdep (#170 step 2) (#186) (@seabbs-bot)

  • feat: generated type-domain codec — reconstruct(d, x), Enzyme fixed (#178 PR 2) (#190) (@seabbs-bot)

  • docs: tighten and de-duplicate the guide pages (#194) (@seabbs-bot)

  • chore: drop registered [sources] pins for ConvolvedDistributions/EpiAwareADTools (#196) (@seabbs-bot)

  • docs: land a cool getting-started example (hospital pathway) (#197) (@seabbs-bot)

  • docs: document workspace-manifest and rev=main Pkg.update() hazards (#198) (@seabbs-bot)

  • docs: add Release notes nav entry (#199) (@seabbs-bot)

  • refactor!: remove the LoweredDistributions extension and weakdep (lockstep pair 1/2) (#201) (@seabbs-bot)

  • feat: uncertain(tree, ...) promotion verb and update(tree, table) bulk route (#202) (@seabbs-bot)

  • test: guard params_table/codec ordering drift + doc nits (#192) (#205) (@seabbs-bot)

  • chore(deps): update JET requirement from 0.9, 0.10 to 0.9, 0.10, 0.11 (#208) (@dependabot[bot])

  • docs: redesign the overview pages to the new package-overview standard (#211) (@seabbs-bot)

  • feat: Censored leaf-protocol parity with Truncated, and a tree-wrap guard (#215) (@seabbs-bot)

  • feat: load-order-independent leaf-wrapper registry for the generated codec (#189) (#216) (@seabbs-bot)

  • fix: tree-wrap guard error grammar (truncateding/censoreding) (#217) (@seabbs-bot)

  • docs: add an Event skeletons tutorial for @events (#235) (@seabbs-bot)

  • chore: remove design/ folder, rename hazard_one_of.jl, un-underscore public leaf-protocol hooks (#224, #229, #230) (#236) (@seabbs-bot)

  • test: close AD coverage gaps + ledger Enzyme #190 regression (#237) (@seabbs-bot)

  • docs: correct benchmark-history page description + note the parked trigger (#231) (#239) (@seabbs-bot)

  • test: strengthen weak assertions and close prune/splice/Choose coverage holes (#240) (@seabbs-bot)

  • refactor!: drop redundant inference glue and stop re-exporting ConvolvedDistributions (#241) (@seabbs-bot)

  • test: pin error-message assertions and drop try/catch boilerplate (#225) (#242) (@seabbs-bot)

  • chore!: make update public rather than exported (#243) (@seabbs-bot)

  • fix: restructure _update composer rebuild to unledger the Enzyme-reverse break (#223) (#244) (@seabbs-bot)

  • refactor!: remove the FlexiChains chain-readback extension (#221) (#245) (@seabbs-bot)

  • chore(deps): widen ConvolvedDistributions compat to admit 1.0.0 (#247) (@seabbs-bot)

  • chore: public-declare CentredPoolPrior/_centred_pool_rows/_pool_centred_logprior (#248) (@seabbs-bot)

  • test: assert the centred-pooling internals are public, not exported (#212) (#250) (@seabbs-bot)

  • docs: exercise more @events features in the event-skeletons tutorial (#283) (@seabbs-bot)

  • fix: widen Mooncake xlogy/xlog1py import to @from_chainrules (#214) (#284) (@seabbs-bot)

  • fix: pin fixed Resolve branch_probs in merge-mode update (#219) (#285) (@seabbs-bot)

  • fix: admit missing in the named-record scoring path (#271) (#286) (@seabbs-bot)

  • fix: give a no-event Resolve node a defective marginal survival (#254) (#287) (@seabbs-bot)

  • fix: racing-node quadrature window robust to composite/heavy-tailed causes (#259) (#288) (@seabbs-bot)

  • fix: clear error when sampling a nested non-terminal one_of (#200) (#289) (@seabbs-bot)

  • feat: event_times / event_increments record transforms (#269) (#290) (@seabbs-bot)

  • docs: sweep ALL-CAPS emphasis from src docstrings and comments (#204) (#291) (@seabbs-bot)

  • chore: un-underscore the public centred-pooling internals (#292) (@seabbs-bot)

  • feat: publish the reserved per-record field registry + misspelling guard (#262) (#299) (@seabbs-bot)

Closed issues:

  • Scaffold with EpiAwarePackageTools (ad=true) + hard-dep/re-export ConvolvedDistributions (#1)

  • Port core verb types + nesting contract (#2)

  • Port compose front-end + equality + tree_events (#3)

  • Port introspection + free_leaf/rewrap_leaf contract (#4)

  • Port intervene + Shared + generic composed_moments (#5)

  • Port bridges + Catalyst extension (#6)

  • Public convolve_distributions(stack) method (#7)

  • Composed×Modified extension (leaf-introspection glue) (#8)

  • DynamicPPL/Turing composer-half extension (#9)

  • FlexiChains extension (composer-only) (#10)

  • AD extensions for composed logpdf (#11)

  • LogDensityProblems extension — Turing-free inference substrate (#13)

  • Documenter CI fails: docs/Project.toml is missing the EpiAwarePackageTools dependency (#28)

  • Package cannot resolve on Julia 1.10 (lts) / downgrade CI: ConvolvedDistributions is unregistered and pinned via [sources] (needs Julia ≥1.11) (#29)

  • pre-commit CI fails: committed code does not match the pinned JuliaFormatter (drift in ADFixtures.jl and composers.jl) (#30)

  • Moment docstrings document a latent(d) API that does not exist (broken @refs + runtime error) (#31)

  • Docstrings reference downstream/censoring APIs not present in this package (broken @refs + wrong rand semantics) (#32)

  • Choose docstring says nesting a Choose inside a composer "is rejected", but the code fully supports it (#33)

  • README/module docstring call a Parallel a "delay chain"; compose one-row-matrix docs contradict the implementation (#34)

  • update/prune/splice/tie cannot descend through a Compete node (missing _edit_step(::Compete)) (#35)

  • Add CODECOV_TOKEN secret so coverage can upload (#40)

  • Enable GitHub Discussions on this repo (#43)

  • docs: port remaining composition case-study tutorials (generic, non-censoring) (#46)

  • Reconcile the Varying/Context/instantiate seam (PR #16) with the Uncertain machinery (PR #17) (#47)

  • Design review: package state vs north-star aims and the CensoredDistributions integration branch (#48)

  • Port the typed extension contract: AbstractComposedDistribution/AbstractMultiChild + TestUtils.test_interface harness (#49)

  • Port the LogDensityProblems core codec: flatten/unflatten + as_logdensity (#50)

  • Port the inference-readback verbs: param_draws / chain_to_params / param_priors / inspect (#51)

  • Add Varying/instantiate and Uncertain/has_uncertain to the concepts verb map (#54)

  • Reintroduce composer abstract hierarchy (AbstractComposedDistribution, AbstractMultiChild) (#56)

  • Decide home for inspect / param_priors introspection front-ends (#57)

  • Docs: print real output instead of ≈/== pseudo-tests; drop seam jargon (#64)

  • Design: uncertain-first model specification for the logdensity layer (#69)

  • Composers silently accept duplicate child/branch names, breaking name-keyed lookup (#70)

  • event() raises a bare KeyError instead of the package's usual descriptive ArgumentError (#71)

  • Re-exported ConvolvedDistributions surface (and 3 public-only bindings) missing from built API docs, causing broken @ref links (#72)

  • Fidelity audit vs integration/composed-stack: kept, enhanced, simplified, deferred (#74)

  • docs: interface-contracts.md introspection example errors (component_names not exported) (#76)

  • docs: competing-outcomes tutorial's NoEvent example never draws the branch it describes (#77)

  • Design: partial pooling of parameters across strata (hierarchical priors over composed trees) (#78)

  • events-selected per-event vector convolution over composed chains (#80)

  • See-through fitting of Convolved/Difference leaf component params (#81)

  • Audit Convolved-leaf interop with the LDP codec (#67) and Uncertain/Varying (#83)

  • Resolve branch probabilities cannot be estimated under uncertain-first (#89)

  • Docs: bare cannot resolve (two method docstrings) — pick an anchoring convention (#95)

  • Mooncake reverse returns a wrong gradient for the pooled (shared mu/tau) reconstruction (#99)

  • Consumer notice: ConvolvedDistributions renamed convolve_distributions to convolved + convolve_series (#102)

  • Remove infra from package tools notes (#106)

  • Use public integrate(::GaussLegendre, ...) instead of reaching into .rule/_GL internals in the racing-hazard quadrature (#109)

  • Add to_constrained + Bijectors extension to complete the PPL-neutral codec (the one unowned composer verb from #96) (#111)

  • CI: Auto Version Increment workflow fails on every push to main (#113)

  • Cleanup: leftover internal 'intervene' name (file + comments) (#114)

  • Compete winning probabilities can sum slightly above 1 (quadrature) (#115)

  • Test: Modified-wrapped leaves through the chain series-convolution path (#117)

  • Modified-ext: honour Affine moments (scale/shift dropped by _leaf_mean) (#120)

  • Breaking: ConvolvedDistributions 0.2 makes convolve_series discrete-only — the Sequential collapse path must discretise explicitly (#121)

  • ComposedDistributions cannot precompile: compat pins ConvolvedDistributions 0.1 but imports convolved (added in 0.2) (#124)

  • compat: bump ConvolvedDistributions to 0.2 — downstream stack is unresolvable (#125)

  • ConvolvedDistributions 0.2.0-dev changes affecting this package (fixes, product member, upcoming AD-seam move) (#137)

  • Re-export ConvolvedDistributions' new product/Product (Mellin convolution) family (#139)

  • Make _uncertain_specs / _leaf_detail_lines public for downstream leaf-wrapper packages (#142)

  • compose API differs from CensoredDistributions: NamedTuple vs varargs pairs (#145)

  • Mooncake (fwd+rev) can't differentiate through logdensity/unflatten's DimensionMismatch string interpolation (#146)

  • Add a LoweredDistributions bridge: lower(::composer) → dynamical-systems spec (#149)

  • @uncertain macro: natural syntax for uncertain composed trees (#155)

  • Event-skeleton macro: declare an event tree, then actualise with distributions (#156)

  • Teach the FlexiChains readback to consume pooled chains (unblock as_turing for pooled trees) (#157)

  • Enzyme reverse cannot differentiate the logdensity codec for an uncertain-leaf tree (opaque-pointer compile error) (#162)

  • KIT: bootstrap_sources_registry does not register a [sources] dep that has its own unregistered transitive dep (benchmark-history chain) (#164)

  • Promote the composer leaf/uncertain protocol to a public, stably-named API — enable one-directional downstream extensions, remove the MD↔CD extension cycle (#170)

  • test: tautological assertion in test/composers/composers.jl:30 (|| true always passes) (#171)

  • UX: minimum/maximum on a composed tree throw an opaque iterate MethodError (#172)

  • Namespace collision: a pool group and a shared tag with the same name silently clobber each other in the readback merge (#177)

  • docs: link the generated Release notes page from the nav (#187)

  • Generated codec cannot see leaf-wrapper hooks added by a later-loaded extension (@generated world-age gap) (#188)

  • Generated codec: extension-provided leaf types need a load-order-independent dispatch mechanism (#178 PR 4) (#189)

  • Modifier-leaf protocol methods absent in a bare using ComposedDistributions, ModifiedDistributions session (extension-load quirk) (#191)

  • Unify params_table onto the generated codec walk + add the shared-tag/as_turing ordering guard test (#178 follow-up) (#192)

  • Hygiene: floating rev=main [sources] pins go silently stale in local envs after cross-repo choreography (#193)

  • Design pass: the prior-attachment workflow — build_priors/param_priors vs update-as-the-verb, @uncertain, and the DI boundary (#195)

  • Resolve with subtree outcomes cannot nest inside an ancestor Sequential/Parallel (no scalar as_mixture) (#200)

  • docs: sweep ALL-CAPS emphasis from docstrings (org style, per Censored#513 / kit#57) (#204)

  • Public-declare _centred_pool_rows/_pool_centred_logprior/CentredPoolPrior (reached by DI's fit-protocol extension) (#212)

  • Audit: truncated()/censored() interop (leaves work/broken, tree-wrap is ill-defined) (#213)

  • Widen ComposedDistributionsMooncakeExt to @from_chainrules (both AD directions) for xlogy/xlog1py (#214)

  • update(tree, table): one distribution-valued entry flips merge-mode tree-wide, demanding Dirichlet branch_probs on every Resolve (#219)

  • Should we still have this logdensity extension or should it be in distributionsinference? (#220)

  • Lots of packages have update syntax do we want to be careful here and not export us but make it public? (#221)

  • Check mooncake rules still required (#222)

  • AD support check scenarios get coverage up on AD (#223)

  • Remove design notes folder (#224)

  • Review tests for DRY, coverage, and robustness i.e not just is output of the correct shape (#225)

  • Why are we rexporing convolveddistributions? (#228)

  • _function marked as public (#229)

  • It looks like hazards_one_of is the wrong name for this file (#230)

  • Benchmarks docs page looks out of date with KIT standards is not in line with censoreddistributions main approach (#231)

  • Docs example for @events framework (#232)

  • as_turing is this stub something the package should still have or does this live in DisstrivbutionsInfernece? (#233)

  • Give a no-event one_of node a defective marginal survival (#254)

  • Racing node quadrature window breaks on composite and infinite-quantile components (#259)

  • Absolute-position transform over a composed record (#269)

  • Missing-admitting scoring on multi-child composers (#271)

  • docs: add a page for the @events macro and EventSkeleton (declare topology, fill later with update) (#279)

Every release, including any older than those above, is listed on the releases page.