aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJade Lovelace <lix@jade.fyi>2024-06-24 16:12:14 -0700
committerJade Lovelace <lix@jade.fyi>2024-06-24 16:26:12 -0700
commite19f27917cdc43a5e32e43639fe816611aa7d23d (patch)
tree8f7e9d35aab21b6b413c165f5421dd661971230a /doc
parent1245340e440c3b2c1f79269d02d5991dfb853122 (diff)
Add some release notes for things we did
Change-Id: If0ddec6b64a43c3d8f6cae39e0292863f3b49401
Diffstat (limited to 'doc')
-rw-r--r--doc/manual/rl-next/nix-copy-is-fast.md12
-rw-r--r--doc/manual/rl-next/old-protocol-removal.md21
-rw-r--r--doc/manual/rl-next/sanitizers.md10
3 files changed, 43 insertions, 0 deletions
diff --git a/doc/manual/rl-next/nix-copy-is-fast.md b/doc/manual/rl-next/nix-copy-is-fast.md
new file mode 100644
index 000000000..bf26eb65f
--- /dev/null
+++ b/doc/manual/rl-next/nix-copy-is-fast.md
@@ -0,0 +1,12 @@
+---
+synopsis: "`nix copy` is now several times faster at `querying info about /nix/store/...`"
+cls: [1462]
+issues: [fj#366]
+credits: [jade]
+category: Fixes
+---
+
+We fixed a locking bug that serialized `querying info about /nix/store/...`
+onto just one thread such that it was eating `O(paths to copy * latency)` time
+while setting up to copy paths to s3 and other stores. It is now `nproc` times
+faster.
diff --git a/doc/manual/rl-next/old-protocol-removal.md b/doc/manual/rl-next/old-protocol-removal.md
new file mode 100644
index 000000000..c8c46228c
--- /dev/null
+++ b/doc/manual/rl-next/old-protocol-removal.md
@@ -0,0 +1,21 @@
+---
+synopsis: "Lix no longer speaks the Nix remote-build worker protocol to clients or servers older than CppNix 2.3"
+cls: [1207, 1208, 1206, 1205, 1204, 1203, 1479]
+issues: [fj#325]
+credits: [jade]
+category: Breaking Changes
+---
+
+CppNix 2.3 was released in 2019, and is the new oldest supported version. We
+will increase our support baseline in the future up to a final version of CppNix
+2.18 (which may happen soon given that it is the only still-packaged and thus
+still-tested >2.3 version), but this step already removes a significant amount
+of dead, untested, code paths.
+
+Lix speaks the same version of the protocol as CppNix 2.18 and that fact will
+never change in the future; the Lix plans to replace the protocol for evolution
+will entail a complete incompatible replacement that will be supported in
+parallel with the old protocol. Lix will thus retain remote build compatibility
+with CppNix as long as CppNix maintains protocol compatibility with 2.18, and
+as long as Lix retains legacy protocol support (which will likely be a long
+time given that we plan to convert it to a frozen-in-time shim).
diff --git a/doc/manual/rl-next/sanitizers.md b/doc/manual/rl-next/sanitizers.md
new file mode 100644
index 000000000..0abc57c7b
--- /dev/null
+++ b/doc/manual/rl-next/sanitizers.md
@@ -0,0 +1,10 @@
+---
+synopsis: "Lix now supports building with UndefinedBehaviorSanitizer"
+cls: [1483]
+credits: [jade]
+category: Development
+---
+
+You can now build Lix with the configuration option `-Db_sanitize=undefined` and it will both work and pass tests. AddressSanitizer support is also coming soon.
+
+For a list of undefined behaviour fixed by sanitizer usage, see [the gerrit topic "undefined-behaviour"](https://gerrit.lix.systems/q/topic:%22undefined-behaviour%22).