2888 Commits

Author SHA1 Message Date
Befator
dd76afbf60 Merge remote-tracking branch 'upstream/master' 2026-03-05 16:32:55 +01:00
Leonard Sheng Sheng Lee
6be774a9ed fix: typographical error
Modify `derivatons` to `derivations`.
2026-03-03 22:15:07 +01:00
Amaan Qureshi
d7245ff8ac protocol: update JSON output with structured Signature type
This commit updates the JSON output with a Signature type containing
keyName and sig fields. JSON parsing accepts both formats for backwards
compatibility.

Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
2026-03-02 20:18:43 -05:00
Jörg Thalheim
2d0c5421a5 Merge pull request #15383 from roberth/alt-15300
fix(libexpr-c): pass valid EvalState to primop callback
2026-03-02 21:01:34 +00:00
Robert Hensing
6633c55f8a fix(libexpr-c): pass valid EvalState to primop callback
Due to an erroneous cast, the wrong pointer was passed to these
callbacks, leading to a crash.

We now create a lightweight temporary EvalState wrapper on the stack in each
callback bridge. This also eliminates the need for unsafe_new_with_self
for EvalState construction.

Co-authored-by: Jörg Thalheim <joerg@thalheim.io>
2026-03-02 21:11:20 +01:00
Sergei Zimmerman
5f5b043524 Merge pull request #15382 from roberth/extra-release-notes-2.34
Extra release notes 2.34
2026-03-02 20:03:34 +00:00
Sergei Zimmerman
5f666eff14 Add release note for GHCR Docker images
(cherry picked from commit 5d054fe91ef95650ba7a7925b15ed9acfc0e7006)
2026-03-02 20:20:45 +01:00
Robert Hensing
62a78c86b0 release notes 2.34: add entries for additional PRs 2026-03-02 20:20:45 +01:00
Jörg Thalheim
35be9ef560 Merge pull request #15322 from obsidiansystems/build-trace-rework
Realisations use regular drv paths again
2026-03-02 19:16:24 +00:00
Jörg Thalheim
855208ba24 docs: add release notes for build trace rework
The previous commit changed CA derivation realisations to be keyed by
store path instead of hash modulo, affecting binary cache and wire
protocols. Users and tool authors need to understand the impact on
binary cache layout, protocol negotiation, and what migration looks
like.

This documents the key changes: the new build-trace-v2/ cache directory,
the split key/value JSON format, worker protocol feature negotiation,
serve protocol version bump, and the fact that non-CA users are
unaffected.
2026-03-02 13:28:17 -05:00
John Ericson
faca7db633 Revert "Reapply "Use the hash modulo in the derivation outputs""
This reverts commit 100e7cc337.

Unlike the last version, this fixes `--print-out-paths` for old clients

When the client lacks `featureRealisationWithPath` (worker) or version <
2.8 (serve), the daemon was sending an empty `StringMap` for
`builtOutputs`, causing `--print-out-paths` to print nothing. This
commit constructs the old wire format instead, using a dummy `sha256:`
hash since the derivation hash no longer exists. Old clients only need
the output name and path from the JSON.
2026-03-02 13:11:21 -05:00
Sergei Zimmerman
ee5381a376 Merge pull request #15331 from lisanna-dettwyler/github-fetcher-url-param-check
Error on invalid URL param in github fetcher
2026-03-02 17:35:39 +00:00
Sergei Zimmerman
39e6f66775 Merge pull request #15372 from lisanna-dettwyler/uninstall-add-dirs
Add missing directories to uninstall.md
2026-03-02 16:16:38 +00:00
Sergei Zimmerman
c806a241b8 Merge pull request #15363 from NixOS/release-notes
Release notes for 2.34.0
2026-03-02 15:29:17 +00:00
Lisanna Dettwyler
cdab2b7a36 Add missing directories to uninstall.md
Resolves #15317

