Skip to content

build(deps): bump python-slugify from 8.0.4 to 9.1.3 - #14714

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/pip/python-slugify-9.1.3
Open

dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/pip/python-slugify-9.1.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Bumps python-slugify from 8.0.4 to 9.1.3.

Release notes

Sourced from python-slugify's releases.

9.1.3

Patch for the modern algorithm. Legacy output is unchanged and remains the permanent default.

  • Modern mode only: preserve repeated and leading post-replacement delimiters during word-boundary truncation, instead of collapsing them to a single separator. Legacy output and public smart_truncate are unchanged (aarush, #204).
  • Add tests for CLI interruption and legacy backend error contracts. No output change (dyda5505-cloud, #203).

Full Changelog: un33k/python-slugify@v9.1.2...v9.1.3

🚀 Generated with Dojo ⛩️

9.1.2

Performance improvement with unchanged output under both algorithms. Legacy output is unchanged and remains the permanent default.

  • Skip the transliteration backend for ASCII-only input under both algorithms, avoiding the ~3 MB text-unidecode table import for the common ASCII case. Output is unchanged, including the frozen legacy differential (Rafael Borja, #201).

Full Changelog: un33k/python-slugify@v9.1.1...v9.1.2

🚀 Generated with Dojo ⛩️

9.1.1

Bug fix in the modern algorithm. Legacy output is unchanged and remains the permanent default.

  • Modern mode only: avoid emitting a trailing separator when a hard cut truncates through repeated post-replacement delimiters, keeping the delimiter run with the next word that fits. Legacy output and public smart_truncate are unchanged (曾楚笑, #200).

Full Changelog: un33k/python-slugify@v9.1.0...v9.1.1

🚀 Generated with Dojo ⛩️

9.1.0

Modern-algorithm improvements and fixes. Legacy output is unchanged and remains the permanent default.

  • Modern mode only: decode uppercase &#X..; hexadecimal references as HTML allows, in addition to lowercase &#x..; (Rupayon Haldar, #195).
  • Modern mode only: preserve post-replacement output when the whole slug already fits max_length, so intentional repeated/trailing delimiters are not collapsed at the length limit. Public smart_truncate is unchanged (emme1t, #193).
  • Fix add_uppercase_char to apply insertions atomically, leaving the input list unchanged if iteration fails. Built-in transliteration tables are unaffected (Cristian Ramirez, #194).
  • Modern mode only: validate argument types up front, raising TypeError for a bool/non-int max_length or a non-str separator. Legacy behavior is unchanged (Jon Bailey, #196).

Internal: the legacy pipeline is now frozen in slugify/_legacy.py with the public slugify() dispatching by algorithm; tests reorganized under tests/.

Full Changelog: un33k/python-slugify@v9.0.0...v9.1.0

🚀 Generated with Dojo ⛩️

9.0.0

Highlights

  • Preserve legacy slug output by default while adding explicit algorithm="modern" opt-in behavior.
  • Add explicit transliteration backend and replacement-stage controls, with matching CLI options.
  • Add opt-in AnyASCII support while preserving existing dependency and backend-selection behavior.
  • Fix CLI regex-pattern forwarding and modern-mode handling for entities, iterables, separators, and delimiters.
  • Add Python 3.14 support, packaging modernization, expanded compatibility checks, and migration guidance.

... (truncated)

Changelog

Sourced from python-slugify's changelog.

9.1.3

  • Modern mode only: preserve repeated and leading post-replacement delimiters during word-boundary truncation, instead of collapsing them to a single separator. Legacy output and public smart_truncate are unchanged (aarush, #204).
  • Add tests for CLI interruption and legacy backend error contracts. No output change (dyda5505-cloud, #203).

9.1.2

  • Skip the transliteration backend for ASCII-only input under both algorithms, avoiding the ~3 MB text-unidecode table import for the common ASCII case. Output is unchanged, including the frozen legacy differential (Rafael Borja, #201).

9.1.1

  • Modern mode only: avoid emitting a trailing separator when a hard cut truncates through repeated post-replacement delimiters, keeping the delimiter run with the next word that fits. Legacy output and public smart_truncate are unchanged (曾楚笑, #200).

9.1.0

  • Modern mode only: decode uppercase &#X..; hexadecimal references as HTML allows, in addition to lowercase &#x..;. Legacy output is unchanged (Rupayon Haldar, #195).
  • Modern mode only: preserve post-replacement output when the whole slug already fits max_length, so intentional repeated/trailing delimiters are not collapsed at the length limit. Public smart_truncate is unchanged (emme1t, #193).
  • Fix add_uppercase_char to apply insertions atomically, leaving the input list unchanged if iteration fails. Built-in transliteration tables are unaffected (Cristian Ramirez, #194).
  • Modern mode only: validate argument types up front, raising TypeError for a bool/non-int max_length (bool is an int subclass) or a non-str separator. Legacy behavior is unchanged and still treats max_length=True as its historical single-character truncation (Jon Bailey, #196).

9.0.0 — unreleased

  • Add keyword-only algorithm='legacy' (permanent default) and explicit algorithm='modern' opt-in, plus CLI --algorithm. Preserve historical default entity ordering, numeric handling, iterator consumption, separator truncation, and public smart_truncate behavior.

  • Preserve legacy auto backend selection and two-pass replacement defaults; add explicit backend and replacement_stage keyword-only options and matching CLI flags.

  • Add opt-in AnyASCII extra without removing or changing the base text-unidecode dependency.

  • Forward CLI --regex-pattern (Jacobo de Vera, #176; report by @​peter-bloomfield, #175).

  • Modern mode only: decode entities before transliteration; handle invalid numeric references per match, including surrogate references (#178, #181, #187).

  • Modern mode only: materialize replacement rules and stopword iterables consistently; preserve bytes/bytearray UTF-8 input with clear rejection of unsupported types (#183, #190).

  • Modern mode only: budget internal tokens using emitted separator widths, support empty separators, and preserve literal word characters that match delimiters. Public smart_truncate remains unchanged (#47, #185, #186).

  • Add regression coverage for whitespace, ordinals, backend-specific output, replacement stages, CLI execution, and installed artifacts.

  • Move package metadata to pyproject.toml, retain the typed marker and source tests, and remove the unsafe publish/upload/tag shortcut.

  • Document output changes, backend license distinctions, compatibility limits, and migration precautions in docs/release-9/migration.md.

  • Support Python 3.14.

  • Drop support for Python 3.9 and lower.

  • Use tox for local test runs and in CI.

  • Test the project against both unidecode and text_unidecode.

  • Fix type annotation issues identified by mypy.

  • Run CI against pull requests.

  • Fix package build warnings.

Commits
  • f0010f9 Release 9.1.3: preserve modern word-boundary replacement delimiters (#206)
  • 007ddd7 Add the missing blank lines in the new contributor tests (#205)
  • c9e9698 Preserve modern word-boundary replacement delimiters (#204)
  • b910814 Add tests for CLI interruption and legacy backend error contracts (#203)
  • 866401e Rename DOJO.md to AGENTS.md and ignore local build artifacts (#202)
  • 18a28da Release 9.1.2: skip transliteration backend for ASCII input (#201)
  • cf6cd3d Skip the transliteration backend for ASCII text (#201)
  • 2fe6cec Reword Dojo badge to 'maintained with' for a 15-year-old library
  • bbfdff2 Recolor Dojo badge to dark slate for readability
  • 87ce191 Add 'Built with Dojo' badge to README
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file major A high priority issue which might affect a lot of people or large parts of the codebase labels Oct 12, 2026
@cla-bot cla-bot Bot added the cla-signed CLA Bot: community license agreement signed label Oct 12, 2026
Bumps [python-slugify](https://github.com/un33k/python-slugify) from 8.0.4 to 9.1.3.
- [Release notes](https://github.com/un33k/python-slugify/releases)
- [Changelog](https://github.com/un33k/python-slugify/blob/master/CHANGELOG.md)
- [Commits](un33k/python-slugify@v8.0.4...v9.1.3)

---
updated-dependencies:
- dependency-name: python-slugify
  dependency-version: 9.1.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/python-slugify-9.1.3 branch from 84deb5d to 2629aac Compare October 27, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed CLA Bot: community license agreement signed dependencies Pull requests that update a dependency file major A high priority issue which might affect a lot of people or large parts of the codebase

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants