You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: NEWS.rst
+50-2Lines changed: 50 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -5,8 +5,56 @@ User-Visible Changes in Tahoe-LAFS
5
5
==================================
6
6
7
7
.. towncrier start line
8
-
Release 1.190 (2024-01-04)
9
-
''''''''''''''''''''''''''
8
+
9
+
10
+
Release 1.20.0 (2024-12-03)
11
+
'''''''''''''''''''''''''''
12
+
13
+
Backwards Incompatible Changes
14
+
------------------------------
15
+
16
+
- Properly interpret "tahoe create --storage-dir" as an option.
17
+
18
+
Versions 1.19.0 and older interpreted "--storage-dir" as a "flag" and thus wouldn't work properly. (`#4110 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4110>`_)
19
+
20
+
21
+
Features
22
+
--------
23
+
24
+
- Continued work to make Tahoe-LAFS take advantage of multiple CPUs. (`#4072 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4072>`_)
25
+
- Mutable directories can now be created with a pre-determined "signature key" via the web API using the "private-key=..." parameter. The "private-key" value must be a DER-encoded 2048-bit RSA private key in urlsafe base64 encoding. (`#4094 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4094>`_)
26
+
27
+
28
+
Bug Fixes
29
+
---------
30
+
31
+
- Upgrade CBOR, fixing encoding on 65KiB++ strings (`#4087 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4087>`_)
32
+
- Stop using the C version of the cbor2 decoder. (`#4088 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4088>`_)
33
+
- Fix incompatibility with cryptography 43. (`#4100 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4100>`_)
34
+
- Fix incompatibility with attrs 24.1. (`#4101 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4101>`_)
35
+
36
+
37
+
Dependency/Installation Changes
38
+
-------------------------------
39
+
40
+
- Now using the "hatch" build system, and pyproject.toml (exclusively) (`#4133 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4133>`_)
41
+
42
+
43
+
Documentation Changes
44
+
---------------------
45
+
46
+
- Tahoe-LAFS manual's table of contents page has been reorganized. (`#3636 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3636>`_)
47
+
- Add a global Sphinx generated glossary. Link the static GBS glossary to the global glossary. (`#4116 <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4116>`_)
Copy file name to clipboardExpand all lines: docs/release-checklist.rst
+48-92Lines changed: 48 additions & 92 deletions
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
Release Checklist
4
4
=================
5
5
6
-
This release checklist specifies a series of checks that anyone engaged in
6
+
This release checklist specifies a series of checks that anyone engaged in
7
7
releasing a version of Tahoe should follow.
8
8
9
9
Any contributor can do the first part of the release preparation. Only
@@ -39,19 +39,19 @@ Tuesday if you want to get anything in").
39
39
Get a clean checkout
40
40
````````````````````
41
41
42
-
The release proccess involves compressing source files and putting them in formats
43
-
suitable for distribution such as ``.tar.gz`` and ``zip``. That said, it's neccesary to
42
+
The release proccess involves compressing source files and putting them in formats
43
+
suitable for distribution such as ``.tar.gz`` and ``zip``. That said, it's neccesary to
44
44
the release process begins with a clean checkout to avoid making a release with
45
45
previously generated files.
46
46
47
-
- Inside the tahoe root dir run ``git clone . ../tahoe-release-x.x.x`` where (x.x.x is the release number such as 1.16.0).
47
+
- Inside the tahoe root dir run ``git clone . ../tahoe-release-x.x.x`` where (x.x.x is the release number such as 1.16.0).
48
48
49
-
.. note::
50
-
The above command would create a new directory at the same level as your original clone named ``tahoe-release-x.x.x``. You can name this folder however you want but it would be a good
49
+
.. note::
50
+
The above command would create a new directory at the same level as your original clone named ``tahoe-release-x.x.x``. You can name this folder however you want but it would be a good
51
51
practice to give it the release name. You MAY also discard this directory once the release
52
52
process is complete.
53
53
54
-
Get into the release directory and install dependencies by running
54
+
Get into the release directory and install dependencies by running:
55
55
56
56
- cd ../tahoe-release-x.x.x (assuming you are still in your original clone)
57
57
- python -m venv venv
@@ -61,94 +61,68 @@ Get into the release directory and install dependencies by running
61
61
Create Branch and Apply Updates
62
62
```````````````````````````````
63
63
64
-
- Create a branch for the release/candidate (e.g. ``XXXX.release-1.16.0``)
65
-
- run tox -e news to produce a new NEWS.txt file (this does a commit)
66
-
- create the news for the release
67
-
68
-
- newsfragments/<ticket number>.minor
69
-
- commit it
70
-
71
-
- manually fix NEWS.txt
64
+
- Create a branch for the release/candidate: git checkout -b XXXX.release-1.16.0
65
+
- produce a new NEWS.txt file (this does a commit): tox -e news
66
+
- create the news for the release:
67
+
- touch newsfragments/<ticket number>.minor
68
+
- git add newsfragments/<ticket number>.minor
69
+
- git commit -m news
72
70
71
+
- manually fix ``NEWS.txt``:
73
72
- proper title for latest release ("Release 1.16.0" instead of "Release ...post1432")
74
73
- double-check date (maybe release will be in the future)
75
-
- spot-check the release notes (these come from the newsfragments
76
-
files though so don't do heavy editing)
74
+
- spot-check the release notes (these come from the newsfragments files though so don't do heavy editing)
77
75
- commit these changes
78
76
79
-
- update "relnotes.txt"
80
-
77
+
- update ``relnotes.txt``:
81
78
- update all mentions of ``1.16.0`` to new and higher release version for example ``1.16.1``
82
79
- update "previous release" statement and date
83
80
- summarize major changes
84
81
- commit it
85
82
86
-
- update "nix/tahoe-lafs.nix"
87
-
83
+
- update ``nix/tahoe-lafs.nix``:
88
84
- change the value given for `version` from `OLD.post1` to `NEW.post1`
89
85
90
-
- update "docs/known_issues.rst" if appropriate
86
+
- update ``docs/known_issues.rst`` if appropriate
91
87
- Push the branch to github
88
+
92
89
- Create a (draft) PR; this should trigger CI (note that github
93
90
doesn't let you create a PR without some changes on the branch so
94
91
running + committing the NEWS.txt file achieves that without changing
95
92
any code)
96
93
- Confirm CI runs successfully on all platforms
97
94
98
95
99
-
Create Release Candidate
100
-
````````````````````````
101
-
102
-
Before "officially" tagging any release, we will make a
103
-
release-candidate available. So there will be at least 1.15.0rc0 (for
104
-
example). If there are any problems, an rc1 or rc2 etc may also be
105
-
released. Anyone can sign these releases (ideally they'd be signed
106
-
"officially" as well, but it's better to get them out than to wait for
107
-
that).
108
-
109
-
Typically expert users will be the ones testing release candidates and
110
-
they will need to evaluate which contributors' signatures they trust.
111
-
112
-
- (all steps above are completed)
113
-
- sign the release
114
-
115
-
- git tag -s -u 0xE34E62D06D0E69CFCA4179FFBDE0D31D68666A7A -m "release Tahoe-LAFS-1.16.0rc0" tahoe-lafs-1.16.0rc0
116
-
117
-
.. note::
118
-
- Replace the key-id above with your own, which can simply be your email if it's attached to your fingerprint.
119
-
- Don't forget to put the correct tag message and name. In this example, the tag message is "release Tahoe-LAFS-1.16.0rc0" and the tag name is ``tahoe-lafs-1.16.0rc0``
96
+
Create The Release
97
+
``````````````````
120
98
121
99
- build all code locally
122
100
123
101
- these should all pass:
124
102
125
-
- tox -e py37,codechecks,docs,integration
103
+
- tox -e py311,codechecks,docs,integration
126
104
127
105
- these can fail (ideally they should not of course):
128
106
129
107
- tox -e deprecations,upcoming-deprecations
130
108
131
-
- clone to a clean, local checkout (to avoid extra files being included in the release)
132
-
133
-
- cd /tmp
134
-
- git clone /home/meejah/src/tahoe-lafs
109
+
- install build dependencies
135
110
136
-
- build tarballs
111
+
- pip install -e .[build]
137
112
138
-
- tox -e tarballs
139
-
- Confirm that release tarballs exist by runnig:
113
+
- build tarball + wheel (should be built into dist/)
0 commit comments