Skip to content

Releases: tskit-dev/tskit-rust

v0.16.3

05 May 19:24
96839e1

Choose a tag to compare

[0.16.3] - 2026-05-05

Bug Fixes

  • Node::individual now returns correct value (#903)

Features

  • TreeSequenceFlags::compute_mutation_parents (#901)

Testing

  • Extract preorder test code for reuse (#902)

v0.16.2

05 May 17:42
dd89ccc

Choose a tag to compare

[0.16.2] - 2026-05-05

Bug Fixes

  • SiteRef::mutation_iter().rev() now has correct behavior (#889)
  • Correct bounds check on preorder root node (#895)

Documentation

  • Update docs for node traversal orders (#888)
  • Fix some doc errors (#898)

Features

  • Tree/treeseq SiteRef iterators are now double ended (#891)
  • Tree::children now returns DoubleEndedIterator (#892)

Refactor

  • Deprecate a function redundant with standard iterator operations (#887)
  • SiteRef iteration uses only basic slice ops (#890)
  • Root iteration is now child iteration with respect to the virtual root (#893)
  • Deprecate function redundant w/standard iterator ops (#897)
  • Rewrite constructor for preorder node iterator (#899)

Testing

  • Preorder traversal of subtrees (#894)

v0.16.1

03 May 19:19
540579c

Choose a tag to compare

[0.16.1] - 2026-05-03

Bug Fixes

  • Correct implementation of nth for SiteRef/MutationRef iteration (#885)

Features

  • SiteRef::mutation_iter now returns a double-ended iterator (#884)

v0.16.0

01 May 17:43
5612831

Choose a tag to compare

This release is mostly about table rows and table row iterators.

The rust back end was rewritten and the new API faithfully mimics the C API,
We get zerocopy access to sites/mutations now from tree sequences.
Row objects to not own their ragged column data, are lifetime-bound to their parents, etc..

0.15.0

06 Apr 16:25
1e0aa89

Choose a tag to compare

v0.15.0

prep 0.15.0 release (#844)

Alpha release

07 May 23:07
94b20ef

Choose a tag to compare

Alpha release Pre-release
Pre-release

Alpha release of 0.15. The changelog is not updated. This release is a placeholder so that others can pull from crates.io.

0.14.1

16 Apr 19:01

Choose a tag to compare

[0.14.1] - 2023-04-16

Bug Fixes

  • Tree now tied to TreeSequence lifetime (#497)

Miscellaneous Tasks

  • Update delegate requirement from 0.8.0 to 0.9.0 (#494)

0.14.0

18 Mar 00:00

Choose a tag to compare

[0.14.0] - 2023-03-17

Documentation

  • Book section on node defaults (#491)

Features

  • Allow use of bookmark in examples/haploid_wright_fisher (#479)
  • Impl Default for row id types (#484)
  • Impl Default for Bookmark (#486)
  • Implement Builder pattern for flags (#487)
  • Support adding nodes with defaults (#488)

Miscellaneous Tasks

  • [breaking] Bump MSRV to 1.60.0 (#478)

Refactor

  • Remove internal impl Deref/DerefMut for edge diff iterator. (#482)
  • Mod table_view is no longer pub (#483)
  • [breaking] TableCollection::simplify now takes &[NodeId] (#485)
  • Replace macros with fn for adding node table rows (#489)
  • Manually impl Default for NodeDefaultsWithMetadata (#490)

0.12.0

23 Dec 22:03

Choose a tag to compare

[0.12.0] - 2022-12-23

Documentation

  • Book section on lending row iterators (#406)
  • Advanced metadata topics in book (#407)
  • Book chapter on edge differences (#417)

Features

  • TreeSequence::edge_differences_iter (#410)
  • Add convience functions to get usize from row ids. (#413)
  • Tree::total_branch_length now works. (#429)
  • Add getters/setters for Bookmark. (#437)

Miscellaneous Tasks

  • Update bindgen requirement from 0.61.0 to 0.63.0 (#415)

Refactor

  • [breaking] Replace Deref with delegation of TableViews API (#409)
  • [breaking] Remove TskitTypeAccess trait (#411)
  • Allow TreeSequence::edge_differences_iter to Err. (#412)
  • [breaking] Usize to SizeType conversion is now fallible. (#419)
  • Macros only use newtype public API. (#420)
  • Move newtypes into module (#421)
  • The raw_metadata fn for tables now takes Into. (#425)
  • Add low-level table wrappers to sys (#426)
  • Generalize slice building in sys (#427)
  • Remove many unsafe calls from tree_interface.rs (#428)
  • Add sys::LLTreeSeq. (#430)
  • Sys module no longer depends on TskitError (#431)
  • Move Drop details for TreeSequence to sys. (#432)
  • Add low level owning tables to sys (#433)
  • Tidy up table definitions (#434)

Styling

  • [breaking] Rename all OwnedX tables to OwningX. (#408)
  • Replace column access macro with generic fn (#422)
  • Generic fns for ragged column access (#423)
  • Use fn to get array slices from Trees. (#424)

v0.12.0-alpha.1

09 Nov 19:52

Choose a tag to compare

v0.12.0-alpha.1 Pre-release
Pre-release

[0.12.0-alpha.1] - 2022-11-09

Bug Fixes

  • [breaking] MetadataError::RoundtripError now requires Send + Sync (#396)

Documentation

  • Add haploid WF example to book (#397)

Features

  • Add examples/haploid_wright_fisher.rs (#394)
  • Add lending iterators over table row "views" (#398)
  • Impl PartialEq for table row views. (#400)
  • Add ProvenenceTableRowView (#401)
  • Add row_view() for tables (#402)
  • Column slice getters for tables (#404)

Refactor

  • [breaking] Return &str from provenance table getters (#403)
  • Deprecate NodeTable::flags_array_mut and NodeTable::time_array_mut (#405)