Signed-off-by: Lisanna Dettwyler <lisanna.dettwyler@gmail.com>
2026-03-02 10:24:41 -05:00
Lisanna Dettwyler
c88e517f5b Formatting fixes for uninstall.md
Signed-off-by: Lisanna Dettwyler <lisanna.dettwyler@gmail.com>
2026-03-02 10:22:20 -05:00
Befator
f5890f6d5e Unintentional Symlink changes 2026-02-28 17:46:11 +01:00
Sergei Zimmerman
5a3e65826a Add rootless daemon and nix-nswrapper release note
Co-authored-by: Artemis Tosini <artemis.tosini@obsidian.systems>
2026-02-28 01:12:39 +03:00
Sergei Zimmerman
74ec331a46 Indent lint infrastructure more 2026-02-28 00:20:55 +03:00
Sergei Zimmerman
2a94f4d782 Add more release notes 2026-02-27 23:35:36 +03:00
Sergei Zimmerman
16f92c6547 Edit release notes 2026-02-27 22:28:54 +03:00
Sergei Zimmerman
cbca7dd47c release notes: 2.34.0 2026-02-27 22:03:28 +03:00
Sergei Zimmerman
5207c2e4bd manual: Skip changelog-d on i686 2026-02-27 16:46:49 +03:00
Lisanna Dettwyler
6cae299bd9 Error on invalid URL param in github fetcher
Resolves #15304

Signed-off-by: Lisanna Dettwyler <lisanna.dettwyler@gmail.com>
2026-02-26 18:17:04 -05:00
John Ericson
ed494f00ca Create lint for absolute path literals
Fixes #8738
2026-02-26 15:06:18 -05:00
John Ericson
02bb3d032d Merge pull request #15336 from NixOS/libcurl-content-encoding
filetransfer: Use libcurl for Content-Encoding/Transfer-Encoding transparent decompression
2026-02-25 23:19:34 +00:00
John Ericson
89a4412673 Merge pull request #15326 from obsidiansystems/no-abs-paths-in-eval
New diagnostics infra
2026-02-25 23:18:21 +00:00
Sergei Zimmerman
06a1511bff Merge pull request #15082 from roberth/issue-15053
repl: support inherit statements and multiple bindings
2026-02-25 23:09:12 +00:00
John Ericson
5184f844bb New diagnostics infra
- Convert `no-url-literals` from experimental feature to `Diagnose`
  setting

  Replace `Xp::NoUrlLiterals` with a new `lint-url-literals` setting
  that accepts `ignore`, `warn`, or `fatal`. This provides more
  flexibility than the binary experimental feature.

- Convert `warn-short-path-literals` to use new lint infra

  We now have `lint-short-path-literals = ignore | warn | fatal`
  instead.

- Convert some of the tests to lang tests

Fix #10048
Progress on #10281
2026-02-25 17:29:56 -05:00
Sergei Zimmerman
fa07d9d055 filetransfer: Use libcurl for Content-Encoding/Transfer-Encoding transparent decompression
Get rid of manual decompression entirely. We can support zstd, br,
deflate (which was broken previously) and gzip/x-gzip encodings via curl
without manual work on our side. This is the same approach that was taken by lix.

Also adds some tests for x-gzip support.
2026-02-26 01:28:46 +03:00
Robert Hensing
dd4b73a44d Add rl-next/c-api-recoverable-errors 2026-02-19 14:23:05 +03:00
Jörg Thalheim
360ff05e73 Merge pull request #15296 from Mic92/fix-nix-build
Reapply "Use the hash modulo in the derivation outputs"
2026-02-19 01:38:29 +00:00
Jörg Thalheim
100e7cc337 Reapply "Use the hash modulo in the derivation outputs"
This reverts commit 4f91e9599f.

This broke:

when I applied this pr, `--print-out-paths` wouldn't print anything:

```
shell-for-nix-env % nix build --print-out-paths .#legacyPackages.aarch64-darwin.homeConfigurations.macos.activationPackage
```

After dropping the patches from my fork, it does again.
```
shell-for-nix-env % nix build --print-out-paths .#legacyPackages.aarch64-darwin.homeConfigurations.macos.activationPackage
/nix/store/s8mlcalszdml0v8172w4hwqnx0m6477r-home-manager-generation
```
2026-02-19 01:50:17 +01:00
Eelco Dolstra
fef83c9f9c Merge pull request #15287 from NixOS/narinfo-cache-meta-ttl
Add setting narinfo-cache-meta-ttl
2026-02-18 22:13:23 +00:00
Eelco Dolstra
e5fa203d7f Add release note 2026-02-18 22:24:42 +01:00
Jörg Thalheim
a98b43b994 Merge pull request #12464 from obsidiansystems/build-trace-rework
Realisations use regular drv paths again
2026-02-18 20:54:56 +00:00
Artemis Tosini
96fef69755 libstore: support searching for roots from an external daemon
This comes in two parts: a `nix store roots-daemon` command that
can run as root and list runtime roots,
and client logic to find runtime roots for a `LocalStore` by connecting
to that daemon.

