1- ----------
2- Unreleased
3- ----------
4-
5- **Features **
6-
7- - ``TreeSequence.variants ``, ``.genotype_matrix ``, ``.haplotypes ``, and ``.alignments `` methods
8- now fully support ``isolated_as_missing `` behaviour with internal nodes. ``.alignments `` is
9- also around 10% faster.
10- (:user: `benjeffery `, :pr: `3313 `, :pr: `3317 `, :issue: `1896 `)
1+ --------------------
2+ [1.0.0] - 2025-11-27
3+ --------------------
114
12- **Breaking Changes **
5+ **Breaking changes **
136
14- - The ``reference_sequence `` argument to ``TreeSequence.alignments `` is now required
15- to be the same length as the tree sequence. Previously it was required to be the length
16- of the requested interval.
7+ - The ``reference_sequence `` argument to ``TreeSequence.alignments `` is now
8+ required to be the same length as the tree sequence. Previously it was
9+ required to be the length of the requested interval.
1710 (:user: `benjeffery `, :pr: `3317 `)
1811
19- ----------------------
20- [1.0.0b3] - 2025-10-15
21- ----------------------
22-
23- **Breaking Changes **
24-
2512- ``TreeSequence.tables `` now returns a zero-copy immutable view of the tables.
2613 To get a mutable copy, use ``TreeSequence.dump_tables() ``.
2714 (:user: `benjeffery `, :pr: `3288 `, :issue: `760 `)
2815
29- - For a tree sequence to be valid mutation parents in the table collection
16+ - For a tree sequence to be valid, the mutation parents in the table collection
3017 must be correct and consistent with the topology of the tree at each mutation site.
3118 ``TableCollection.tree_sequence() `` will raise a ``_tskit.LibraryError `` if this
3219 is not the case.
3320 (:user: `benjeffery `, :issue: `2729 `, :issue: `2732 `, :pr: `3212 `).
3421
35- - Drop Python 3.9 support, require Python >= 3.10 (:pr: `3267 `, :user: `benjeffery `)
22+ - Drop Python 3.9 support and require Python >= 3.10.
23+ (:pr: `3267 `, :user: `benjeffery `)
3624
25+ - ``ltrim ``, ``rtrim ``, ``trim `` and ``shift `` raise an error if they are
26+ used on a tree sequence containing a reference sequence.
27+ (:user: `hyanwong `, :pr: `3210 `, :issue: `2091 `)
3728
3829**Features **
3930
4031- Add ``tskit.jit.numba.jitwrap `` and ``NumbaTreeSequence `` to allow simplified
41- use and development of numba -jitted functions with tree sequences. See the
32+ use and development of Numba -jitted functions with tree sequences. See the
4233 `documentation <https://tskit.dev/tskit/docs/stable/numba.html >`_ for details.
4334 (:user: `andrewkern `, :pr: `3295 `, :issue: `3294 `)
4435
4536- ``TreeSequence.map_to_vcf_model `` now also returns the transformed positions and
4637 contig length. (:user: `benjeffery `, :pr: `3174 `, :issue: `3173 `)
4738
48- - ``draw_svg() `` methods now associate tree branches with edge IDs
39+ - ``draw_svg() `` methods now associate tree branches with edge IDs.
4940 (:user: `hyanwong `, :pr: `3193 `, :issue: `557 `)
5041
5142- ``draw_svg() `` methods now allow the y-axis to be placed on the right-hand side
52- using ``y_axis="right" `` (:user: `hyanwong `, :pr: `3201 `)
43+ using ``y_axis="right" ``. (:user: `hyanwong `, :pr: `3201 `)
5344
5445- Add ``contig_id `` and ``isolated_as_missing `` to ``VcfModelMapping ``
55- (:user: `benjeffery `, :pr: `3219 `, :issue: `3177 `)
46+ (:user: `benjeffery `, :pr: `3219 `, :issue: `3177 `).
5647
57- - Add ``TreeSequence.mutations_edge `` which returns the edge ID for each mutation's
48+ - Add ``TreeSequence.mutations_edge ``, which returns the edge ID for each mutation's
5849 edge. (:user: `benjeffery `, :pr: `3226 `, :issue: `3189 `)
5950
6051- Add ``TreeSequence.sites_ancestral_state ``, ``TreeSequence.mutations_derived_state `` and
61- ``TreeSequence.mutations_inherited_state `` properties to return the ancestral state of sites,
62- derived state of mutations and inherited state of mutations as NumPy arrays of
63- the new numpy 2.0 StringDType.
52+ ``TreeSequence.mutations_inherited_state `` properties to return the ancestral state of sites,
53+ the derived state of mutations and the inherited state of mutations as NumPy arrays of
54+ the new NumPy 2.0 `` StringDType `` .
6455 (:user: `benjeffery `, :pr: `3228 `, :issue: `2632 `, :pr: `3276 `, :issue: `2631 `)
6556
66- - Tskit now distributes with a requirement of numpy version 2 or greater. However, you can still use
67- tskit with numpy 1.X by building tskit from source with numpy 1.X using ``pip install tskit --no-binary tskit ``.
68- With numpy 1.X, any use of the new StringDType properties will result in a ``RuntimeError ``.
69- If you try to use another python module that was compiled against numpy 1.X with numpy 2.X you may see
70- the error "A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.0 as it may crash.".
71- If no newer version of the module is available you will have to use the Numpy 1.X build as above.
57+ - Tskit now requires NumPy version 2 or later. However, you can still use
58+ tskit with NumPy 1.x by building tskit from source with NumPy 1.x using
59+ ``pip install tskit --no-binary tskit ``. With NumPy 1.x, any use of the new
60+ ``StringDType `` properties will result in a ``RuntimeError ``. If you try to
61+ use another Python module that was compiled against NumPy 1.x with NumPy 2.x
62+ you may see the error "A module that was compiled using NumPy 1.x cannot be
63+ run in NumPy 2.0.0 as it may crash.". If no newer version of the module is
64+ available you will have to use the NumPy 1.x build as above.
7265
7366- Add ``Mutation.inherited_state `` property which returns the inherited state
7467 for a single mutation. (:user: `benjeffery `, :pr: `3277 `, :issue: `2631 `)
@@ -79,6 +72,11 @@ Unreleased
7972
8073- Add ``TreeSequence.divergence_matrix ``, which was previously undocumented.
8174
75+ - ``TreeSequence.variants ``, ``.genotype_matrix ``, ``.haplotypes ``, and ``.alignments `` methods
76+ now fully support ``isolated_as_missing `` behaviour with internal nodes. ``.alignments `` is
77+ also around 10% faster.
78+ (:user: `benjeffery `, :pr: `3313 `, :pr: `3317 `, :issue: `1896 `)
79+
8280**Bugfixes **
8381
8482- In some tables with mutations out-of-order ``TableCollection.sort `` did not re-order
@@ -89,16 +87,17 @@ Unreleased
8987 their original order in the tables. (:user: `benjeffery `, :pr: `3257 `, :issue: `3253 `)
9088
9189- Fix bug in ``TreeSequence.genetic_relatedness_vector `` that previously ignored
92- ``span_normalise ``: previously, ``span_normalise `` was always set to ``False ``;
93- now the default is ``True `` in agreement with other statistics, so the returned
94- values will change. (:user: `petrelharp `, :pr: `3300 `, :issue: `3241 `)
90+ ``span_normalise ``: previously, ``span_normalise `` was always set to ``False ``;
91+ now the default is ``True `` in agreement with other statistics, so the returned
92+ values will change. (:user: `petrelharp `, :pr: `3300 `, :issue: `3241 `)
9593
9694- Fix bug in ``TreeSequence.pair_coalescence_counts `` when ``span_normalise=True ``
9795 and a window breakpoint falls within an internal missing interval.
9896 (:user: `nspope `, :pr: `3176 `, :issue: `3175 `)
9997
100- - Fix metadata schemas that are equal but have different byte representations not being equal
101- when using ``TableCollection.assert_equals `` and ``Table.assert_equals ``.
98+ - Fix metadata schemas that are equal but have different byte representations not
99+ being considered equal when using ``TableCollection.assert_equals `` and
100+ ``Table.assert_equals ``.
102101 (:user: `benjeffery `, :pr: `3246 `, :issue: `3244 `)
103102
104103- k-way statistics no longer require k sample sets, allowing in particular
@@ -110,18 +109,13 @@ Unreleased
110109 values with mutations over roots.
111110 (:user: `benjeffery `, :pr: `3274 `, :issue: `3273 `)
112111
113- - Prevent iterating over a ``TopologyCounter ``
114- (:user: `benjeffery ` , :pr: `3202 `, :issue: `1462 `)
112+ - Prevent iterating over a ``TopologyCounter ``.
113+ (:user: `benjeffery `, :pr: `3202 `, :issue: `1462 `)
115114
116115- Fix ``TreeSequence.concatenate() `` to work with internal samples by using the
117- ``all_mutations `` and ``all_edges `` parameters in ``union() ``
116+ ``all_mutations `` and ``all_edges `` parameters in ``union() ``.
118117 (:user: `hyanwong `, :pr: `3283 `, :issue: `3181 `)
119118
120- **Breaking changes **
121-
122- - ``ltrim ``, ``rtrim ``, ``trim `` and ``shift `` raise an error if used on a tree sequence
123- containing a reference sequence (:user: `hyanwong `, :pr: `3210 `, :issue: `2091 `)
124-
125119--------------------
126120[0.6.4] - 2025-05-21
127121--------------------
0 commit comments