Skip to content

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Aug 13, 2025

Motivation

This addresses several changes from toml11 4.0 bump in
nixpkgs 1.

  1. Added more regression tests for timestamp formats.
    Special attention needs to be paid to the precision
    of the subsecond range for local-time. Prior versions select the closest
    (upwards) multiple of 3 with a hard cap of 9 digits.

  2. Normalize local datetime and offset datetime to always
    use the uppercase separator T. This is actually the issue
    surfaced in 2. This canonicalization is basically a requirement
    by (a certain reading) of rfc3339 section 5.6 3.

  3. If using toml11 >= 4.0 also keep the old behavior wrt
    to the number of digits used for subsecond part of the local-time.
    Newer versions cap it at 6 digits unconditionally preserve the input.

Context

Fixes #11441


Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.


This is an automatic backport of pull request #13741 done by [Mergify](https://mergify.com).

@mergify mergify bot added automatic backport This PR is a backport produced by automation (does not trigger backporting) merge-queue labels Aug 13, 2025
@mergify mergify bot requested a review from edolstra as a code owner August 13, 2025 19:24
@github-actions github-actions bot added the with-tests Issues related to testing. PRs with tests have some priority label Aug 13, 2025
@xokdvium xokdvium force-pushed the mergify/bp/2.29-maintenance/pr-13741 branch from 0e2238f to 20c9a79 Compare August 13, 2025 19:27
@xokdvium xokdvium closed this Aug 13, 2025
@xokdvium xokdvium reopened this Aug 14, 2025
Current test suite doesn't cover the subsecond formatting at
all and toml11 is quite finicky with that. We should at the very
least test its behavior to avoid silent breakages on updates.

(cherry picked from commit 7ed0229)
This looks really weird after the reformat.

(cherry picked from commit df4e55f)
There's no reason to use a std::function for recursive lambdas
since there are polymorphic lambdas.

(cherry picked from commit a80a5c4)
This addresses several changes from toml11 4.0 bump in
nixpkgs [1].

1. Added more regression tests for timestamp formats.
   Special attention needs to be paid to the precision
   of the subsecond range for local-time. Prior versions select the closest
   (upwards) multiple of 3 with a hard cap of 9 digits.

2. Normalize local datetime and offset datetime to always
   use the uppercase separator `T`. This is actually the issue
   surfaced in [2]. This canonicalization is basically a requirement
   by (a certain reading) of rfc3339 section 5.6 [3].

3. If using toml11 >= 4.0 also keep the old behavior wrt
   to the number of digits used for subsecond part of the local-time.
   Newer versions cap it at 6 digits unconditionally.

[1]: https://www.github.com/NixOS/nixpkgs/pull/331649
[2]: https://www.github.com/NixOS/nix/issues/11441
[3]: https://datatracker.ietf.org/doc/html/rfc3339

(cherry picked from commit dc769d7)
@xokdvium xokdvium force-pushed the mergify/bp/2.29-maintenance/pr-13741 branch from 20c9a79 to a5ab03c Compare August 18, 2025 21:11
@Mic92 Mic92 merged commit a885a36 into 2.29-maintenance Aug 29, 2025
25 checks passed
@Mic92 Mic92 deleted the mergify/bp/2.29-maintenance/pr-13741 branch August 29, 2025 05:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automatic backport This PR is a backport produced by automation (does not trigger backporting) with-tests Issues related to testing. PRs with tests have some priority
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants