Skip to content
Devix Open Source

Changelog

Every release of Arabic Slugify, newest first. Breaking changes are flagged.

v1.0.0

15 Sep 2026

First release.

Added

  • slug() with script: 'keep', which leaves the Arabic letters in place — the option no other slug library offers, and the only way to produce a URL an Arabic reader can read.
  • Zero-width joiners, non-joiners and kashidas treated as what they are: marks inside a word, never separators. Two of the most downloaded slug libraries turn می‌روم into two words.
  • Vowel marks used when an author has written them, including a shadda doubling the consonant rather than the vowel — which Unicode's ordering makes easy to get backwards — and the silent alef after a tanween.
  • Language-aware readings for Arabic, Persian and Urdu: positional و and ی, final heh as eh, and the letters پ چ ژ گ ٹ ڈ ڑ ں that an Arabic-only table drops entirely.
  • Letter unification that follows the content's language: Persian and Urdu keep ی and ک, Arabic keeps ي and ك, and both spellings still collapse to one slug.
  • A closing ta marbuta as a and an internal one as t.
  • The definite article as al-, with الله as the single exception.
  • Arabic-Indic and Persian digits converted to 0–9.
  • Direction marks stripped, so a right-to-left override can never make a URL read as something other than what it is.
  • uniqueSlug() for collisions, which romanised Arabic produces far more often than Latin text does.
  • prefersScript(), normalise(), transliterate(), westernDigits(), stripInvisible() and hasTashkeel() exported on their own — the same normalisation makes Arabic search work.
  • separator, lower, maxLength that cuts on a word boundary, stopWords that never empty a title, and keep for extra characters.
  • 2.0 kB gzip, zero dependencies.