# Changelog

All Notable changes to `pbmedia/laravel-ffmpeg` will be documented in this file

## 8.1.2 - 2022-05-23

-   Don't resolve driver until needed.

## 8.1.1 - 2022-05-13

-   Bugfix for parsing the average frame rate.

## 8.1.0 - 2022-05-12

-   You may now specify a separate temporary disk for processing HLS exports.

## 8.0.2 - 2022-05-12

-   Fix for getting the previous exception while it doesn't exist.

## 8.0.1 - 2022-02-22

-   The configured temporary directory is now passed to the underlying driver.

## 8.0.0 - 2022-02-10

Support for Laravel 9, dropped support for Laravel 8 and earlier.

### Upgrading to v8

* As Laravel 9 has migrated from [Flysystem 1.x to 3.x](https://laravel.com/docs/9.x/upgrade#flysystem-3), this version is not compatible with Laravel 8 or earlier.
* If you're using the [Watermark manipulation](#watermark-manipulation) feature, make sure you upgrade [`spatie/image`](https://github.com/spatie/image) to v2.
* The `set_command_and_error_output_on_exception` configuration key now defaults to `true`, making exceptions more informative. Read more at the [Handling exceptions](#handling-exceptions) section.
* The `enable_logging` configuration key has been replaced by `log_channel` to choose the log channel used when writing messages to the logs. If you still want to disable logging entirely, you may set the new configuration key to `false`.
* The *segment length* and *keyframe interval* of [HLS exports](#HLS) should be `2` or more; less is not supported anymore.

## 7.8.1 - 2022-02-10

### Added

-   Support for opening uploaded files

## 7.8.0 - 2022-02-09

### Added

-   Support for the [modernized php-ffmpeg release](https://github.com/PHP-FFMpeg/PHP-FFMpeg/releases/tag/v1.0.0)

## 7.7.3 - 2022-02-07

### Added

-   Abilty to disable the threads filter from the config (thanks @ibrainventures)

## 7.7.2 - 2021-01-12

### Fixed

-   Fix for getting the duration of a file opened with the `openUrl` method.

## 7.7.1 - 2021-01-03

### Fixed

-   Fix for missing `$remaining` and `$rate` values when using the progress handler on exports with multiple inputs/outputs.

## 7.7.0 - 2021-12-31

### Added

-   Added Tile filter and factory
-   Support for exporting frames using the Tile filter
-   Bugfix for exporting loops using external disks

## 7.6.0 - 2021-12-20

### Added

-   Support for PHP 8.1

### Removed

-   Support for PHP 7.3
-   Support for Laravel 6 and 7

## 7.5.12 - 2021-07-05

### Added

-   Fix for passing additional parameters to a format when using HLS exports

## 7.5.11 - 2021-04-25

### Added

-   Added `CopyVideoFormat` format class

## 7.5.10 - 2021-03-31

### Added

-   Add ability to disable -b:v (thanks @marbocub)

## 7.5.9 - 2021-03-19

### Fixed

-   Prevent duplicate encryption key listeners

## 7.5.8 - 2021-03-17

### Fixed

-   Bugfix for creating temporary directories on Windows
-   Bugfix for HLS exports with custom framerate

## 7.5.7 - 2021-03-08

### Fixed

-   Prevent HLS key rotation on non-rotating exports (thanks @marbocub)

## 7.5.6 - 2021-03-03

### Fixed

-   Bugfix for HLS exports to S3 disks (thanks @chistel)
-   Prevent duplicate progress handler when using loops

## 7.5.5 - 2021-01-18

### Added

-   Added `beforeSaving` method to add callbacks

## 7.5.4 - 2021-01-07

### Added

-   Added fourth optional argument to the resize method whether or not to force the use of standards ratios
-   Improved docs
-   Small refactor

## 7.5.3 - 2021-01-02

### Added

-   Support for custom encryption filename when using non-rotating keys

## 7.5.2 - 2021-01-02

### Added

-   Support for setting a custom path for temporary directories
-   GitHub Actions now runs on Windows in addition to Ubuntu

### Fixed

-   HLS Encryption I/O improvements
-   Path normalization on Windows, which solves common problems with HLS and watermarks
-   Some refactors and documentation improvements

## 7.5.1 - 2020-12-24

### Added

-   Support for codec in HLS playlist
-   Fixed bitrate bug in HLS playlist

## 7.5.0 - 2020-12-22

### Added

-   Support for PHP 8.0.
-   Encrypted HLS.
-   New `getProcessOutput` method to analyze media.
-   Support for dynamic HLS playlists.

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Support for PHP 7.2

## 7.4.1 - 2020-10-26

### Added

-   Better exceptions
-   dd() improvements

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

## 7.4.0 - 2020-10-25

### Added

-   Watermark manipulations
-   Dump and die
-   Resize filter shortcut
-   HLS export with multiple filters per format

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

## 7.3.0 - 2020-10-16

### Added

-   Built-in support for watermarks.

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

## 7.2.0 - 2020-09-17

### Added

-   Support for inputs from the web

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

## 7.1.0 - 2020-09-04

### Added

-   Support for Laravel 8.0

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

## 7.0.5 - 2020-07-04

### Added

-   Added `CopyFormat` to export a file without transcoding.

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

## 7.0.4 - 2020-06-03

### Added

-   Added an `each` method to the `MediaOpener`

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

## 7.0.3 - 2020-06-01

### Added

-   Added a `MediaOpenerFactory` to support pre v7.0 facade

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

## 7.0.2 - 2020-06-01

### Added

-   Nothing

### Deprecated

-   Nothing

### Fixed

-   Audio bugfix for HLS exports with filters

### Removed

-   Nothing


## 7.0.1 - 2020-05-28

### Added

-   Nothing

### Deprecated

-   Nothing

### Fixed

-   Fixed HLS playlist creation on Windows hosts

### Removed

-   Nothing

## 7.0.0 - 2020-05-26

### Added

-   Support for both Laravel 6.0 and Laravel 7.0
-   Support for multiple inputs/outputs including mapping and complex filters
-   Concatenation with transcoding
-   Concatenation without transcoding
-   Support for image sequences (timelapse)
-   Bitrate, framerate and resolution data in HLS playlist
-   Execute one job for HLS export instead of one job for each format
-   Custom playlist/segment naming pattern for HLS export
-   Support for disabling log

### Deprecated

-   Nothing

### Fixed

-   Improved progress monitoring
-   Improved handling of remote filesystems

### Removed

-   Nothing

## 6.0.0 - 2020-03-03

### Added

-   Support for Laravel 7.0

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Support for Laravel 6.0

## 5.0.0 - 2019-09-03

### Added

-   Support for Laravel 6.0

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Support for PHP 7.1
-   Support for Laravel 5.8

### Security

-   Nothing

## 4.1.0 - 2019-08-28

### Added

-   Nothing

### Deprecated

-   Nothing

### Fixed

-   Lower memory usage when opening remote files

### Removed

-   Nothing

### Security

-   Nothing

## 4.0.1 - 2019-06-17

### Added

-   Nothing

### Deprecated

-   Nothing

### Fixed

-   Support for php-ffmpeg 0.14

### Removed

-   Nothing

### Security

-   Nothing

## 4.0.0 - 2019-02-26

### Added

-   Support for Laravel 5.8.
-   Support for PHP 7.3.

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

### Security

-   Nothing

## 3.0.0 - 2018-09-03

### Added

-   Support for Laravel 5.7.

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

### Security

-   Nothing

## 2.1.0 - 2018-04-10

### Added

-   Option to disable format sorting in HLS exporter.

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

### Security

-   Nothing

## 2.0.1 - 2018-02-30

### Added

-   Nothing

### Deprecated

-   Nothing

### Fixed

-   Symfony 4.0 workaround

### Removed

-   Nothing

### Security

-   Nothing

## 2.0.0 - 2018-02-19

### Added

-   Support for Laravel 5.6.

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Support for Laravel 5.5 and earlier.

### Security

-   Nothing

## 1.3.0 - 2017-11-13

### Added

-   Support for monitoring the progress of a HLS Export.

### Deprecated

-   Nothing

### Fixed

-   Some refactoring

### Removed

-   Nothing

### Security

-   Nothing

## 1.2.0 - 2017-11-13

### Added

-   Support for adding filters per format in the `HLSPlaylistExporter` class by giving access to the `Media` object through a callback.

### Deprecated

-   Nothing

### Fixed

-   Some refactoring

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.12 - 2017-09-05

### Added

-   Support for Package Discovery in Laravel 5.5.

### Deprecated

-   Nothing

### Fixed

-   Some refactoring

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.11 - 2017-08-31

### Added

-   Added `withVisibility` method to the MediaExporter

### Deprecated

-   Nothing

### Fixed

-   Some refactoring

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.10 - 2017-08-16

### Added

-   Added `getFirstStream()` method to the `Media` class

### Deprecated

-   Nothing

### Fixed

-   Some refactoring

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.9 - 2017-07-10

### Added

-   Support for custom filters in the `Media` class

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.8 - 2017-05-22

### Added

-   `getDurationInMiliseconds` method in Media class

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.7 - 2017-05-22

### Added

-   `fromFilesystem` method in FFMpeg class

### Deprecated

-   Nothing

### Fixed

-   Fallback to format properties in `getDurationInSeconds` method (Media class)

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.6 - 2017-05-11

### Added

-   `cleanupTemporaryFiles` method

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.5 - 2017-03-20

### Added

-   Nothing

### Deprecated

-   Nothing

### Fixed

-   Bugfix for saving on remote disks

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.4 - 2017-01-29

### Added

-   Nothing

### Deprecated

-   Nothing

### Fixed

-   Support for php-ffmpeg 0.8.0

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.3 - 2017-01-05

### Added

-   Nothing

### Deprecated

-   Nothing

### Fixed

-   HLS segment playlists output path is now relative

### Removed

-   Nothing

### Security

-   Nothing

## 1.1.2 - 2017-01-05

### Added

-   Added 'getDurationInSeconds' method to Media class.

### Deprecated

-   Nothing

### Fixed

-   Nothing

### Removed

-   Nothing

### Security

-   Nothing
