Skip to content

Bump convert_case from 0.10.0 to 0.12.0 - #139

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/convert_case-0.12.0
Open

Bump convert_case from 0.10.0 to 0.12.0#139
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/convert_case-0.12.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown
Contributor

Bumps convert_case from 0.10.0 to 0.12.0.

Changelog

Sourced from convert_case's changelog.

0.12.0: Optimizations

This release improves speed and memory efficiency. A couple techniques were used:

  • Character case checks first check ascii before doing the more expensive grapheme checks (which require heap allocations).
  • Delimiter only splits get a dedicated path in the split method.
  • The case of characters is computed upfront in a bitmask before checking individual boundary conditions in split. Built-in boundaries get a custom implementation built on top of this bitmask.
Benchmark Before After Improvement
snake_short ("hello_world") 412 ns 21.3 ns −95%
lower_upper ("lowerUpperUpper") 1,631 ns 475 ns −71%
acronym ("XMLRequest") 1,108 ns 418 ns −62%
camel_set ("getTotalLength3D") 3,844 ns 643 ns −83%
defaults_mixed (9 boundaries) 8,083 ns 1,500 ns −81%
defaults_long_snake (265 chars) 52,281 ns 4,730 ns −91%
unicode_cyrillic ("ПЕРСПЕКТИВА24") 8,334 ns 741 ns −91%
Full pipeline from_to_all (4 words x 14 x 14) 1,230 µs 263 µs −79%

0.11.0: Multiple Patterns

The headline change permits trailing, leading, and duplicate delimiters to persist (default) or be removed. Instead of applying a single pattern, Converter supports multiple patterns and will apply them in order. This comes with another pattern Pattern::RemoveEmpty that drops empty words. This allows for opting into what was default behavior in 0.8.0 and before.

New features:

  • Converter now supports multiple patterns via Converter.patterns: Vec<Pattern>. Patterns are applied in sequence, allowing for composition.
  • Pattern::RemoveEmpty filters out empty words. This is useful when splitting produces empty words from leading, trailing, or duplicate delimiters (e.g., "--a--b" split on hyphens).
  • Casing::remove_empty() is a convenience method that adds Pattern::RemoveEmpty to the patterns vector.
"--leading-delims".remove_empty().to_case(Case::Camel)
// "leadingDelims"

Breaking changes:

  • delim_boundary macro is now separator
  • Removed Casing::is_case. Similar functionality is now implemented in convert-case-extras.
  • Instances of delim have been renamed to delimiter:
    • Converter.delim -> Converter.delimiter
    • Converter::set_delim -> Converter::set_delimiter
    • Case::Custom.delim -> Case::Custom.delimiter
    • Case::delim -> Case::delimiter
  • Converter.pattern is now Converter.patterns with type Vec<Pattern>
    • New pattern methods on Converter just like boundaries: set_patterns, add_pattern, add_patterns, remove_pattern, remove_patterns.
    • Pattern::Noop removed. An empty patterns vector represents no mutation.
  • Boundary::Custom and Pattern::Custom variants are no longer comparable.
    • Implementations of PartialEq, Eq, and Hash are no longer derived on Boundary and Pattern, and have been manually implemented.
    • Custom variants always return false for equality checks because function pointers cannot be reliably compared. This has been true for all of rust, but the compiler warning is relatively new to the author. This means remove_boundary and remove_pattern will not work for custom variants.
    • Further, all Custom variants now hash to the same value.

Other changes:

  • Much improved documentation: fixed typos, better examples.

... (truncated)

Commits
  • 637e1ae Version 0.12.0, add changelog file
  • cbb51dd Add typos check, remove allocation on convert()
  • 2369350 Remove more allocations
  • c96d23c Update README for 0.12.0 changelog
  • b0df904 Optimize separator! macro to avoid joining all remaining graphemes
  • c9b3bc4 Add bitmask-accelerated split() with fast path for simple delimiters
  • 50ba04b Add perf to dev deps, add split benchmarks
  • dd2e339 Fix no-std in testing, add cargo-check to prek
  • cbace9e Add format to prek
  • 9422d49 Add prek, update nixpkgs, rustc, fix clippy lints
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [convert_case](https://github.com/rutrum/convert-case) from 0.10.0 to 0.12.0.
- [Changelog](https://github.com/rutrum/convert-case/blob/master/CHANGELOG.md)
- [Commits](rutrum/convert-case@0.10.0...0.12.0)

---
updated-dependencies:
- dependency-name: convert_case
  dependency-version: 0.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants