Added internationalization tags around 'Playlist' and 'Video' labels to ensure consistent localization. Introduced a conditional check for playlist entries to display a 'View playlist' button instead of the 'Download' and 'More options' buttons, which now only appear for non-playlist entries. This enhances user navigation and better differentiates between playlists and individual videos.
- Added assertion to ensure 'view' is an instance of Smarty to avoid potential type errors.
- Included plugin registration for 'filter_var' modifier to enhance view capabilities.
- Added a check for successful file_get_contents call to prevent potential errors when fetching thumbnails.
- Incorporated type assertion for 'projectDir' to enhance type safety and eliminate potential runtime errors.
Upgraded several packages to their latest versions to incorporate bug fixes, security patches, and improvements. Notable updates include:
- `smarty/smarty` from `v4.5.3` to `v4.5.4`
- `symfony/console` from `v5.4.41` to `v5.4.43`
- `symfony/dependency-injection` from `v5.4.40` to `v5.4.43`
- `phpunit/phpunit` from `9.6.20` to `9.6.21`
These updates ensure that the project remains current with external dependencies, benefiting from the latest enhancements and maintaining compatibility with newer PHP versions.
No breaking changes anticipated, but thorough testing is recommended.
Consolidated `genericFormats` in the example configuration to use individual best and worst video options instead of combined options. This simplifies the configuration and aligns with common usage scenarios. No functional impact expected.
Introduced a 'remux' option in the download functionality, enabling users to remux videos with the best available audio when selected. This enhances the audio quality of downloaded videos when the option is checked in the UI. Added corresponding checkbox in the template for user selection.
Switched the footer repository link to a private Git repository and updated the youtube-dl link to the new yt-dlp URL. Helps ensure users follow the current and maintained projects.
Switched 'img-src' directive to only allow 'self', and removed the wildcard '*' and 'data:' source settings. This adjustment enhances security by restricting image sources to the same origin, preventing potential exploitation from arbitrary or data URLs.
Upgraded PHPStan from v0.12.72 to v1.8 to leverage improvements and new features. This change includes adjustments to support requirements and package metadata. Ensures compatibility with newer PHP versions and provides enhanced static analysis capabilities.
Embedded video thumbnails as base64 data URIs to enhance performance and ensure portability. Updated CSP to allow 'data:' sources for images, preventing CSP violations when rendering base64 images.
Addresses issues with missing thumbnails and enhances security settings.
Upgraded various dependencies to their latest versions. Key updates include:
- `clue/stream-filter`: v1.6.0 to v1.7.0
- `composer/installers`: v2.2.0 to v2.3.0
- `guzzlehttp/promises`: 1.5.2 to 1.5.3
- `jawira/case-converter`: v3.4.6 to v3.5.1
- `paragonie/constant_time_encoding`: v2.6.3 to v2.7.0
- `paragonie/csp-builder`: v2.8.0 to v2.9.0
- `php-http/client-common`: 2.6.0 to 2.7.1
- `php-http/discovery`: 1.15.2 to 1.19.4
- `php-http/httplug`: 2.3.0 to 2.4.0
- `php-http/message`: 1.13.0 to 1.16.1
- `php-http/message-factory`: v1.0.2 to 1.1.0
- `php-http/promise`: 1.1.0 to 1.3.1
- `psr/container`: 1.1.1 to 1.1.2
- `psr/http-client`: 1.0.1 to 1.0.3
- `psr/http-factory`: 1.0.1 to 1.1.0
- `slim/slim`: 3.12.4 to 3.12.5
- `smarty/smarty`: v4.3.1 to v4.5.3
- `symfony/console`: v5.4.21 to v5.4.41
- `symfony/deprecation-contracts`: v2.5.2 to v2.5.3
- `symfony/finder`: v5.4.21 to v5.4.40
- `symfony/options-resolver`: v5.4.21 to v5.4.40
- `symfony/polyfill-*`: various to 1.30.0
- `symfony/process`: v5.4.21 to v5.4.40
- `symfony/service-contracts`: v2.5.2 to v2.5.3
- `symfony/string`: v5.4.21 to v5.4.41
- `symfony/translation-contracts`: v2.5.2 to v2.5.3
- `amphp/amp`: v2.6.2 to v2.6.4
- `amphp/byte-stream`: v1.8.1 to v1.8.2
- `amphp/parallel`: v1.4.2 to v1.4.3
- `amphp/parser`: v1.0.0 to v1.1.1
- `amphp/process`: v1.1.4 to v1.1.7
- `composer/semver`: 3.3.2 to 3.4.2
- `consolidation/annotated-command`: 4.8.1 to 4.10.0
- `consolidation/output-formatters`: 4.2.4 to 4.5.0
- `consolidation/robo`: 3.0.11 to 3.0.12
- `consolidation/self-update`: 2.1.0 to 2.2.0
- `dflydev/dot-access-data`: v3.0.2 to v3.0.3
- `doctrine/deprecations`: v1.0.0 to 1.1.3
- `enlightn/security-checker`: v1.10.0 to v1.11.0
- `ergebnis/composer-normalize`: 2.20.0 to 2.43.0
- `guzzlehttp/promises`: 1.5.2 to 1.5.3
- `justinrainbow/json-schema`: 5.2.12 to 5.3.0
- `league/container`: 4.2.0 to 4.2.2
- `mockery/mockery`: 1.5.1 to 1.6.12
- `monolog/monolog`: 2.9.1 to 2.9.3
- `myclabs/deep-copy`: 1.11.0 to 1.12.0
- `nikic/php-parser`: v4.15.3 to v4.19.1
- `ondram/ci-detector`: 4.1.0 to 4.2.0
- `phar-io/manifest`: 2.0.3 to 2.0.4
- `php-mock/php-mock`: 2.4.0 to 2.5.0
- `phpunit/php-code-coverage`: 9.2.25 to 9.2.31
- `phpunit/phpunit`: 9.6.4 to 9.6.20
- `sebastian/cli-parser`: 1.0.1 to 1.0.2
- `sebastian/diff`: 4.0.4 to 4.0.6
- `sebastian/ lines-of-code`: 1.0.3 to 1.0.4
and many more.
This ensures compatibility with newer versions, security improvements, and overall system stability.
Adding composer.phar to .gitignore to prevent the inclusion of the Composer binary in the repository. This ensures local dependencies are not accidentally committed, promoting a cleaner codebase.
Removed every reference to alltubedownload.net (#422)
Updated youtube-dl to 2021.12.17
Updated alltube-library to 0.1.3
Updated Smarty to 4.0
PHP 8 compatibility
Various refactoring and typying improvement