PackageTrack
Sign in Get early access

cviebrock/eloquent-sluggable

Easy creation of slugs for your Eloquent models in Laravel

13.0.1 15M downloads/mo #1367 most downloaded on Packagist cviebrock/eloquent-sluggable

What this package is like to depend on

Last release 1 months ago

20 Jul 2026

Release timing varies

gaps range from 3 weeks to 13 months

Most releases are documented

notes for 62 of 69 stable releases

Nothing withdrawn

no release was ever pulled

13 years old

74 releases · first in 2013

2 releases in the last 12 months

see the full history below

Release timeline

74 releases · Jun 2013 to Jul 2026
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 60 of 74
  1. 13.0.1 20 Jul 2026
    Release notes
    • add .gitattributes file and reduce size of package archive (#630, thanks @hosni)
    Open source →
  2. 13.0.0 19 Mar 2026
    Release notes
    • Added Laravel 13 support
    Open source →
  3. 12.0.0 26 Feb 2025
    Release notes
    • Added Laravel 12 support
    Open source →
  4. 11.0.1 29 Nov 2024
    Release notes
    • Support PHP 8.4 (#616, thanks @SupianIDz)
    • Notice that Lumen will be deprecated in the next major release
    Open source →
  5. 11.0.0 13 Mar 2024
    Release notes
    • Added Laravel 11 support (#608, thanks @fulopattila122)
    • Changed the minimum PHP version to 8.2 to line up with Laravel 11
    • fix for larastan issue (#596, thanks @WalrusSoup)
    Open source →
  6. 10.0.0 16 Feb 2023
    Release notes
    • Laravel 10.0 support
    • switch to using Pest instead of PHPUnit for tests
    Open source →
  7. 9.0.0 25 Jan 2022
    Release notes
    • Laravel 9 support (#577, #578, thanks @carbonvader and @tabcitu)
    Open source →
  8. 8.0.8 12 Jun 2021
    Release notes

    Fix event handling and tests

    Open source →
    Release notes
    • fix event tests and registerModelEvent() hook (#556, #561, thanks @standaniels)
    Open source →
  9. 8.0.7 19 May 2021
    Release notes

    Bug fix for SluggableObserver::SAVED configurations

    Open source →
    Release notes
    • fix issue with SluggableObserver::SAVED not always saving the model (#558, #560, thanks @llewellyn-kevin)
    Open source →
  10. 8.0.5 28 Feb 2021
    Release notes

    add firstUniqueSuffix and start counting from 2

    Open source →
    Release notes
    • started unique suffixes with "-2" instead of "-1" (#549, thanks @Tamim26061)
      • this can be adjusted via the firstUniqueSuffix config setting
    Open source →
  11. 8.0.4 20 Jan 2021
    Release notes
    • bug fix for #543#issuecomment-763391948 (thanks @dluague)
    Open source →
  12. 8.0.3 20 Jan 2021
    Release notes
    • add ability to slug models on Eloquent's saved event, rather than saving
      • this adds a few more SQL queries per save, but allows for the use of the primary key field in the source configuration (see #539 and #448)
      • default configuration remains the same, but might change in a future release
    • added base customizeSlugEngine and scopeWithUniqueSlugConstraints methods to the trait, to enforce type hinting and return values
      • NOTE: if you were using these methods in your models, you may need to ensure the method signatures match now
      • see #544 for more information, including what to do if you had custom methods in another trait
    • add slugEngineOptions configuration option (see #454, thanks @Adioz01)
    • move automated testing from travis-ci to Github actions (#534, thanks @cbl)
    • clean up some third-party tools and badges
    • clean up docblocks, return hints, and PHPUnit method calls
    Open source →
  13. 8.0.2 29 Nov 2020
    Release notes
    • support PHP 8.0 (#533, thanks @cbl)
    Open source →
  14. 8.0.1 28 Sep 2020
    Release notes
    • fix when manually setting a slug to a "falsy" value (#527, thanks @huiyang)
    Open source →
  15. 8.0.0 10 Sep 2020
    Release notes
    • Laravel 8 support
    Open source →
  16. 7.0.2 08 Dec 2020

    Nothing published for this version

  17. 7.0.1 07 Apr 2020
    Release notes
    • fix to help support translatable slugs (using either spatie or Astrotomic package) (#506, thanks @GeoSot)
    Open source →
  18. 7.0.0 05 Mar 2020
    Release notes
    • Laravel 7.0 support
    Open source →
  19. 6.0.4 08 Dec 2020

    Nothing published for this version

  20. 6.0.3 09 Feb 2020
    Release notes
    Open source →
  21. 6.0.2 10 Oct 2019
    Release notes
    • fix for PHP 7.4 beta (#486, thanks @KamaZzw)
    Open source →
  22. 6.0.1 14 Sep 2019
    Release notes
    • fix for semantic versioning
    Open source →
  23. 6.0.0 04 Sep 2019
    Release notes
    • Laravel 6.0 support (note the package version will now follow the Laravel version)
    Open source →
  24. 4.8.1 09 Feb 2020

    Nothing published for this version

  25. 4.8.0 01 Mar 2019
    Release notes
    • Laravel 5.8 support (#460, big thanks @tabuna)
    Open source →
  26. 4.7.1 06 Nov 2020

    Nothing published for this version

  27. 4.7.0 24 Feb 2019
    Release notes
    • Fix slug getting set to null if model is updated with no source column loaded (#450, thanks @mylgeorge)
    Open source →
  28. 4.6.1 06 Nov 2020

    Nothing published for this version

  29. 4.6.0 05 Sep 2018
    Release notes
    • Laravel 5.7 support
    Open source →
  30. 4.5.2 06 Nov 2020

    Nothing published for this version

  31. 4.5.1 22 May 2018
    Release notes
    • Bump versions of package dependencies
    Open source →
  32. 4.5.0 11 Feb 2018
    Release notes
    • Laravel 5.6 support
    Open source →
  33. 4.4.2 09 Feb 2020

    Nothing published for this version

  34. 4.4.1 04 Jan 2018
    Release notes
    • Better exception message when calling SlugService::createSlug with an invalid attribute (#402, thanks @lptn)
    • Prettier unit test output
    Open source →
  35. 4.4.0 12 Dec 2017
    Release notes
    • Make sure truncated slugs (due to maxLength) don't end in a separator (#398)
    • Add maxLengthKeepWords configuration option (#398)
    Open source →
  36. 4.3.0 31 Aug 2017
    Release notes
    • Laravel 5.5 support, including auto-registration
    • Bumped cocur/slugify to ^3.0
    Open source →
  37. 4.2.5 05 Sep 2017
    Release notes
    • Fixing composer requirements to support Laravel 5.4 only
    Open source →
  38. 4.2.4 04 Jul 2017
    Release notes
    • Documentation change (#374, thanks @fico7489)
    Open source →
  39. 4.2.3 18 Apr 2017
    Release notes
    • Switch to allow extending the class (#356, thanks @haddowg)
    • Fix when adding suffixes to reserved slugs (#356, thanks @haddowg)
    Open source →
  40. 4.2.2 23 Mar 2017
    Release notes
    • Better handling of numeric and boolean slug sources (#351, thanks @arturock)
    Open source →
  41. 4.2.1 01 Feb 2017
    Release notes
    • Support Laravel 5.4 (#339, thanks @maddhatter)
    Open source →
  42. 4.1.2 09 Nov 2016
    Release notes
    • Fix in getExistingSlugs when using global scopes (#327)
    • Update Cocur\Slugify to ^2.3.
    Open source →
  43. 4.1.1 12 Oct 2016
    Release notes
    • Fix for slugs updating when they don't need to, when using onUpdate with unique (#317)
    Open source →
  44. 4.1.0 14 Sep 2016
    Release notes
    • The goal of the 4.1.x releases will be to focus on support in Laravel 5.3, only providing support for 5.1/5.2 where it is easy and doesn't affect performance significantly.
    • Drop support for PHP <5.6 and HHVM (no longer supported by Laravel 5.3); fixes test build process
    Open source →
  45. 4.0.4 13 Sep 2016
    Release notes
    • Fix SluggableScopeHelpers to work when using the short configuration syntax (#314).
    Open source →
  46. 4.0.3 15 Jul 2016
    Release notes
    • Added $config argument to SlugService::createSlug method for optionally overriding the configuration for a statically generated slug (#286).
    Open source →
  47. 4.0.2 17 Jun 2016
    Release notes
    • Added SluggableScopeHelpers trait which restores some of the scoping and query functionality of the 3.x version of the package (#280, thanks @unstoppablecarl and @Keoghan).
    • Added the onUpdate configuration option back to the package.
    • Updated the documentation to show usage of the SluggableScopeHelpers trait, and how to use route model binding with slugs.
    Open source →
  48. 4.0.1 13 Jun 2016
    Release notes
    • Fixed several bugs related to Laravel 5.1 and collections (#263, #274).
    Open source →
  49. 4.0.0 10 Jun 2016
    Release notes
    • Fix for Laravel 5.1 (#263 thanks @roshangautam and @andregaldino).
    • Update Cocur\Slugify to ^2.1 (#269 thanks @shadoWalker89).
    Open source →
  50. 4.0.0-beta 01 Jun 2016 pre-release
    Release notes
    • Major revision
      • Model configuration is now handled in a sluggable() method. on the model instead of a property, and configuration options are now camelCase
      • Ability to generate more than one slug per model.
      • Removed all findBy...() scope/methods (can't really be used when a model has multiple slugs ... plus the code is easy enough to implement in the model).
      • Removed onUpdate configuration option. If you want to re-generate a slug on update, then set the model's slug to null before saving. Otherwise, existing slugs will never be overwritten.
      • createSlug() is no longer a static method on the model, but is a public method on the SlugService class, with a different method signature (see docs).
      • Removed artisan command to add slug column to tables. You will need to do this (pretty simple) task yourself now.
      • Several bug fixes.
    • See UPGRADING.md for details.
    Open source →
  51. 3.1.4 03 Jan 2016
    Release notes
    • Compatible with Laravel 5.2 (by removing calls to composer from migrate command)
    Open source →
  52. 3.1.3 07 Dec 2015
    Release notes
    • Fix for PostgreSQL and findBySlugOrId() (#205 thanks @Jaspur)
    Open source →
  53. 3.1.2 07 Nov 2015
    Release notes
    • Fix some namespacing issues in docblocks (#195)
    • Streamline artisan migrate call (#191 thanks @ntzm)
    • Fix bug when using magic getters (#188 thanks @ChrisReid)
    • Add a static slug generator (#185 thanks @phroggyy)
    • Lots of PSR-2 fixes
    Open source →
  54. 3.1.1 26 Oct 2015
    Release notes
    • Fix missing class reference (#192)
    • Clean up migration code (#191 thanks @natzim)
    • Fix when using magic getters (#188 thanks @ChrisReid)
    Open source →
  55. 3.1.0 14 Oct 2015
    Release notes
    • Convert code-base to PSR-2
    • If the source is empty, then set the slug to null (#162 thanks @PallMallShow)
    • Ability to use a model's relations in the build_from configuration (#171 thanks @blaxxi)
    • Added getSlugEngine() method so that the Cocur\Slugify class can be configured
    • Updated the migration stub for Laravel 5.1's PSR-2 changes (#174 thanks @39digits)
    • Added slugging and slugged Eloquent model events
    • Fix for findBySlugOrId() methods when the slug is numeric (#161 thanks @canvural)
    • Add static method Model::createSlug('some string') (#185 thanks @phroggyy)
    Open source →
  56. 3.0.0 06 Jul 2015
    Release notes
    • Don't increment unique suffix if slug is unchanged (#108 thanks @kkiernan)
    Open source →
  57. 3.0.0-beta 13 Jun 2015 pre-release
    Release notes
    • Laravel 5.1 support (#141/#148 thanks @Keoghan, @Bouhnosaure)
    • Removed use_cache option and support
    • Use (Cocur\Slugify)[https://github.com/cocur/slugify] as default slugging method
    • Fix for include_trashed option not working for models that inherit the SoftDeletes trait (#136 thanks @ramirezd42)
    • Added generateSuffix() method so you could use different strategies other than integers for making incremental slugs (#129 thanks @EspadaV8)
    • Various scope and lookup fixes (thanks @xire28)
    Open source →
  58. 3.0.0-alpha 11 Feb 2015 pre-release
    Release notes
    • Laravel 5.0 support
    • Remove Ardent support and tests
    • Fix so that max_length option only applies to string slugs (#64 thanks @enzomaserati)
    Open source →
  59. 2.0.5 13 Nov 2014
    Release notes
    • Fixed findBySlug() to return a model and getBySlug() to return a collection (#72 thanks @jaewun and @Jono20202)
    • Fixed testbench version requirements (#87 thanks @hannesvdvreken)
    • Fixed so that max_length option only applies to string slugs (#64 thanks @enzomaserati)
    • Cleaned up some redundant code and documentation (thanks @hannesvdvreken, @Anahkiasen, @nimbol)
    Open source →
  60. 2.0.4 24 Sep 2014
    Release notes
    • Fixed softDelete behaviour and tests so Laravel 4.2 and earlier are supported (#56 thanks @hammat).
    • Fixed alias for Illuminate\Support\Str to prepare for Laravel 4.3/5.0 (#58 thanks @0xMatt).
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive