# Change Log ## 4.1.2 - 09-Nov-2016 - Fix in `getExistingSlugs` when using global scopes (#327) - Update `Cocur\Slugify` to `^2.3`. ## 4.1.1 - 12-Oct-2016 - Fix for slugs updating when they don't need to, when using `onUpdate` with `unique` (#317) ## 4.1.0 - 14-Sep-2016 - 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 ## 4.0.4 - 13-Sep-2016 - Fix `SluggableScopeHelpers` to work when using the short configuration syntax (#314). ## 4.0.3 - 15-Jul-2016 - Added `$config` argument to `SlugService::createSlug` method for optionally overriding the configuration for a statically generated slug (#286). ## 4.0.2 - 17-Jun-2016 - 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. ## 4.0.1 - 13-Jun-2016 - Fixed several bugs related to Laravel 5.1 and collections (#263, #274). ## 4.0.0 - 10-Jun-2016 - Fix for Laravel 5.1 (#263 thanks @roshangautam and @andregaldino). - Update `Cocur\Slugify` to `^2.1` (#269 thanks @shadoWalker89). ## 4.0.0-beta - 01-Jun-2016 - 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](UPGRADING.md) for details. ## 3.1.4 - 03-Jan-2016 - Compatible with Laravel 5.2 (by removing calls to composer from migrate command) ## 3.1.3 - 07-Dec-2015 - Fix for PostgreSQL and `findBySlugOrId()` (#205 thanks @Jaspur) ## 3.1.2 - 07-Nov-2015 - 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 ## 3.1.1 - 26-Oct-2015 - Fix missing class reference (#192) - Clean up migration code (#191 thanks @natzim) - Fix when using magic getters (#188 thanks @ChrisReid) ## 3.1.0 - 14-Oct-2015 - 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) ## 3.0.0 - 06-Jul-2015 - Don't increment unique suffix if slug is unchanged (#108 thanks @kkiernan) ## 3.0.0-beta - 12-Jun-2015 - 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) ## 3.0.0-alpha - 11-Feb-2015 - Laravel 5.0 support - Remove Ardent support and tests - Fix so that `max_length` option only applies to string slugs (#64 thanks @enzomaserati) ## 2.0.5 - 13-Nov-2014 - 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) ## 2.0.4 - 23-Sep-2014 - 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). ## 2.0.3 - 17-Jul-2014 - Don't allow slugs to be empty (#44 thanks @lfbittencourt). ## 2.0.2 - 19-Jun-2014 - Add `getExistingSlugs()` method to trait (#36 thanks @neilcrookes). ## 2.0.1 - 13-May-2014 - Fix issue where manually setting the slug field would be overwritten when updating the sluggable fields (#32 thanks @D1kz). ## 2.0.0 - 27-Apr-2014 - See the [README](https://github.com/cviebrock/eloquent-sluggable/tree/master#upgrading) 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). ## 1.0.8 - 20-Feb-2014 - Fix issue where replicated models couldn't forcibly be re-slugged (#20 thanks @trideout). ## 1.0.7 - 03-Dec-2013 - Really fix issue #15 -- "not in object context" errors. Previous fix didn't work for PHP 5.3.x (thanks again @mayoz). ## 1.0.6 - 02-Dec-2013 - 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](http://github.com/laravelbook/ardent) models (thanks to @Flynsarmy for the pointers). ## 1.0.5 - 15-Nov-2013 - Fix issues where slugs would alternate between "slug" and "slug-1" when `on_update` and `unique` are set (#14, #16, thanks @mikembm, @JoeChilds). - Make `isIncremented` method static to solve possible "not in object context" error (#15, thanks @mayoz). ## 1.0.4 - 05-Nov-2013 - Unit testing ... woot! Building this revealed three new bugs: - Fixed bug where using the default `method` didn't take into account a custom `separator`. - Proper fix for issue #5. - `include_trashed` wasn't working because you can't read the protected `softDelete` property of the model. ## 1.0.3 - 04-Nov-2013 - Fixed PHP warnings about uninitialized variable (#10, thanks @JoeChilds). ## 1.0.2 - 03-Nov-2013 - 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). ## 1.0.1 - 02-Jul-2013 - `reserved` configuration option prevents generated slugs from being from a list of "reserved" names (e.g. colliding with routes, etc.) (#2, thanks @ceejayoz). ## 1.0.0 - 18-Jun-2013 - 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). ## 1.0.0-beta - 11-Jun-2013 - Initial beta release.