Skip to content

Commit 03a4472

Browse files
authored
Merge pull request #1656 from benjeffery/64bit-wrapup
Changelogs and versions for 64bit offset changes
2 parents c2d924d + 5f57f9f commit 03a4472

File tree

5 files changed

+36
-2
lines changed

5 files changed

+36
-2
lines changed

c/CHANGELOG.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22
[0.99.14] - 2021-0X-XX
33
----------------------
44

5+
**Breaking changes**
6+
7+
- 64 bits are now used to store the sizes of ragged table columns such as metadata,
8+
allowing them to hold more data. As such ``tsk_size_t`` is now 64 bits wide.
9+
This change is fully backwards and forwards compatible for all tree-sequences whose
10+
ragged column sizes fit into 32 bits. New tree-sequences with
11+
large offset arrays that require 64 bits will fail to load in previous versions with
12+
error ``TSK_ERR_BAD_COLUMN_TYPE``.
13+
(:user:`jeromekelleher`, :issue:`343`, :issue:`1527`, :issue:`1528`, :issue:`1530`,
14+
:issue:`1554`, :issue:`1573`, :issue:`1589`,:issue:`1598`,:issue:`1628`, :pr:`1571`,
15+
:pr:`1579`, :pr:`1585`, :pr:`1590`, :pr:`1602`, :pr:`1618`, :pr:`1620`, :pr:`1652`).
16+
517
**Features**
618

719
- Add `tsk_X_table_update_row` methods which allow modifying single rows of tables

c/tskit/core.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ to the API or ABI are introduced, i.e., internal refactors of bugfixes.
197197
#define TSK_FILE_FORMAT_NAME "tskit.trees"
198198
#define TSK_FILE_FORMAT_NAME_LENGTH 11
199199
#define TSK_FILE_FORMAT_VERSION_MAJOR 12
200-
#define TSK_FILE_FORMAT_VERSION_MINOR 4
200+
#define TSK_FILE_FORMAT_VERSION_MINOR 5
201201

202202
/**
203203
@defgroup GENERAL_ERROR_GROUP General errors.

python/CHANGELOG.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@
77
- The CLI `info` command now gives more detailed information on the tree sequence
88
(:user:`benjeffery`, :pr:`1611`)
99

10+
- 64 bits are now used to store the sizes of ragged table columns such as metadata,
11+
allowing them to hold more data. This change is fully backwards and forwards compatible
12+
for all tree-sequences whose ragged column sizes fit into 32 bits. New tree-sequences with
13+
large offset arrays that require 64 bits will fail to load in previous versions with
14+
error ``_tskit.FileFormatError: An incompatible type for a column was found in the
15+
file``.
16+
(:user:`jeromekelleher`, :issue:`343`, :issue:`1527`, :issue:`1528`, :issue:`1530`,
17+
:issue:`1554`, :issue:`1573`, :issue:`1589`,:issue:`1598`,:issue:`1628`, :pr:`1571`,
18+
:pr:`1579`, :pr:`1585`, :pr:`1590`, :pr:`1602`, :pr:`1618`, :pr:`1620`, :pr:`1652`).
19+
1020
**Features**
1121

1222
- Add `__setitem__` to all tables allowing single rows to be updated. For example

python/lwt_interface/CHANGELOG.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
--------------------
2+
[0.1.4] - 2021-09-02
3+
--------------------
4+
5+
- Offset columns are now 64 bit in tskit. For compatibility, offset arrays that fit into
6+
32bits will be a 32bit array in the dict encoding. Large arrays that require 64 bit
7+
will fail to ``fromdict`` in previous versions with the error:
8+
``TypeError: Cannot cast array data from dtype('uint64') to dtype('uint32') according
9+
to the rule 'safe'``
10+
A ``force_offset_64`` option on ``asdict`` allows the easy creation of 64bit arrays for
11+
testing.
12+
113
--------------------
214
[0.1.3] - 2021-02-01
315
--------------------

python/tests/test_file_format.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444

4545
CURRENT_FILE_MAJOR = 12
46-
CURRENT_FILE_MINOR = 4
46+
CURRENT_FILE_MINOR = 5
4747

4848
test_data_dir = os.path.join(os.path.dirname(__file__), "data")
4949

0 commit comments

Comments
 (0)