Commit graph

713 commits

Author SHA1 Message Date
Ed Page b14a70fe09 test(cli): Verify terminal styling
This uses a new feature from snapbox that let's us render terminal
styling in SVG files.  This let's us see / visualize ANSI escape codes,
including in github's UI (will render images, including side-by-side
images for diffs).
2024-02-21 20:20:41 -06:00
bors 9090349adc Auto merge of #13441 - epage:snapbox, r=Muscraft
chore: Update snapbox
2024-02-16 16:56:57 +00:00
Ed Page 9f31f8c675 chore: Update snapbox 2024-02-16 10:27:48 -06:00
bors 8ad0e18b54 Auto merge of #13449 - Xeonacid:openssl, r=epage
chore(deps): update openssl to 3.2.1 again

https://github.com/rust-lang/cargo/pull/13159 had updated to 3.2.0 and https://github.com/rust-lang/cargo/pull/13179 reverted to 1.1.1 for riscv64 build.

riscv64 build issue fixed and released in openssl-src 300.2.3+3.2.1: https://github.com/alexcrichton/openssl-src-rs/pull/230

Update to 3.2.1 from 3.2.0 should be safe.
2024-02-16 14:51:43 +00:00
Xeonacid 37df88f0c9
chore(deps): update openssl to 3.2.1 again
https://github.com/rust-lang/cargo/pull/13159 had updated to 3.2.0 and https://github.com/rust-lang/cargo/pull/13179 reverted to 1.1.1 for riscv64 build.

riscv64 build issue fixed and released in openssl-src 300.2.3+3.2.1: https://github.com/alexcrichton/openssl-src-rs/pull/230

Update to 3.2.1 from 3.2.0 should be safe.

Signed-off-by: Xeonacid <xeonacid@hit.edu.cn>
2024-02-16 21:49:04 +08:00
Ed Page 6f93fa701e fix(test): Suggest -- for libtest arguments
We already do this so long as the argument doesn't look like a
`cargo test` argument (e.g. `--show-output`)
but `--ignored` looks like `--ignore-rust-version` do the the suggestion
algorithms prefix checks.

Before
```
error: unexpected argument '--ignored' found

  tip: a similar argument exists: '--ignore-rust-version'

Usage: cargo test --ignore-rust-version [TESTNAME] [-- [ARGS]...]

For more information, try '--help'.
```
After
```
error: unexpected argument '--ignored' found

  tip: a similar argument exists: '--ignore-rust-version'
  tip: to pass '--ignored' as a value, use '-- --ignored'

Usage: cargo test --ignore-rust-version [TESTNAME] [-- [ARGS]...]

For more information, try '--help'.
```

Fixes #12494
2024-02-16 07:11:12 -06:00
renovate[bot] 5ea658df78 chore(deps): update msrv (1 version) to v1.76.0 2024-02-08 14:32:51 +00:00
Weihang Lo 3dcb66b791
chore: update to jobserver 0.1.28 2024-02-08 08:32:07 -05:00
bors d7d48e4598 Auto merge of #13402 - epage:add, r=weihanglo
fix: Don't duplicate comments when editing TOML

### What does this PR try to resolve?

`toml_edit` <0.22 has a bug that will cause
```toml
[lints]
rust.unsafe_op_in_unsafe_fn = "deny"

rust.explicit_outlives_requirements = "warn"
# rust.unused_crate_dependencies = "warn"

clippy.cast_lossless = "warn"
clippy.doc_markdown = "warn"
clippy.exhaustive_enums = "warn"
```
to be written out as
```toml
[lints]
rust.unsafe_op_in_unsafe_fn = "deny"
rust.explicit_outlives_requirements = "warn"
# rust.unused_crate_dependencies = "warn"

clippy.cast_lossless = "warn"
# rust.unused_crate_dependencies = "warn"

clippy.doc_markdown = "warn"
# rust.unused_crate_dependencies = "warn"

clippy.exhaustive_enums = "warn"
```
when it is parsed and then saved.

See toml-rs/toml#673

This affects any format-preserving edits we do, including:
- `cargo add`
- `cargo remove`
- `cargo init` / `cargo new` editing the workspace

### How should we test and review this PR?

I didn't add any tests as this is covered by `toml_edit`s tests (we already don't cover a fraction of the edit preserving tests it has)

### Additional information
2024-02-07 16:23:04 +00:00
Eric Huss c30c13b3f1 Update git2 2024-02-06 20:11:27 -08:00
Ed Page 12cf56abf1 fix: Don't duplicate comments when editing TOML
`toml_edit` <0.22 has a bug that will cause
```toml
[lints]
rust.unsafe_op_in_unsafe_fn = "deny"

rust.explicit_outlives_requirements = "warn"

clippy.cast_lossless = "warn"
clippy.doc_markdown = "warn"
clippy.exhaustive_enums = "warn"
```
to be written out as
[lints]
rust.unsafe_op_in_unsafe_fn = "deny"
rust.explicit_outlives_requirements = "warn"

clippy.cast_lossless = "warn"

clippy.doc_markdown = "warn"