This may be useful with an unprivileged nix daemon, as it would
otherwise be unable to find runtime roots from process open files
and maps.
2026-02-17 10:42:04 -05:00
John Ericson
4f91e9599f Revert "Use the hash modulo in the derivation outputs"
Fix #11897

As described in the issue, this makes for a simpler and much more
intuitive notion of a realisation key. This is better for pedagogy, and
interoperability between more tools.

The way the issue was written was that we would switch to only having
shallow realisations first, and then do this. But going to only shallow
realisations is more complex change, and it turns out we weren't even
testing for the benefits that derivation hashes (modulo FODs) provided
in the deep realisation case, so I now just want to do this first.

Doing this gets the binary cache data structures in order, which will
unblock the Hydra fixed-output-derivation tracking work. I don't want to
delay that work while I figure out the changes needed for
shallow-realisations only.

This reverts commit bab1cda0e6.

Co-authored-by: Amaan Qureshi <git@amaanq.com>
2026-02-13 15:20:00 -05:00
Bernardo Meurer Costa
759f6c856b feat(libstore/s3): use virtual-hosted-style URLs and add addressing-style option
S3 binary caches now use virtual-hosted-style URLs by default for
standard AWS endpoints. Path-style endpoints (s3.region.amazonaws.com)
only serve HTTP/1.1, preventing HTTP/2 multiplexing and causing TCP
TIME_WAIT socket exhaustion under high concurrency. Virtual-hosted-style
endpoints (bucket.s3.region.amazonaws.com) support HTTP/2, enabling
multiplexing with the existing CURLPIPE_MULTIPLEX configuration.

Add a new `addressing-style` store option (auto/path/virtual) to control
this behavior. `auto` (default) uses virtual-hosted-style for standard
AWS endpoints and path-style for custom endpoints. `path` forces
path-style for backwards compatibility. `virtual` forces virtual-hosted-
style for all endpoints including custom ones.

Fixes: https://github.com/NixOS/nix/issues/15208
2026-02-13 00:03:50 +00:00
Matthew Kenigsberg
fbd837c911 beta nix-installer: add release-note
Add a release note asking for help testing
https://github.com/NixOS/nix-installer

We're hoping to start recommending the Rust-based installer after one
release cycle.

Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2026-02-11 10:07:59 -07:00
Peter Bynum
72ab64b612 Add nix_store_copy_path C API 2026-02-06 11:59:37 -05:00
Robert Hensing
5ee5e6e8a0 release notes: repl inherit and multiple bindings 2026-01-28 17:44:51 +01:00
Damien Diederen
36b0bebe25 http-binary-cache-store: Add 'tls-certificate' and 'tls-private-key' settings
Those are set via the store's URI, e.g.:

    https://substituter.invalid?tls-certificate=/path/to/cert.pem&tls-private-key=/path/to/key.pem
2026-01-24 21:59:58 +03:00
Jörg Thalheim
18176d2678 ignore-gc-delete-failure: add release note 2026-01-23 14:08:05 -05:00
John Ericson
98f6881d11 Remove nixDataDir, NIX_DATA_DIR
Since 25300c0ecd it is dead code.
2026-01-21 23:23:23 -05:00
tomberek
f429d8d4aa Merge pull request #14766 from pkpbynum/capi/query-path-from-hash-part
C API: Add query_from_hash_part to Store API
2026-01-20 16:39:05 +00:00
Eelco Dolstra
3a421388dd Merge pull request #15006 from roberth/doc-nix-cache-info
doc: add nix-cache-info format documentation
2026-01-19 15:16:20 +00:00
Robert Hensing
b3df7f8a3d doc: add nix-cache-info format documentation
Document the nix-cache-info file format used by binary caches, including
the StoreDir, WantMassQuery, and Priority fields, their behavior, and
links to related store options.
2026-01-17 13:31:32 +01:00
Robert Hensing
3374fdc04a Add Nix32 encoding documentation
Document the Nix32 base-32 variant used for store path digests and
hash output. The new page covers:
- The 32-character alphabet (omitting e, o, u, t)
- Byte order differences from base-16 encoding

Also update references throughout the manual to link to the new page.
2026-01-16 11:28:55 +01:00
Ilja
75571ec0a0 Add example commands to source installation 2026-01-08 12:46:24 +02:00