@@ -4,11 +4,11 @@ All notable changes to `RcppTskit` are documented in this file.
44The file format is based on [ Keep a Changelog] ( https://keepachangelog.com ) ,
55and releases adhere to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
66
7- ## [ 0.3.0] 2026-MM-DD
7+ ## [ 0.3.0] 2026-03-02
88
99### Added (new features)
1010
11- - Added the following scalar getters to match tskit C/Python API
11+ - Added the following scalar getters to match ` tskit C/Python ` API
1212 - ` TreeSequence$discrete_genome() ` to query whether genome coordinates
1313 are discrete integer values.
1414 - ` TreeSequence$has_reference_sequence() ` to query whether a tree sequence
@@ -25,41 +25,56 @@ and releases adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html
2525 - ` TableCollection$has_index() ` to query whether edge indexes are present.
2626- Added a public header and defaults for downstream use of ` C++ ` functions in
2727 ` inst/include/RcppTskit_public.hpp ` , included by ` inst/include/RcppTskit.hpp ` .
28+ - Added ` TableCollection$build_index() ` to build indexes and
29+ ` TableCollection$drop_index() ` to drop indexes.
2830- TODO
2931
3032### Changed
3133
32- - Renamed low-level external-pointer API names from ` *_ptr_* ` to ` *_xptr_* `
33- (for example, ` ts_ptr_load() ` to ` ts_xptr_load() ` ) to make external-pointer
34- vs standard/raw-pointer semantics explicit.
34+ - Renamed low-level C++ and R API names such that we map onto ` tskit C ` API,
35+ for example, ` ts_ptr_load() ` to ` rtsk_treeseq_load() ` .
36+ This is an internal breaking change, but in a good direction now that the
37+ package is still young and in experimental mode.
38+ - Renamed ` TreeSequence ` and ` TableCollection ` external-pointer field and
39+ constructor argument from ` pointer ` to ` xptr ` .
40+ - Ensured ` TableCollection$tree_sequence() ` matches ` tskit Python ` API:
41+ it now builds indexes on the ` TableCollection ` , if indexes are not present.
42+ - TODO
43+
44+ ### Maintenance
45+
46+ - Turn vignette URL as hyperlinks and similar cosmetics.
47+ - State mirroring of the ` R/Python ` APIs and ` C++/C ` APIs across the package.
48+ - TODO
3549
3650## [ 0.2.0] - 2026-02-22
3751
3852### Added (new features)
3953
40- - Added TableCollection R6 class alongside ` tc_load() ` or ` TableCollection$new() ` ,
41- as well as ` dump() ` , ` tree_sequence() ` , and ` print() ` methods.
54+ - Added ` TableCollection ` ` R6 ` class alongside ` tc_load() ` or
55+ ` TableCollection$new() ` , as well as ` dump() ` , ` tree_sequence() ` , and
56+ ` print() ` methods.
4257
43- - Added ` TreeSequence$dump_tables() ` to copy tables into a TableCollection.
58+ - Added ` TreeSequence$dump_tables() ` to copy tables into a ` TableCollection ` .
4459
45- - Added TableCollection and reticulate Python round-trip helpers:
60+ - Added ` TableCollection ` and reticulate ` Python ` round-trip helpers:
4661 ` TableCollection$r_to_py() ` and ` tc_py_to_r() ` .
4762
48- - Changed the R API to follow tskit Python API for loading:
63+ - Changed the ` R ` API to follow ` tskit Python ` API for loading:
4964 ` ts_load() ` , ` tc_load() ` , ` TreeSequence$new() ` , and ` TableCollection$new() `
5065 now use ` skip_tables ` and ` skip_reference_sequence ` logical arguments instead
5166 of an integer ` options ` bitmask.
5267
5368- Removed user-facing ` options ` from ` TreeSequence$dump() ` ,
5469 ` TreeSequence$dump_tables() ` , ` TableCollection$dump() ` , and
55- ` TableCollection$tree_sequence() ` to match R API with the tskit Python API,
56- while C++ API has the bitwise ` options ` like the tskit C API.
70+ ` TableCollection$tree_sequence() ` to match ` R ` API with the ` tskit Python ` API,
71+ while ` C++ ` API has the bitwise ` options ` like the ` tskit C ` API.
5772
58- - The bitwise options passed to C++ are now validated.
73+ - The bitwise options passed to ` C++ ` are now validated.
5974
6075### Changed
6176
62- - We now specify C++20 standard to go around the CRAN Windows issue,
77+ - We now specify ` C++20 ` standard to go around the CRAN Windows issue,
6378 see #63 for further details.
6479
6580### Maintenance
@@ -81,21 +96,21 @@ This is the first release.
8196
8297### Added (new features)
8398
84- - Initial version of RcppTskit using the tskit C API (1.3.0).
99+ - Initial version of ` RcppTskit ` using the ` tskit C ` API (1.3.0).
85100
86- - TreeSequence R6 class so R code looks Pythonic.
101+ - ` TreeSequence R6 ` class so ` R ` code looks Pythonic.
87102
88- - ` ts_load() ` or ` TreeSequence$new() ` to load a tree sequence from file into R .
103+ - ` ts_load() ` or ` TreeSequence$new() ` to load a tree sequence from file into ` R ` .
89104
90105- Methods to summarise a tree sequence and its contents ` ts$print() ` ,
91106 ` ts$num_nodes() ` , etc.
92107
93108- Method to save a tree sequence to a file ` ts$dump() ` .
94109
95- - Method to push tree sequence between R and reticulate Python
110+ - Method to push tree sequence between ` R ` and reticulate ` Python `
96111 ` ts$r_to_py() ` and ` ts_py_to_r() ` .
97112
98- - Most methods have an underlying (unexported) C++ function that works with
113+ - Most methods have an underlying (unexported) ` C++ ` function that works with
99114 a pointer to tree sequence object, for example, ` RcppTskit:::ts_ptr_load() ` .
100115
101116- All implemented functionality is documented and demonstrated with a vignette.
0 commit comments