diff --git a/crates/uv-cli/src/lib.rs b/crates/uv-cli/src/lib.rs index ab86c9e53bb3e..793977eae464d 100644 --- a/crates/uv-cli/src/lib.rs +++ b/crates/uv-cli/src/lib.rs @@ -3232,6 +3232,10 @@ pub struct VenvArgs { /// Limit candidate packages to those that were uploaded prior to the given date. /// + /// The date is compared against the upload time of each individual distribution artifact + /// (i.e., when each file was uploaded to the package index), not the release date of the + /// package version. + /// /// Accepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), local dates in the same format /// (e.g., `2006-12-02`) resolved based on your system's configured time zone, a "friendly" /// duration (e.g., `24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, @@ -6043,6 +6047,10 @@ pub struct ToolUpgradeArgs { /// Limit candidate packages to those that were uploaded prior to the given date. /// + /// The date is compared against the upload time of each individual distribution artifact + /// (i.e., when each file was uploaded to the package index), not the release date of the + /// package version. + /// /// Accepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), local dates in the same format /// (e.g., `2006-12-02`) resolved based on your system's configured time zone, a "friendly" /// duration (e.g., `24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, @@ -7098,6 +7106,10 @@ pub struct InstallerArgs { /// Limit candidate packages to those that were uploaded prior to the given date. /// + /// The date is compared against the upload time of each individual distribution artifact + /// (i.e., when each file was uploaded to the package index), not the release date of the + /// package version. + /// /// Accepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), local dates in the same format /// (e.g., `2006-12-02`) resolved based on your system's configured time zone, a "friendly" /// duration (e.g., `24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, @@ -7336,6 +7348,10 @@ pub struct ResolverArgs { /// Limit candidate packages to those that were uploaded prior to the given date. /// + /// The date is compared against the upload time of each individual distribution artifact + /// (i.e., when each file was uploaded to the package index), not the release date of the + /// package version. + /// /// Accepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), local dates in the same format /// (e.g., `2006-12-02`) resolved based on your system's configured time zone, a "friendly" /// duration (e.g., `24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, @@ -7572,6 +7588,10 @@ pub struct ResolverInstallerArgs { /// Limit candidate packages to those that were uploaded prior to the given date. /// + /// The date is compared against the upload time of each individual distribution artifact + /// (i.e., when each file was uploaded to the package index), not the release date of the + /// package version. + /// /// Accepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), local dates in the same format /// (e.g., `2006-12-02`) resolved based on your system's configured time zone, a "friendly" /// duration (e.g., `24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, @@ -7703,6 +7723,10 @@ pub struct FetchArgs { /// Limit candidate packages to those that were uploaded prior to the given date. /// + /// The date is compared against the upload time of each individual distribution artifact + /// (i.e., when each file was uploaded to the package index), not the release date of the + /// package version. + /// /// Accepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), local dates in the same format /// (e.g., `2006-12-02`) resolved based on your system's configured time zone, a "friendly" /// duration (e.g., `24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, diff --git a/crates/uv-settings/src/settings.rs b/crates/uv-settings/src/settings.rs index 6b9012dfc0f7d..5521cc14efcca 100644 --- a/crates/uv-settings/src/settings.rs +++ b/crates/uv-settings/src/settings.rs @@ -894,6 +894,10 @@ pub struct ResolverInstallerSchema { pub extra_build_variables: Option, /// Limit candidate packages to those that were uploaded prior to the given date. /// + /// The date is compared against the upload time of each individual distribution artifact + /// (i.e., when each file was uploaded to the package index), not the release date of the + /// package version. + /// /// Accepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), a "friendly" duration (e.g., /// `24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, `P7D`, `P30D`). /// @@ -1702,6 +1706,10 @@ pub struct PipOptions { pub universal: Option, /// Limit candidate packages to those that were uploaded prior to a given point in time. /// + /// The date is compared against the upload time of each individual distribution artifact + /// (i.e., when each file was uploaded to the package index), not the release date of the + /// package version. + /// /// Accepts a superset of [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html) (e.g., /// `2006-12-02T02:07:43Z`). A full timestamp is required to ensure that the resolver will /// behave consistently across timezones. diff --git a/docs/concepts/resolution.md b/docs/concepts/resolution.md index 742a66a5ed1c7..e8d2ccd059681 100644 --- a/docs/concepts/resolution.md +++ b/docs/concepts/resolution.md @@ -680,9 +680,11 @@ with an unexpected error. ## Reproducible resolutions -uv supports an `--exclude-newer` option to limit resolution to distributions published before a +uv supports an `--exclude-newer` option to limit resolution to distributions uploaded before a specific date, allowing reproduction of installations regardless of new package releases. The date -may be specified as an [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html) timestamp (e.g., +is compared against the upload time of each individual distribution artifact (i.e., when each file +was uploaded to the package index), not the release date of the package version. The date may be +specified as an [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html) timestamp (e.g., `2006-12-02T02:07:43Z`) or a local date in the same format (e.g., `2006-12-02`) in your system's configured time zone.