- Laravel 5.5 support, including auto-registration
- Bumped
cocur/slugify
to^3.0
- Fixing composer requirements to support Laravel 5.4 only
- Documentation change (#374, thanks @fico7489)
- Switch to allow extending the class (#356, thanks @haddowg)
- Fix when adding suffixes to reserved slugs (#356, thanks @haddowg)
- Better handling of numeric and boolean slug sources (#351, thanks @arturock)
- Support Laravel 5.4 (#339, thanks @maddhatter)
- Fix in
getExistingSlugs
when using global scopes (#327) - Update
Cocur\Slugify
to^2.3
.
- Fix for slugs updating when they don't need to, when using
onUpdate
withunique
(#317)
- 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
- Fix
SluggableScopeHelpers
to work when using the short configuration syntax (#314).
- Added
$config
argument toSlugService::createSlug
method for optionally overriding the configuration for a statically generated slug (#286).
- 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.
- Fixed several bugs related to Laravel 5.1 and collections (#263, #274).
- Fix for Laravel 5.1 (#263 thanks @roshangautam and @andregaldino).
- Update
Cocur\Slugify
to^2.1
(#269 thanks @shadoWalker89).
- 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 tonull
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.
- Model configuration is now handled in a
- See UPGRADING.md for details.
- Compatible with Laravel 5.2 (by removing calls to composer from migrate command)
- Fix for PostgreSQL and
findBySlugOrId()
(#205 thanks @Jaspur)
- 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
- Fix missing class reference (#192)
- Clean up migration code (#191 thanks @natzim)
- Fix when using magic getters (#188 thanks @ChrisReid)
- 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
andslugged
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)
- Don't increment unique suffix if slug is unchanged (#108 thanks @kkiernan)
- 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)
- Laravel 5.0 support
- Remove Ardent support and tests
- Fix so that
max_length
option only applies to string slugs (#64 thanks @enzomaserati)
- Fixed
findBySlug()
to return a model andgetBySlug()
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)
- 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).
- Don't allow slugs to be empty (#44 thanks @lfbittencourt).
- Add
getExistingSlugs()
method to trait (#36 thanks @neilcrookes).
- Fix issue where manually setting the slug field would be overwritten when updating the sluggable fields (#32 thanks @D1kz).
- See the README for all upgrading details.
- Now uses traits, so PHP >= 5.4 is required.
- Configuration and usage is mostly backwards-compatible, although users of Ardent or anyone who force-builds slugs will need to make some changes.
- Use Laravel's cache to speed up unique slug generation (and prevent duplicates in heavy-usage cases).
- Fix issue where replicated models couldn't forcibly be re-slugged (#20 thanks @trideout).
- Really fix issue #15 -- "not in object context" errors. Previous fix didn't work for PHP 5.3.x (thanks again @mayoz).
- Update composer requirements so that the package installs nicely with the upcoming Laravel 4.1.
- Updated docs to show how to use package with Ardent models (thanks to @Flynsarmy for the pointers).
- Fix issues where slugs would alternate between "slug" and "slug-1" when
on_update
andunique
are set (#14, #16, thanks @mikembm, @JoeChilds). - Make
isIncremented
method static to solve possible "not in object context" error (#15, thanks @mayoz).
- Unit testing ... woot! Building this revealed three new bugs:
- Fixed bug where using the default
method
didn't take into account a customseparator
. - Proper fix for issue #5.
include_trashed
wasn't working because you can't read the protectedsoftDelete
property of the model.
- Fixed bug where using the default
- Fixed PHP warnings about uninitialized variable (#10, thanks @JoeChilds).
- Allow reverting to a "smaller" version of a similar slug (#5, thanks @alkin).
- Better collection filtering to prevent duplicate slugs on similar long slugs (#3, #6, thanks @torkiljohnsen, @brandonkboswell).
include_trashed
option to include soft-deleted models when checking for uniqueness (#8, thanks @slovenianGooner).- Fixed "undefined variable reserved" error (#9, thanks @altrim).
reserved
configuration option prevents generated slugs from being from a list of "reserved" names (e.g. colliding with routes, etc.) (#2, thanks @ceejayoz).
- First non-beta release.
$sluggable
property of model switched back to static, maintains L3 compatability (thanks @orkhan).- Updated type hinting in
Sluggable::make()
to better handle extended models (#1, thanks @altrim).
- Initial beta release.