clippy.exhaustive_enums = "warn"
```
when it is parsed and then saved.

See toml-rs/toml#675

This affects any format-preserving edits we do, including:
- `cargo add`
- `cargo remove`
- `cargo init` / `cargo new` editing the workspace
2024-02-05 16:50:59 -06:00
Eric Huss 29ee35a9b3 Remove build metadata from curl-sys version. 2024-02-05 13:17:42 -08:00
bors fe60f0e561 Auto merge of #13380 - rust-lang:renovate/gix, r=epage
chore(deps): update gix

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [gix](https://togithub.com/Byron/gitoxide) | workspace.dependencies | minor | `0.57.1` -> `0.58.0` |
| [gix-features-for-configuration-only](https://togithub.com/Byron/gitoxide) | workspace.dependencies | minor | `0.37.1` -> `0.38.0` |

---

### Release Notes

<details>
<summary>Byron/gitoxide (gix)</summary>

### [`v0.58.0`](https://togithub.com/Byron/gitoxide/releases/tag/gix-v0.58.0): gix v0.58.0

[Compare Source](https://togithub.com/Byron/gitoxide/compare/gix-v0.57.1...gix-v0.58.0)

##### New Features

-   add `max-control` feature for fine-grained performance control.
    This also adds the following performance features:

    -   `zlib-ng`
-   `zlib-ng-compat`
-   `zlib-stock`
-   `parallel-walkdir`

##### Bug Fixes

-   `object::tree::diff::Platform::for_each_to_obtain_tree(callback)` errors are more convenient to use.
    Due to a change in how the generic error type is declared it should now be possible to
    use `anyhow` with it as well.

##### Commit Statistics

-   13 commits contributed to the release over the course of 18 calendar days.
-   20 days passed between releases.
-   4 commits were understood as [conventional](https://www.conventionalcommits.org).
-   1 unique issue was worked on: [#&#8203;670](https://togithub.com/Byron/gitoxide/issues/670)

##### Commit Details

<csr-read-only-do-not-edit/>

<details><summary>view details</summary>

-   **[#&#8203;670](https://togithub.com/Byron/gitoxide/issues/670)**
    -   `object::tree::diff::Platform::for_each_to_obtain_tree(callback)` errors are more convenient to use. ([`e3c5a0f`](https://togithub.com/Byron/gitoxide/commit/e3c5a0f))
-   **Uncategorized**
    -   Prepare changelogs prior to release ([`6a2e0be`](https://togithub.com/Byron/gitoxide/commit/6a2e0be))
    -   Merge branch 'finegrained-features' ([`d8570d0`](https://togithub.com/Byron/gitoxide/commit/d8570d0))
    -   Add `max-control` feature for fine-grained performance control. ([`8847676`](https://togithub.com/Byron/gitoxide/commit/8847676))
    -   Merge branch 'dirwalk' ([`5d176fc`](https://togithub.com/Byron/gitoxide/commit/5d176fc))
    -   Use `gix_fs::current_dir(precompose_unicode)`. ([`7d8d167`](https://togithub.com/Byron/gitoxide/commit/7d8d167))
    -   Adapt to changes in `gix-features` ([`eacb5a4`](https://togithub.com/Byron/gitoxide/commit/eacb5a4))
    -   Add `env::args_os_opt()` which takes an argument to determine input unicode-decomposition ([`a7e606b`](https://togithub.com/Byron/gitoxide/commit/a7e606b))
    -   Release gix-trace v0.1.7, gix-features v0.37.2, gix-commitgraph v0.23.2, gix-traverse v0.36.2, gix-index v0.28.2 ([`b6c04c8`](https://togithub.com/Byron/gitoxide/commit/b6c04c8))
    -   Merge pull request [#&#8203;1248](https://togithub.com/Byron/gitoxide/issues/1248) from joshtriplett/tyop ([`39f35da`](https://togithub.com/Byron/gitoxide/commit/39f35da))
    -   Typo fixes ([`3ef3bc2`](https://togithub.com/Byron/gitoxide/commit/3ef3bc2))
    -   `max-performance-zlib-ng-compat` flag ([`1ba9488`](https://togithub.com/Byron/gitoxide/commit/1ba9488))
    -   Add a max-performance-zlib-ng-compat flag ([`cfb06ec`](https://togithub.com/Byron/gitoxide/commit/cfb06ec))

</details>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-02-05 19:06:21 +00:00
renovate[bot] eb3a343512
chore(deps): update compatible 2024-02-05 18:07:44 +00:00
Weihang Lo 708e23369e
Bump to 0.79.0 2024-02-04 11:44:00 -05:00
renovate[bot] fcd533a913
chore(deps): update gix 2024-02-01 01:08:02 +00:00
Ed Page bd6b4a9b14 fix(toml): Improve map/sequence error message
This is a follow up to #13375
2024-01-31 10:42:58 -06:00
Ed Page c6c1df4758 chore: Make N-2 the default MSRV
We likely don't want to release these packages every 6 months just for
an MSRV bump.
By moving the MSRV out of the package, `cargo bump-check` will ignore
the MSRV bump.

Inspired by #13266
2024-01-18 15:30:41 -06:00
Ed Page b291f42dce chore: Make N-0 MSRVs explicit
This will require a version bump every release but over-releasing these
packages is likely a lot better than over-releasing the N-3 packages,
which we won't have to do anymore after this.

My hope is the `auto` value will be approved and stabilized and then we
won't have to over-release anymore.
2024-01-18 15:28:04 -06:00
Scott Schafer 0d62ae2fc3
feat: Add rustc style errors for manifest parsing 2023-12-15 13:30:10 -07:00
Tobias Bieniek 6218d08504
crates-io: Bump version to v0.40.0 2024-01-09 18:03:21 +01:00
renovate[bot] 03beda3a6e chore(deps): update msrv 2024-01-08 22:17:07 +00:00
bors 87eb374d49 Auto merge of #13249 - WeiTheShinobi:update_dependency_handlebars, r=epage
Update dependency handlebars to v5 for mdman.

### What does this PR try to resolve?

issue #13238
- update dependency handlebars 4.5.0 -> 5.0.0
- fix code to fit the changes of Handlebars API
- RenderError::new() is deprecated. Use RenderErrorReason instead

### How should we test and review this PR?
pass all tests in /crates/mdman/tests
2024-01-04 16:03:50 +00:00
WeiTheShinobi 06201b9892 Update dependency handlebars to v5 for mdman.
- handlebars 4.5.0 -> 5.0.0
- fix code to fit the changes of Handlebars API
- RenderError::new() is deprecated. Use RenderErrorReason instead
2024-01-04 22:59:46 +08:00
bors f9946d15df Auto merge of #13241 - epage:syntax, r=Muscraft
feat(embedded): Add multiple experimental manifest syntaxes

### What does this PR try to resolve?

As syntax discussions for "cargo script" are on-going, this allows us to experiment with a couple of them so we can see how they work in practice.

This is missing the line-prefix syntax as we decide how we want to separate blocks for it.

While doing this, I removed the previous doc-comment syntax.  This was left in for transition purposes.  With where discussions are going, its unlikely we'll go back to that syntax.

### How should we test and review this PR?

### Additional information

rust-lang/rfcs#3503

https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/Syntax.20for.20embedded.20tooling.20metadata
2024-01-03 21:26:07 +00:00
Ed Page 7e5dd711b5 fix(embedded)!: Remove doc comment manifest support
We added code fence support in ba869d36ed
(September), so I think this was enough of a transition period and there
is little interest in going back to this.
2024-01-02 16:25:12 -06:00
Weihang Lo 54e83c2969
chore: tracing be compat with rustc_log
The current version of rustfix cannot be used in rust-lang/rust due
to the dependency on `tracing`. `tracing-core` is currently locked
to 0.1.30, which is too old for the version in the cargo repo
(it looks like they are trying to avoid a known deadlock).

See: https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/rustfix.20is.20incompatible.20with.20rust-lang.2Frust
2024-01-02 15:32:15 -05:00
renovate[bot] 4deb34bd0b
chore(deps): update compatible 2024-01-02 10:21:24 +00:00
bors add15366ea Auto merge of #13230 - rust-lang:renovate/gix, r=epage
chore(deps): update gix

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [gix](https://togithub.com/Byron/gitoxide) | workspace.dependencies | minor | `0.56.0` -> `0.57.1` |
| [gix-features-for-configuration-only](https://togithub.com/Byron/gitoxide) | workspace.dependencies | minor | `0.35.0` -> `0.37.1` |

---

### Release Notes

<details>
<summary>Byron/gitoxide (gix)</summary>

### [`v0.57.1`](https://togithub.com/Byron/gitoxide/releases/tag/gix-v0.57.1): gix v0.57.1

[Compare Source](https://togithub.com/Byron/gitoxide/compare/gix-v0.57.0...gix-v0.57.1)

##### Chore

-   change `rust-version` manifest field back to 1.65.
    They didn't actually need to be higher to work, and changing them
    unecessarily can break downstream CI.

    Let's keep this value as low as possible, and only increase it when
    more recent features are actually used.

##### Commit Statistics

-   2 commits contributed to the release.
-   1 commit was understood as [conventional](https://www.conventionalcommits.org).
-   0 issues like '(#ID)' were seen in commit messages

##### Commit Details

<csr-read-only-do-not-edit/>

<details><summary>view details</summary>

-   **Uncategorized**
    -   Merge branch 'msrv' ([`8c492d7`](https://togithub.com/Byron/gitoxide/commit/8c492d7))
    -   Change `rust-version` manifest field back to 1.65. ([`3bd09ef`](https://togithub.com/Byron/gitoxide/commit/3bd09ef))

</details>

### [`v0.57.0`](https://togithub.com/Byron/gitoxide/releases/tag/gix-v0.57.0): gix v0.57.0

[Compare Source](https://togithub.com/Byron/gitoxide/compare/gix-v0.56.0...gix-v0.57.0)

##### Chore

-   <csr-id-aea89c3ad52f1a800abb620e9a4701bdf904ff7d/> upgrade MSRV to v1.70
    Our MSRV follows the one of `helix`, which in turn follows Firefox.

##### New Features

-   `Repository::rev_parse*()` now supports `branch@{upstream|push|u|p}`.
    Previously it would be parsed, but always error as the implementation didn't exist.
    Now it will return the fetch and push tracking branches respectively.
-   Add `Reference::remote_tracking_ref_name()` and `*::remote_ref_name()`.
    These methods mirror their respective `Repository::branch_*` prefixed versions.
-   add `Repository::branch_remote_tracking_ref_name()`.
-   add `push.default` config key
-   add `config::Snapshot::trusted_program()`.
    That way it's possible to obtain an executable, program or script
    from a key in the configuration that is in a trusted section of the
    configuration.

    This goes along with a new `command` feature that brings in the `command`
    module at the top level to be able to execute such commands.
-   add `clone::PrepareFetch::with_in_memory_config_overrides()`.
    With it one can affect the repository configuration right before fetching.

##### New Features (BREAKING)

-   `Repository::remote_names|remote_default_name()` now returns `Cow<'_, BStr>` instead of `Cow<'_, str>`.
    That way information won't degenerate due to enforcement of UTF-8.

##### Bug Fixes (BREAKING)

-   rename `Repository::branch_remote_ref()` to `Repository::branch_remote_ref_name()`, add `direction` argument (also to `Repository::branch_remote_name()` and `Repository::branch_remote()`).
    This better differentiates the return value from the corresponding ref objects,
    which would require the named ref to exist in the repository.

    The `direction` argument allows to get the reference to push to as well.
    Further, it now takes a full ref name to support deriving the name of branches
    to push to.

    Regarding `Repository::branch_remote()`,  previously, this functionality
    was only available from a `Reference`,
    but now it's more generally available with just a branch name.

    The method was also adjusted to permit looking up non-symbolic remote
    names, like remotes that are specified by their URL.
-   mark `gix::interrupt::init_handler()` as unsafe
    The passed `interrupt()` argument will be called from a signal
    handler, so that needs to be documented and the call sites need to
    state that they fulfill the contract.

    Thanks to [`@&#8203;Manishearth](https://togithub.com/Manishearth)` for pointing this out.

