All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
SluggerInterface
interface for newUniqueSlugger
logic
- Replaced
cocur/slugify
withsymfony/string
- Renamed class
UniqueSlugify
🠖UniqueSlugger
and changed interface used inMarkupFixer
- Renamed:
slugify
🠖makeSlug
- Added
reset()
method
- Renamed:
- Modernized code and tests to PHP 8.2+ syntax
- Increased PHPStan checks to level 7
- Upgraded PHPUnit to v11
- Support for PHP < v8.2
- Support for Twig < v3
- PHP 8.2, 8.3, and 8.4 GitHub builds
- Updated GitHub build action/checkout and action/cache
- Dependency issue in
composer.json
affecting PHP7 versions - Build issue with PHPStan in
HtmlHelper
- Build test for PHP 8.1
- The
MarkupFixer
now prefixestoc-
in cases where HTML tags are encountered with IDs that begin with a decimal (thanks @ArdaGnsrn!) - Upgraded PHPStan to v1.4
- Minor code and comment cleanup
- UniqueSlugifyTest to test the slugger on its own
- Bumped minimum PHP version up to v7.2
- Minor test code enhancements (thanks @peter279k!)
- Support for most pre-PHP7 versions of
cocur/slugify
- PHP >=8.0 support in
composer.json
(fixes #13) - GitHub Actions build status badge in
README.md
- PHPStan in dev dependencies
- Additional build checks (PHPStan and PHP-CS)
- Automatic SVG badge generation for code coverage
.travis.yml
build support (switched to Github Actions)- Build dependency on scrutinizer.org service
- BREAKING: Renamed internal class
UniqueSluggifier
toUniqueSlugify
- Minor comment fixes and make arguments optional in service constructors
- (dev) Added
*.cache
to gitignore (mostly for PHPUnit) - (dev) Made compatible with PHPUnit v9 and updated
phpunit.xml.dist
schema
- Fixed bug from v2.3: If default slugifier is used (UniqueSlugify.php), then ensure unique instance each time
MarkupFixer::fix()
is run This will prevent it from continuing to generate unique slugs if used more than once.
- Ability to inject the slugify class (#26) (thanks @yaquawa)
- Renamed internal class
UniqueSluggifier
toUniqueSlugify
- Added support Twig v3 in
composer.json
- Minor change to
README.md
to get PhpStorm IDE to stop warning
- Dropped support for Twig < v2.4
- Dropped support for KnpMenu < v3.0
- Bug with type-hints and older version of KnpMenu in
OrderedListRenderer
- Tests for PHP7.4 in
.travis.yml
- Additional header text to this CHANGELOG
- Added compatibility with v4 of
cocur/slugify
library - Require minimum v3.5 of
squizlabs/php_codesniffer
(the lowest version that supports PSR-12 checking)
- Only prefer lowest version of dependencies on lowest tested version of PHP
- Typo in
cocur/slugify
library dependency that affected v2.0 - Typo in
README.md
related to requirements and other stuff too. - Updated Twig usage examples in
README.md
to reflect the class names from more recent versions of Twig
- Ability to easily render
<ol>
and<ul>
lists (thanks @swapnilbanga) (fixes #2) - PHP 7 goodness:
declare(strict_types=1)
and method argument & return signatures
- Several issues in the README (typos, etc)
- Version number in COPYRIGHT notice
- Empty levels are now automatically trimmed from the generated output (fixes #1)
- Updated PHP requirements to modern versions (7.1+)
- Updated dependencies in
composer.json
:knplabs/knp-menu
now allows v3.0 - Updated dependencies in
composer.json
:twig/twig
now allows v2.0 - Updated dependencies in
composer.json
: minimum version of PHPunit is now v7.5 - Updated PHP CodeSniffer to use PSR-12 standard
- Modified
phpunit.xml.dist
to include coverage report generation - Renamed
LICENSE
toLICENSE.md
- Support for old PHP versions in
.travis.yml
- Redundant
bootstrap.php
file in tests --dev
option intravis.yml
(which is now deprecated)
- Duplicate headings are identified correctly (#7)
composer:check-style
andcomposer:fix-style
commands now work (fixed missing codesniffer library)
- BREAKING:
TocGenerator::getMenu()
returns an empty menu item instead of an empty array when no markup exists. - Improved unique identifier generation in
MarkupFixer
- Markup test to test for non-standard attributes (e.g. Vue, Angular, etc)
- Added support for more recent versions of
cocur/slugify
library incomposer.json
- Formatting changes
- PSR-2 code style compliance
- HtmlHelper evaluates body tags correctly (thanks @Schlaefer)
- Removed
composer.lock
from Git - Removed IDE files (
.idea
) and replaced it with.editorconfig
- Added
CONTRIBUTING.md
,CODE_OF_CONDUCT.md
, andPULL_REQUEST_TEMPLATE.md
to make contributing easier - Added tests for PHP5.5, 5.6, 7.0, 7.1, and 7.2
- Replaced
simple_dom_parser
withmasterminds/html5
parser library
- The
MarkupFixer
class now correctly preserves whitespace in HTML, correcting issues with code in pre.../pre tags
- Unit tests for Trait and Twig Extension to achieve 100% unit test coverage
- Created a
.gitattributes
file
- Initial Version