Skip to content

Commit f1b139e

Browse files
authored
1.0.0 Release prep (#3342)
1 parent 7dff9d9 commit f1b139e

File tree

7 files changed

+57
-58
lines changed

7 files changed

+57
-58
lines changed

c/CHANGELOG.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
----------
2-
Unreleased
3-
----------
1+
--------------------
2+
[1.3.0] - 2025-11-27
3+
--------------------
44

55
**Breaking changes**
66

@@ -12,13 +12,13 @@ Unreleased
1212
**Features**
1313

1414
- ``tsk_variant_init`` and associated variant decoding methods now
15-
fully support TSK_ISOLATED_NOT_MISSING not being set for internal nodes.
15+
fully support ``TSK_ISOLATED_NOT_MISSING`` not being set for internal nodes.
1616
(:user:`benjeffery`, :pr:`3313`)
1717

1818
- Add ``tsk_treeseq_decode_alignments`` to decode full-length reference-based
1919
sequence alignments for specified nodes over a genomic interval, respecting
2020
``TSK_ISOLATED_NOT_MISSING`` semantics.
21-
(:user:`benjeffery` , :pr:`3324`, :issue:`3319`)
21+
(:user:`benjeffery`, :pr:`3324`, :issue:`3319`)
2222

2323

2424
--------------------

c/VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.2.0
1+
1.3.0

c/tskit/core.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ sizes and types of externally visible structs.
147147
The library minor version. Incremented when non-breaking backward-compatible changes
148148
to the API or ABI are introduced, i.e., the addition of a new function.
149149
*/
150-
#define TSK_VERSION_MINOR 2
150+
#define TSK_VERSION_MINOR 3
151151
/**
152152
The library patch version. Incremented when any changes not relevant to the
153153
to the API or ABI are introduced, i.e., internal refactors of bugfixes.

python/CHANGELOG.rst

Lines changed: 43 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,67 @@
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
--------------------

python/tests/test_immutable_table_collection.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,11 @@ def test_immutable_has_method_or_mutator(self, ts_fixture):
498498
for name in dir(tc):
499499
if name.startswith("_"):
500500
continue
501+
# Use getattr_static first so we don't trigger properties like
502+
# the deprecated ``name_map`` attribute, which emits warnings.
503+
attr = inspect.getattr_static(tc, name)
504+
if isinstance(attr, property):
505+
continue
501506
attr = getattr(tc, name)
502507
if inspect.ismethod(attr) and getattr(attr, "__self__", None) is tc:
503508
tc_methods.append(name)

python/tests/test_lowlevel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5089,7 +5089,7 @@ def test_kastore_version(self):
50895089

50905090
def test_tskit_version(self):
50915091
version = _tskit.get_tskit_version()
5092-
assert version == (1, 2, 0)
5092+
assert version == (1, 3, 0)
50935093

50945094
def test_tskit_version_file(self):
50955095
maj, min_, patch = _tskit.get_tskit_version()

python/tskit/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Definitive location for the version number.
22
# During development, should be x.y.z.devN
33
# For beta should be x.y.zbN
4-
tskit_version = "1.0.0b3"
4+
tskit_version = "1.0.0"

0 commit comments

Comments
 (0)