##### Commit Statistics

-   40 commits contributed to the release over the course of 22 calendar days.
-   22 days passed between releases.
-   10 commits were understood as [conventional](https://www.conventionalcommits.org).
-   4 unique issues were worked on: [#&#8203;1158](https://togithub.com/Byron/gitoxide/issues/1158), [#&#8203;1165](https://togithub.com/Byron/gitoxide/issues/1165), [#&#8203;1178](https://togithub.com/Byron/gitoxide/issues/1178), [#&#8203;1191](https://togithub.com/Byron/gitoxide/issues/1191)

##### Thanks Clippy

[Clippy](https://togithub.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.

##### Commit Details

<csr-read-only-do-not-edit/>

<details><summary>view details</summary>

-   **[#&#8203;1158](https://togithub.com/Byron/gitoxide/issues/1158)**
    -   Remove extra-lines from changelog ([`11c9f66`](https://togithub.com/Byron/gitoxide/commit/11c9f66))
-   **[#&#8203;1165](https://togithub.com/Byron/gitoxide/issues/1165)**
    -   Complete partial note ([`8ef0538`](https://togithub.com/Byron/gitoxide/commit/8ef0538))
-   **[#&#8203;1178](https://togithub.com/Byron/gitoxide/issues/1178)**
    -   Add `config::Snapshot::trusted_program()`. ([`3f84213`](https://togithub.com/Byron/gitoxide/commit/3f84213))
-   **[#&#8203;1191](https://togithub.com/Byron/gitoxide/issues/1191)**
    -   Add note to clarify what users might want to do ([`2e04403`](https://togithub.com/Byron/gitoxide/commit/2e04403))
-   **Uncategorized**
    -   Prepare changelogs of next release ([`e78a92b`](https://togithub.com/Byron/gitoxide/commit/e78a92b))
    -   Merge branch 'maintenance' ([`4454c9d`](https://togithub.com/Byron/gitoxide/commit/4454c9d))
    -   Upgrade MSRV to v1.70 ([`aea89c3`](https://togithub.com/Byron/gitoxide/commit/aea89c3))
    -   Thanks clippy ([`d38d1cc`](https://togithub.com/Byron/gitoxide/commit/d38d1cc))
    -   Merge branch 'tracking-branch' ([`0fe20e8`](https://togithub.com/Byron/gitoxide/commit/0fe20e8))
    -   Refactor ([`530c15d`](https://togithub.com/Byron/gitoxide/commit/530c15d))
    -   `Repository::rev_parse*()` now supports `branch@{upstream|push|u|p}`. ([`3fba5b8`](https://togithub.com/Byron/gitoxide/commit/3fba5b8))
    -   Add `Reference::remote_tracking_ref_name()` and `*::remote_ref_name()`. ([`270322e`](https://togithub.com/Byron/gitoxide/commit/270322e))
    -   Add `Repository::branch_remote_tracking_ref_name()`. ([`4aa4b05`](https://togithub.com/Byron/gitoxide/commit/4aa4b05))
    -   Rename `Repository::branch_remote_ref()` to `Repository::branch_remote_ref_name()`, add `direction` argument (also to `Repository::branch_remote_name()` and `Repository::branch_remote()`). ([`404fde5`](https://togithub.com/Byron/gitoxide/commit/404fde5))
    -   `Repository::remote_names|remote_default_name()` now returns `Cow<'_, BStr>` instead of `Cow<'_, str>`. ([`5c07c76`](https://togithub.com/Byron/gitoxide/commit/5c07c76))
    -   Add `push.default` config key ([`8ac2dcc`](https://togithub.com/Byron/gitoxide/commit/8ac2dcc))
    -   Merge branch 'match_ceiling_dir_or_error' ([`cda5b51`](https://togithub.com/Byron/gitoxide/commit/cda5b51))
    -   Merge branch 'main' into fix-1183 ([`1691ba6`](https://togithub.com/Byron/gitoxide/commit/1691ba6))
    -   Release gix-ref v0.39.1 ([`c1cfe6e`](https://togithub.com/Byron/gitoxide/commit/c1cfe6e))
    -   Merge branch 'patch-1' ([`20dce42`](https://togithub.com/Byron/gitoxide/commit/20dce42))
    -   Differentiate between `Executable` and `Program` ([`56d1d09`](https://togithub.com/Byron/gitoxide/commit/56d1d09))
    -   Add `core.editor` key ([`ff71e07`](https://togithub.com/Byron/gitoxide/commit/ff71e07))
    -   Merge branch 'archive-handling' ([`7549559`](https://togithub.com/Byron/gitoxide/commit/7549559))
    -   Check all git-lfs managed files into the repository ([`35439de`](https://togithub.com/Byron/gitoxide/commit/35439de))
    -   Git-lfs might fail early; let's rely on these caches to be recreated, where possible ([`b6f2b81`](https://togithub.com/Byron/gitoxide/commit/b6f2b81))
    -   Release gix-hash v0.13.3, gix-index v0.27.1 ([`98b08f4`](https://togithub.com/Byron/gitoxide/commit/98b08f4))
    -   Merge branch 'mailmap-config-section' ([`8dda069`](https://togithub.com/Byron/gitoxide/commit/8dda069))
    -   Use new `mailmap` keys and make a few improvements. ([`7f65ffd`](https://togithub.com/Byron/gitoxide/commit/7f65ffd))
    -   Assign more suitable types to `mailmap` keys ([`1bf3e88`](https://togithub.com/Byron/gitoxide/commit/1bf3e88))
    -   Add config section for mailmap.{blob,file}. ([`86c7fa1`](https://togithub.com/Byron/gitoxide/commit/86c7fa1))
    -   Merge branch 'configure-prepare-fetch' ([`281fda0`](https://togithub.com/Byron/gitoxide/commit/281fda0))
    -   Add `clone::PrepareFetch::with_in_memory_config_overrides()`. ([`b5c36b8`](https://togithub.com/Byron/gitoxide/commit/b5c36b8))
    -   Allow overriding Git configuration when cloning. ([`9833b45`](https://togithub.com/Byron/gitoxide/commit/9833b45))
    -   Merge branch 'push-yvzxzqrkkvry' ([`4917beb`](https://togithub.com/Byron/gitoxide/commit/4917beb))
    -   Fixup new unsafe interrupt handler ([`c23bb87`](https://togithub.com/Byron/gitoxide/commit/c23bb87))
    -   Mark `gix::interrupt::init_handler()` as unsafe ([`59b8104`](https://togithub.com/Byron/gitoxide/commit/59b8104))
    -   Reduce size of unsafe block in signal handler ([`d77bc0e`](https://togithub.com/Byron/gitoxide/commit/d77bc0e))
    -   Release gix-config v0.32.1 ([`cd26fd8`](https://togithub.com/Byron/gitoxide/commit/cd26fd8))
    -   Merge branch 'adjustments-for-cargo' ([`56588a9`](https://togithub.com/Byron/gitoxide/commit/56588a9))
    -   Fix import/prevent warning ([`ec0211a`](https://togithub.com/Byron/gitoxide/commit/ec0211a))

</details>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
2024-01-02 03:24:42 +00:00
renovate[bot] 37f4a971ca
chore(deps): update gix 2024-01-01 03:52:17 +00:00
Eric Huss a21997f0cc rustfix: Support inserting new lines.
If rustfix received a suggestion which inserts new lines without
replacing existing lines, it would ignore the suggestion. This is
because `parse_snippet` would immediately return if the `lines` to
replace was empty.

The solution here is to just drop the code which messes with the
original text line. `cargo fix` (and compiletest) currently do not use
this. This was originally added back in the days when rustfix supported
an interactive UI which showed color highlighting of what it looks like
with the replacement. My feeling is that when we add something like this
back in, I would prefer to instead use a real diff library and display
instead of trying to do various text manipulation for display. This
particular code has generally been buggy, and has been a problem several
times.

The included test fails without this fix because the changes do not
apply, and the code cannot compile.
2023-12-31 10:18:22 -08:00
Weihang Lo 49ada9f092
Bump to 0.78.0 2023-12-21 16:08:24 -05:00
bors a9c749c33e Auto merge of #13186 - weihanglo:cargo-util-schemas-error-types, r=epage
refactor: custom error types for `cargo-util-schemas`
2023-12-20 15:52:40 +00:00
Weihang Lo 0b0e78fa3f
chore: bump cargo-util-schemas to 0.2.0 2023-12-20 10:38:03 -05:00
bors c21be2b7cf Auto merge of #13168 - leonzchang:handlebars-v4, r=epage
chore(deps): update rust crate handlebars to `v4.5.0`

In the latest version of `handlebars`, rules for whitespace auto elimination is to check if the directive `{{# xxx}}`` and ``{{/ xxx}}` is holding a whole line, with leading and trailing whitespaces counted, and then remove the trailing NEWLINE (See [`template.rs`](9d7d555628/src/template.rs (L568-L889))).

```md
{{#options}}
                              <--- this newline will be removed after a standalone block
{{#option "`-o` _outdir_"}}
                              <--- this newline will be removed
Some content

{{/option}}
                              <--- this newline will be removed
{{/options}}
                              <--- this newline will be removed
```

This PR changes includes (fixes #13162):
1. update `handlebars` crate to `v4.5.0`.
2. add extra NEWLINE to helper blocks `options`, `option` to align with the new strip rules, preserving the original behavior.
3. update doc(the rest handlebars expression) to align with the new strip rules..
2023-12-20 14:52:29 +00:00
leonzchang b96b244c28
update handlebars & fix tests & update doc 2023-12-20 11:12:49 +08:00
Weihang Lo 8a762b89b9
refactor: link homepage to The Cargo Book for main cargo crate 2023-12-18 16:09:08 -05:00
Weihang Lo ad2c45bde9
refactor: clean up package metadata
Like PR 12352 but for homepage and repository

Versions for

* `cargo-credential-1password`
* `cargo-util-schemas`
* `home`

are bumped along with the change.
2023-12-18 16:09:03 -05:00
Ed Page 633929d3aa refactor(schemas): Pull out cargo-util-schemas crate
Fixes #12801
2023-12-15 13:22:25 -06:00
Weihang Lo 62bf43294f
chore: downgrade to openssl v1.1.1
riscv64 detection bug is fixed but is not released (openssl/openssl#22871)
See also https://github.com/rust-lang/rust/pull/119007#issuecomment-1859231819
2023-12-17 12:37:13 -05:00
bors 0e18edfb82 Auto merge of #13159 - heiher:bump-openssl, r=weihanglo
chore(deps): update rust crate openssl to 0.10.61

### What does this PR try to resolve?

Bump rust crate `openssl` to `0.10.61`.

This is a major bump that Cargo starts depending on OpenSSL v3 via [openssl-src@300.1.2+3.1.1](https://crates.io/crates/openssl-src/300.1.2+3.1.1)

Some other notes:

* OpenSSL 3.1.1 was released on [2023-05-30](https://github.com/openssl/openssl/blob/master/CHANGES.md#changes-between-310-and-311-30-may-2023).
* Starting from 1.6 [libgit2 supports OpenSSL v3](https://github.com/libgit2/libgit2/blob/main/docs/changelog.md#v16)
* Starting from 1.10.0 [libssh2 supports OpenSSL v3](https://libssh2.org/changes.html#1.10.0)
* OpenSSL 1.1.1 [is EOL](https://www.openssl.org/blog/blog/2023/03/28/1.1.1-EOL/).
* curl seems to support OpenSSL v3 before it got released.

### How should we test and review this PR?

Build test.

### Additional information

The openssl build issue for loongarch is resolved.
2023-12-12 18:58:15 +00:00
bors 7c722f76ed Auto merge of #13134 - arlosi:vendor-libgit2, r=ehuss
`all-static` feature should include `vendored-libgit2`

Cargo has an `all-static` feature which is supposed to statically link dependencies for distributing.

However, it doesn't include `libgit2`. If the system has a compatible version of `libgit2` and `pkg-config` installed, then the `all-static` build will still use the system `libgit2`.
2023-12-12 17:50:31 +00:00
WANG Rui 8e9a62d51e chore(deps): update rust crate openssl to 0.10.61 2023-12-12 21:29:45 +08:00
Eric Huss 4e17e02cb9 Update curl-sys to bring in curl 8.5.0 2023-12-09 15:58:23 -08:00
Ed Page ad2643d8e2 fix: Print rustc messages colored on wincon
Fixes #13104
2023-12-08 11:49:05 -06:00
Arlo Siemsen 1a90797c0a all-static feature includes vendored-libgit2 2023-12-07 19:23:33 -06:00
Sebastian Thiel 50c0005a28
upgrade gitoxide to v0.56 (#11821)
This release disables stderr for external programs by default, while
allowing to override these settings using configuration or environment
variables.
2023-12-06 17:09:08 +01:00
Weihang Lo df34bdd8d7
Revert "chore(deps): update rust crate openssl to 0.10.60 [security]"
Reverts rust-lang/cargo#13068

`openssl@0.10.160` switches to OpenSSL v3,
which causes Cargo build failure on loongarch64.

See <https://github.com/rust-lang/rust/pull/118541#issuecomment-1837197918>
2023-12-02 11:41:57 -05:00
Ed Page 96f8517a28 test(mdman): Switch to snapbox
- We use it elsewhere
- We don't have to bake our own snapshotting solution
- It is more obvious how to update the snapshots
2023-12-01 15:31:27 -06:00
bors bbd2dcdb09 Auto merge of #13083 - rust-lang:renovate/compatible, r=epage
chore(deps): update compatible

[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies | patch | `4.4.7` -> `4.4.10` |
| [core-foundation](https://togithub.com/servo/core-foundation-rs) | workspace.dependencies | patch | `0.9.3` -> `0.9.4` |
| [ignore](https://togithub.com/BurntSushi/ripgrep/tree/master/crates/ignore) ([source](https://togithub.com/BurntSushi/ripgrep)) | workspace.dependencies | patch | `0.4.20` -> `0.4.21` |
| [libc](https://togithub.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.149` -> `0.2.150` |
| [proptest](https://proptest-rs.github.io/proptest/proptest/index.html) ([source](https://togithub.com/proptest-rs/proptest)) | workspace.dependencies | minor | `1.3.1` -> `1.4.0` |
| [regex](https://togithub.com/rust-lang/regex) | workspace.dependencies | minor | `1.9.3` -> `1.10.2` |
| [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.190` -> `1.0.193` |
| [similar](https://togithub.com/mitsuhiko/similar) | dev-dependencies | minor | `2.2.1` -> `2.3.0` |
| [syn](https://togithub.com/dtolnay/syn) | workspace.dependencies | patch | `2.0.38` -> `2.0.39` |
| [toml](https://togithub.com/toml-rs/toml) | workspace.dependencies | patch | `0.8.6` -> `0.8.8` |
| [tracing-subscriber](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tracing)) | workspace.dependencies | patch | `0.3.17` -> `0.3.18` |
| [url](https://togithub.com/servo/rust-url) | workspace.dependencies | minor | `2.4.1` -> `2.5.0` |

---

### Release Notes

<details>
<summary>clap-rs/clap (clap)</summary>

### [`v4.4.10`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4410---2023-11-28)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.9...v4.4.10)

##### Documentation

-   Link out to changelog
-   Cross link derive's attribute reference to derive tutorial

### [`v4.4.9`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#449---2023-11-27)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.8...v4.4.9)

##### Fixes

-   *(help)* Show correct `Command::about` under flattened headings
-   *(help)* Respect `hide` when flattening subcommands

### [`v4.4.8`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#448---2023-11-10)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.7...v4.4.8)

##### Features

-   Add `Command::flatten_help` to allow `git stash -h` like help for subcommands

</details>

<details>
<summary>servo/core-foundation-rs (core-foundation)</summary>

### [`v0.9.4`](https://togithub.com/servo/core-foundation-rs/compare/core-foundation-v0.9.3...core-foundation-v0.9.4)

[Compare Source](https://togithub.com/servo/core-foundation-rs/compare/core-foundation-v0.9.3...core-foundation-v0.9.4)

</details>

<details>
<summary>rust-lang/libc (libc)</summary>

### [`v0.2.150`](https://togithub.com/rust-lang/libc/releases/tag/0.2.150)

[Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.149...0.2.150)

#### What's Changed

-   feat: closefrom() and close_range() for FreeBSD by [`@&#8203;SteveLauC](https://togithub.com/SteveLauC)` in [https://github.com/rust-lang/libc/pull/3374](https://togithub.com/rust-lang/libc/pull/3374)
-   adding apple ifreq by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3375](https://togithub.com/rust-lang/libc/pull/3375)
-   Add pthread_once by [`@&#8203;0xcaff](https://togithub.com/0xcaff)` in [https://github.com/rust-lang/libc/pull/3376](https://togithub.com/rust-lang/libc/pull/3376)
-   netbsd: Add SO_NOSIGPIPE by [`@&#8203;taiki-e](https://togithub.com/taiki-e)` in [https://github.com/rust-lang/libc/pull/3377](https://togithub.com/rust-lang/libc/pull/3377)
-   Say goodbye to GH Pages in favor of docs.rs by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3378](https://togithub.com/rust-lang/libc/pull/3378)
-   bugfix for teeos use Option by [`@&#8203;Sword-Destiny](https://togithub.com/Sword-Destiny)` in [https://github.com/rust-lang/libc/pull/3379](https://togithub.com/rust-lang/libc/pull/3379)
-   openbsd/netbsd sharing execvpe definition by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3382](https://togithub.com/rust-lang/libc/pull/3382)
-   ifreq for apple follow-up fix case when in non libc_union case by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3385](https://togithub.com/rust-lang/libc/pull/3385)
-   NetBSD's mod.rs: fix cpuid_t definition. by [`@&#8203;he32](https://togithub.com/he32)` in [https://github.com/rust-lang/libc/pull/3386](https://togithub.com/rust-lang/libc/pull/3386)
-   ifconf addition to apple. fixing freebsd's implementation while at it. by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3388](https://togithub.com/rust-lang/libc/pull/3388)
-   adding exect/execvP for FreeBSD/DragonflyBSD by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3381](https://togithub.com/rust-lang/libc/pull/3381)
-   adding execvP for apple by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3383](https://togithub.com/rust-lang/libc/pull/3383)
-   adding ifreq struct for openbsd by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3384](https://togithub.com/rust-lang/libc/pull/3384)
-   Add `MCL_ONFAULT` constants by [`@&#8203;newpavlov](https://togithub.com/newpavlov)` in [https://github.com/rust-lang/libc/pull/3380](https://togithub.com/rust-lang/libc/pull/3380)
-   Add time namespace constant by [`@&#8203;cd-work](https://togithub.com/cd-work)` in [https://github.com/rust-lang/libc/pull/3352](https://togithub.com/rust-lang/libc/pull/3352)
-   adding few more CLONE_\* constant for Linux/Android. by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3034](https://togithub.com/rust-lang/libc/pull/3034)
-   android add handful lock free stdio calls by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3290](https://togithub.com/rust-lang/libc/pull/3290)
-   hurd: Fix msghdr's msg_iov field type by [`@&#8203;sthibaul](https://togithub.com/sthibaul)` in [https://github.com/rust-lang/libc/pull/3389](https://togithub.com/rust-lang/libc/pull/3389)
-   Adding missing macros from linux/if_tun.h by [`@&#8203;BrandonMFong](https://togithub.com/BrandonMFong)` in [https://github.com/rust-lang/libc/pull/3320](https://togithub.com/rust-lang/libc/pull/3320)
-   vxworks: Add mman.h consts and shm functions by [`@&#8203;jdygert-spok](https://togithub.com/jdygert-spok)` in [https://github.com/rust-lang/libc/pull/3406](https://togithub.com/rust-lang/libc/pull/3406)
-   Reenable FreeBSD 14 CI, and update definitions to match 14.0-RC1. by [`@&#8203;asomers](https://togithub.com/asomers)` in [https://github.com/rust-lang/libc/pull/3355](https://togithub.com/rust-lang/libc/pull/3355)
-   Use new check-cfg syntax in newer nightly by [`@&#8203;Urgau](https://togithub.com/Urgau)` in [https://github.com/rust-lang/libc/pull/3410](https://togithub.com/rust-lang/libc/pull/3410)
-   musl fixes and musl+riscv32 fixes by [`@&#8203;akiernan](https://togithub.com/akiernan)` in [https://github.com/rust-lang/libc/pull/3302](https://togithub.com/rust-lang/libc/pull/3302)
-   Add various constants from OpenBSD's sys/exec_elf.h. by [`@&#8203;ltratt](https://togithub.com/ltratt)` in [https://github.com/rust-lang/libc/pull/3409](https://togithub.com/rust-lang/libc/pull/3409)
-   riscv64/musl: Add landlock syscalls by [`@&#8203;marv](https://togithub.com/marv)` in [https://github.com/rust-lang/libc/pull/3398](https://togithub.com/rust-lang/libc/pull/3398)
-   Add stat64at function declaration to AIX by [`@&#8203;ecnelises](https://togithub.com/ecnelises)` in [https://github.com/rust-lang/libc/pull/3324](https://togithub.com/rust-lang/libc/pull/3324)
-   adding getmntinfo/getmntvinfo for DragonFlyBSD. by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3394](https://togithub.com/rust-lang/libc/pull/3394)
-   adding MOVE_MOUNT\* constants for linux to use with SYS_move_mount by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3391](https://togithub.com/rust-lang/libc/pull/3391)
-   freebsd adding PROT_MAX|PROT_MAX_EXTRACT mmap flags by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3399](https://togithub.com/rust-lang/libc/pull/3399)
-   linux/android adding few if_alg.h constants. by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3404](https://togithub.com/rust-lang/libc/pull/3404)
-   Setup Dependabot for GitHub Actions by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3411](https://togithub.com/rust-lang/libc/pull/3411)
-   For NetBSD: add entry for NetBSD/riscv64. by [`@&#8203;he32](https://togithub.com/he32)` in [https://github.com/rust-lang/libc/pull/3291](https://togithub.com/rust-lang/libc/pull/3291)
-   adding more recent pthread_get/setname_np calls to freebsd/dragonflybsd by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3412](https://togithub.com/rust-lang/libc/pull/3412)
-   NetBSD/mipsel: add support. by [`@&#8203;he32](https://togithub.com/he32)` in [https://github.com/rust-lang/libc/pull/3416](https://togithub.com/rust-lang/libc/pull/3416)
-   feat: add new constants from fanotify linux api by [`@&#8203;ad0](https://togithub.com/ad0)` in [https://github.com/rust-lang/libc/pull/3408](https://togithub.com/rust-lang/libc/pull/3408)
-   linux: add PTRACE_GETSIGMASK and PTRACE_SETSIGMASK by [`@&#8203;mbyzhang](https://togithub.com/mbyzhang)` in [https://github.com/rust-lang/libc/pull/3163](https://togithub.com/rust-lang/libc/pull/3163)
-   Add a few declarations for Apple systems by [`@&#8203;vincentisambart](https://togithub.com/vincentisambart)` in [https://github.com/rust-lang/libc/pull/3328](https://togithub.com/rust-lang/libc/pull/3328)
-   feat: Added ifconf struct by [`@&#8203;Brijeshkrishna](https://togithub.com/Brijeshkrishna)` in [https://github.com/rust-lang/libc/pull/3393](https://togithub.com/rust-lang/libc/pull/3393)
-   Upgrade Docker images to Ubuntu 23.10 by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3418](https://togithub.com/rust-lang/libc/pull/3418)
-   redox: Add remaining `grp.h` functions by [`@&#8203;ids1024](https://togithub.com/ids1024)` in [https://github.com/rust-lang/libc/pull/3421](https://togithub.com/rust-lang/libc/pull/3421)
-   netbsd/openbsd adding more accessors to siginfo_t. by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3400](https://togithub.com/rust-lang/libc/pull/3400)
-   Prepare release for v0.2.150 by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3424](https://togithub.com/rust-lang/libc/pull/3424)

#### New Contributors

-   [`@&#8203;0xcaff](https://togithub.com/0xcaff)` made their first contribution in [https://github.com/rust-lang/libc/pull/3376](https://togithub.com/rust-lang/libc/pull/3376)
-   [`@&#8203;he32](https://togithub.com/he32)` made their first contribution in [https://github.com/rust-lang/libc/pull/3386](https://togithub.com/rust-lang/libc/pull/3386)
-   [`@&#8203;sthibaul](https://togithub.com/sthibaul)` made their first contribution in [https://github.com/rust-lang/libc/pull/3389](https://togithub.com/rust-lang/libc/pull/3389)
-   [`@&#8203;BrandonMFong](https://togithub.com/BrandonMFong)` made their first contribution in [https://github.com/rust-lang/libc/pull/3320](https://togithub.com/rust-lang/libc/pull/3320)
-   [`@&#8203;jdygert-spok](https://togithub.com/jdygert-spok)` made their first contribution in [https://github.com/rust-lang/libc/pull/3406](https://togithub.com/rust-lang/libc/pull/3406)
-   [`@&#8203;Urgau](https://togithub.com/Urgau)` made their first contribution in [https://github.com/rust-lang/libc/pull/3410](https://togithub.com/rust-lang/libc/pull/3410)
-   [`@&#8203;akiernan](https://togithub.com/akiernan)` made their first contribution in [https://github.com/rust-lang/libc/pull/3302](https://togithub.com/rust-lang/libc/pull/3302)
-   [`@&#8203;marv](https://togithub.com/marv)` made their first contribution in [https://github.com/rust-lang/libc/pull/3398](https://togithub.com/rust-lang/libc/pull/3398)
-   [`@&#8203;ad0](https://togithub.com/ad0)` made their first contribution in [https://github.com/rust-lang/libc/pull/3408](https://togithub.com/rust-lang/libc/pull/3408)
-   [`@&#8203;vincentisambart](https://togithub.com/vincentisambart)` made their first contribution in [https://github.com/rust-lang/libc/pull/3328](https://togithub.com/rust-lang/libc/pull/3328)

**Full Changelog**: https://github.com/rust-lang/libc/compare/0.2.149...0.2.150

</details>

<details>
<summary>proptest-rs/proptest (proptest)</summary>

### [`v1.4.0`](https://togithub.com/proptest-rs/proptest/compare/v1.3.1...v1.4.0)

[Compare Source](https://togithub.com/proptest-rs/proptest/compare/v1.3.1...v1.4.0)

</details>

<details>
<summary>rust-lang/regex (regex)</summary>

### [`v1.10.2`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1102-2023-10-16)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.10.1...1.10.2)

\===================
This is a new patch release that fixes a search regression where incorrect
matches could be reported.

Bug fixes:

-   [BUG #&#8203;1110](https://togithub.com/rust-lang/regex/issues/1110):
    Revert broadening of reverse suffix literal optimization introduced in 1.10.1.

### [`v1.10.1`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1101-2023-10-14)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.10.0...1.10.1)

\===================
This is a new patch release with a minor increase in the number of valid
patterns and a broadening of some literal optimizations.

New features:

-   [FEATURE 04f5d7be](04f5d7be4e):
    Loosen ASCII-compatible rules such that regexes like `(?-u:☃)` are now allowed.

Performance improvements:

-   [PERF 8a8d599f](8a8d599f9d):
    Broader the reverse suffix optimization to apply in more cases.

### [`v1.10.0`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1100-2023-10-09)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.9.6...1.10.0)

\===================
This is a new minor release of `regex` that adds support for start and end
word boundary assertions. That is, `\<` and `\>`. The minimum supported Rust
version has also been raised to 1.65, which was released about one year ago.

The new word boundary assertions are:

-   `\<` or `\b{start}`: a Unicode start-of-word boundary (`\W|\A` on the left,
    `\w` on the right).
-   `\>` or `\b{end}`: a Unicode end-of-word boundary (`\w` on the left, `\W|\z`
    on the right)).
-   `\b{start-half}`: half of a Unicode start-of-word boundary (`\W|\A` on the
    left).
-   `\b{end-half}`: half of a Unicode end-of-word boundary (`\W|\z` on the
    right).

The `\<` and `\>` are GNU extensions to POSIX regexes. They have been added
to the `regex` crate because they enjoy somewhat broad support in other regex
engines as well (for example, vim). The `\b{start}` and `\b{end}` assertions
are aliases for `\<` and `\>`, respectively.

The `\b{start-half}` and `\b{end-half}` assertions are not found in any
other regex engine (although regex engines with general look-around support
can certainly express them). They were added principally to support the
implementation of word matching in grep programs, where one generally wants to
be a bit more flexible in what is considered a word boundary.

New features:

-   [FEATURE #&#8203;469](https://togithub.com/rust-lang/regex/issues/469):
    Add support for `\<` and `\>` word boundary assertions.
-   [FEATURE(regex-automata) #&#8203;1031](https://togithub.com/rust-lang/regex/pull/1031):
    DFAs now have a `start_state` method that doesn't use an `Input`.

Performance improvements:

-   [PERF #&#8203;1051](https://togithub.com/rust-lang/regex/pull/1051):
    Unicode character class operations have been optimized in `regex-syntax`.
-   [PERF #&#8203;1090](https://togithub.com/rust-lang/regex/issues/1090):
    Make patterns containing lots of literal characters use less memory.

Bug fixes:

-   [BUG #&#8203;1046](https://togithub.com/rust-lang/regex/issues/1046):
    Fix a bug that could result in incorrect match spans when using a Unicode word
    boundary and searching non-ASCII strings.
-   [BUG(regex-syntax) #&#8203;1047](https://togithub.com/rust-lang/regex/issues/1047):
    Fix panics that can occur in `Ast->Hir` translation (not reachable from `regex`
    crate).
-   [BUG(regex-syntax) #&#8203;1088](https://togithub.com/rust-lang/regex/issues/1088):
    Remove guarantees in the API that connect the `u` flag with a specific HIR
    representation.

`regex-automata` breaking change release:

This release includes a `regex-automata 0.4.0` breaking change release, which
was necessary in order to support the new word boundary assertions. For
example, the `Look` enum has new variants and the `LookSet` type now uses `u32`
instead of `u16` to represent a bitset of look-around assertions. These are
overall very minor changes, and most users of `regex-automata` should be able
to move to `0.4` from `0.3` without any changes at all.

`regex-syntax` breaking change release:

This release also includes a `regex-syntax 0.8.0` breaking change release,
which, like `regex-automata`, was necessary in order to support the new word
boundary assertions. This release also includes some changes to the `Ast`
type to reduce heap usage in some cases. If you are using the `Ast` type
directly, your code may require some minor modifications. Otherwise, users of
`regex-syntax 0.7` should be able to migrate to `0.8` without any code changes.

`regex-lite` release:

The `regex-lite 0.1.1` release contains support for the new word boundary
assertions. There are no breaking changes.

### [`v1.9.6`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#196-2023-09-30)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.9.5...1.9.6)

\==================
This is a patch release that fixes a panic that can occur when the default
regex size limit is increased to a large number.

-   [BUG aa4e4c71](aa4e4c7120):
    Fix a bug where computing the maximum haystack length for the bounded
    backtracker could result underflow and thus provoke a panic later in a search
    due to a broken invariant.

### [`v1.9.5`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#195-2023-09-02)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.9.4...1.9.5)

\==================
This is a patch release that hopefully mostly fixes a performance bug that
occurs when sharing a regex across multiple threads.

Issue [#&#8203;934](https://togithub.com/rust-lang/regex/issues/934)
explains this in more detail. It is [also noted in the crate
documentation](https://docs.rs/regex/latest/regex/#sharing-a-regex-across-threads-can-result-in-contention).
The bug can appear when sharing a regex across multiple threads simultaneously,
as might be the case when using a regex from a `OnceLock`, `lazy_static` or
similar primitive. Usually high contention only results when using many threads
to execute searches on small haystacks.

One can avoid the contention problem entirely through one of two methods.
The first is to use lower level APIs from `regex-automata` that require passing
state explicitly, such as [`meta::Regex::search_with`](https://docs.rs/regex-automata/latest/regex_automata/meta/struct.Regex.html#method.search_with).
The second is to clone a regex and send it to other threads explicitly. This
will not use any additional memory usage compared to sharing the regex. The
only downside of this approach is that it may be less convenient, for example,
it won't work with things like `OnceLock` or `lazy_static` or `once_cell`.

With that said, as of this release, the contention performance problems have
been greatly reduced. This was achieved by changing the free-list so that it
was sharded across threads, and that ensuring each sharded mutex occupies a
single cache line to mitigate false sharing. So while contention may still
impact performance in some cases, it should be a lot better now.

Because of the changes to how the free-list works, please report any issues you
find with this release. That not only includes search time regressions but also
significant regressions in memory usage. Reporting improvements is also welcome
as well! If possible, provide a reproduction.

Bug fixes:

-   [BUG #&#8203;934](https://togithub.com/rust-lang/regex/issues/934):
    Fix a performance bug where high contention on a single regex led to massive
    slow downs.

### [`v1.9.4`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#194-2023-08-26)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.9.3...1.9.4)

\==================
This is a patch release that fixes a bug where `RegexSet::is_match(..)` could
incorrectly return false (even when `RegexSet::matches(..).matched_any()`
returns true).

Bug fixes:

-   [BUG #&#8203;1070](https://togithub.com/rust-lang/regex/issues/1070):
    Fix a bug where a prefilter was incorrectly configured for a `RegexSet`.

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

### [`v1.0.193`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.193)

[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.192...v1.0.193)

-   Fix field names used for the deserialization of `RangeFrom` and `RangeTo` ([#&#8203;2653](https://togithub.com/serde-rs/serde/issues/2653), [#&#8203;2654](https://togithub.com/serde-rs/serde/issues/2654), [#&#8203;2655](https://togithub.com/serde-rs/serde/issues/2655), thanks [`@&#8203;emilbonnek](https://togithub.com/emilbonnek))`

### [`v1.0.192`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.192)

[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.191...v1.0.192)

-   Allow internal tag field in untagged variant ([#&#8203;2646](https://togithub.com/serde-rs/serde/issues/2646), thanks [`@&#8203;robsdedude](https://togithub.com/robsdedude))`

### [`v1.0.191`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.191)

[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.190...v1.0.191)

-   Documentation improvements

</details>

<details>
<summary>mitsuhiko/similar (similar)</summary>

### [`v2.3.0`](https://togithub.com/mitsuhiko/similar/blob/HEAD/CHANGELOG.md#230)

[Compare Source](https://togithub.com/mitsuhiko/similar/compare/2.2.1...2.3.0)

-   Added support for `Change::value_ref` and `Change::value_mut`.

</details>

<details>
<summary>dtolnay/syn (syn)</summary>

### [`v2.0.39`](https://togithub.com/dtolnay/syn/releases/tag/2.0.39)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.38...2.0.39)

-   Fix parsing of return expression in match guards ([#&#8203;1528](https://togithub.com/dtolnay/syn/issues/1528))
-   Improve error message on labeled loop as value expression for break ([#&#8203;1531](https://togithub.com/dtolnay/syn/issues/1531))

</details>

<details>
<summary>toml-rs/toml (toml)</summary>

### [`v0.8.8`](https://togithub.com/toml-rs/toml/compare/toml-v0.8.7...toml-v0.8.8)

[Compare Source](https://togithub.com/toml-rs/toml/compare/toml-v0.8.7...toml-v0.8.8)

### [`v0.8.7`](https://togithub.com/toml-rs/toml/compare/toml-v0.8.6...toml-v0.8.7)

[Compare Source](https://togithub.com/toml-rs/toml/compare/toml-v0.8.6...toml-v0.8.7)

</details>

<details>
<summary>tokio-rs/tracing (tracing-subscriber)</summary>

### [`v0.3.18`](https://togithub.com/tokio-rs/tracing/releases/tag/tracing-subscriber-0.3.18): tracing-subscriber 0.3.18

[Compare Source](https://togithub.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.17...tracing-subscriber-0.3.18)

This release of `tracing-subscriber` adds support for the [`NO_COLOR`][NO_COLOR] environment
variable (an informal standard to disable emitting ANSI color escape codes) in
`fmt::Layer`, reintroduces support for the [`chrono`][chrono] crate, and increases the
minimum supported Rust version (MSRV) to Rust 1.63.0.

It also introduces several minor API improvements.

##### Added

-   **chrono**: Add [`chrono`][chrono] implementations of `FormatTime` ([#&#8203;2690])
-   **subscriber**: Add support for the [`NO_COLOR`][NO_COLOR] environment variable in
    `fmt::Layer` ([#&#8203;2647])
-   **fmt**: make `format::Writer::new()` public ([#&#8203;2680])
-   **filter**: Implement `layer::Filter` for `Option<Filter>` ([#&#8203;2407])

##### Changed

-   **log**: bump version of `tracing-log` to 0.2 ([#&#8203;2772])
-   Increased minimum supported Rust version (MSRV) to 1.63.0+.

[`chrono`]: https://togithub.com/chronotope/chrono

[`NO_COLOR`]: https://no-color.org/

[#&#8203;2690]: https://togithub.com/tokio-rs/tracing/pull/2690

[#&#8203;2647]: https://togithub.com/tokio-rs/tracing/pull/2647

[#&#8203;2680]: https://togithub.com/tokio-rs/tracing/pull/2680

[#&#8203;2407]: https://togithub.com/tokio-rs/tracing/pull/2407

[#&#8203;2772]: https://togithub.com/tokio-rs/tracing/pull/2772

Thanks to [`@&#8203;shayne-fletcher](https://togithub.com/shayne-fletcher),` [`@&#8203;dmlary](https://togithub.com/dmlary),` [`@&#8203;kaifastromai](https://togithub.com/kaifastromai),` and [`@&#8203;jsgf](https://togithub.com/jsgf)` for contributing!

</details>

<details>
<summary>servo/rust-url (url)</summary>

### [`v2.5.0`](https://togithub.com/servo/rust-url/releases/tag/v2.5.0)

[Compare Source](https://togithub.com/servo/rust-url/compare/v2.4.1...v2.5.0)

#### What's Changed

-   Fix clippy by [`@&#8203;valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/878](https://togithub.com/servo/rust-url/pull/878)
-   use checked addition to not panic in debug build by [`@&#8203;Skgland](https://togithub.com/Skgland)` in [https://github.com/servo/rust-url/pull/877](https://togithub.com/servo/rust-url/pull/877)
-   Fix search setting for non-special urls with space, query and fragment by [`@&#8203;edgul](https://togithub.com/edgul)` in [https://github.com/servo/rust-url/pull/879](https://togithub.com/servo/rust-url/pull/879)
-   Added #\[must_use] Attributes for Configuration Options by [`@&#8203;Redfire75369](https://togithub.com/Redfire75369)` in [https://github.com/servo/rust-url/pull/876](https://togithub.com/servo/rust-url/pull/876)
-   Correct spelling mistake in `Position` docs by [`@&#8203;sprocklem](https://togithub.com/sprocklem)` in [https://github.com/servo/rust-url/pull/875](https://togithub.com/servo/rust-url/pull/875)
-   Fix another overflow in punycode encode_into by [`@&#8203;Skgland](https://togithub.com/Skgland)` in [https://github.com/servo/rust-url/pull/880](https://togithub.com/servo/rust-url/pull/880)
-   Update url 2.5.0 by [`@&#8203;valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/885](https://togithub.com/servo/rust-url/pull/885)

#### New Contributors

-   [`@&#8203;Skgland](https://togithub.com/Skgland)` made their first contribution in [https://github.com/servo/rust-url/pull/877](https://togithub.com/servo/rust-url/pull/877)
-   [`@&#8203;edgul](https://togithub.com/edgul)` made their first contribution in [https://github.com/servo/rust-url/pull/879](https://togithub.com/servo/rust-url/pull/879)
-   [`@&#8203;Redfire75369](https://togithub.com/Redfire75369)` made their first contribution in [https://github.com/servo/rust-url/pull/876](https://togithub.com/servo/rust-url/pull/876)
-   [`@&#8203;sprocklem](https://togithub.com/sprocklem)` made their first contribution in [https://github.com/servo/rust-url/pull/875](https://togithub.com/servo/rust-url/pull/875)

**Full Changelog**: https://github.com/servo/rust-url/compare/v2.4.1...v2.5.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
2023-12-01 20:41:18 +00:00