List of changes between releases of Extension:AWS.

== master branch (will become AWS 0.13.2 or 0.14.0, depending on magnitude of changes) ==

Minor features:
* Added "transcoded" zone to $wgAWSRepoZones.

== AWS 0.13.1 ==

* Added support for MediaWiki 1.43.

Bugfixes:
* Fixed situation where /img_auth.php was unnecessarily used for public wikis.

Performance optimizations:
* S3Client is no longer created if it isn't actually needed for some operation.

== AWS 0.13.0 ==

* Added support for MediaWiki 1.39.
* Added support for PHP 8.1.

Minor features:
* Added $wgAWSLocalCacheExcludeFileExtensions, which allows to exclude some files (e.g. audio)
from the local cache.
* Added support for path-style endpoints: $wgFileBackends['s3']['use_path_style_endpoint'] setting.
* $wgAWSBucketDomain now supports values that start with http:// (to not use HTTPS).
* Added $wgAWSRepoZones, which can be used to add non-standard zones to $wgLocalFileRepo.

Troubleshooting tools:
* Debug log now warns if some extension tries to use non-standard zones (not in $wgAWSRepoZones).

== AWS 0.12.0 ==

Major features:
* Results of doGetFileStat() are now cached, which greatly improves performance
when editing a page with many images.

Minor features:
* $wgImgAuthPath can now override the path to /img_auth.php for private wikis.

Bugfixes:
* HTTP headers set by other extensions (like Content-Disposition) are no longer ignored
when uploading new images.

Warnings fixed:
* Fixed harmless PHP warning in doGetLocalCopyMulti().
* Replaced deprecated wfWikiId().
* Replaced deprecated wfGetMainCache().

== AWS 0.11.1 ==

* Added support for MediaWiki 1.35.
* Dropped support for MediaWiki 1.27-1.34 and PHP 5.6.

== AWS 0.11.0 ==

Major features:
* Added "local cache" feature for extremely large S3 objects (e.g. 100Mb.+ PDF files).
This saves time when generating their thumbnails.
	Note: disabled by default. Set $wgAWSLocalCacheDirectory to writable directory to enable.
	Note: don't enable if not needed. Small images won't benefit from local cache.
	Note: files smaller than $wgAWSLocalCacheMinSize bytes (default: 100Mb.) won't be cached.
* Added $wgAWSBucketTopSubdirectory, which allows to add a custom prefix to S3 paths.
For example, if $wgAWSBucketTopSubdirectory="/something",
then S3 object "1.jpg" will be named "Bucket/something/1.jpg" instead of "Bucket/1.jpg".
Default (recommended): no prefix ($wgAWSBucketTopSubdirectory is an empty string).

Minor features:
* Added support for custom S3 endpoint: $wgFileBackends['s3']['endpoint'] setting.
* Added support for basic sharding: $wgFileBackends['s3']['shardViaHashLevels'] setting.
* Will no longer try to include vendor/autoload.php if S3Client is already loaded.
This allows administrator to include it via composer.local.json of MediaWiki core.

Bugfixes:
* Content-Type is now correctly guessed for files with inconclusive extensions, e.g. "Image.dat".

Performance optimizations:
* Reduced the number of API calls in doGetFileStat().
* Reduced the number of API calls in doPrepareInternal().
* Reduced the number of API calls in isPathUsableInternal().
* Improved performance of "is this container for public-read or private S3 objects?" check.
* Removed unnecessary API calls in doPublishInternal() for already published containers
and in doSecureInternal() for already secured containers.

Troubleshooting tools:
* Added performance metrics "how much time was spent on S3 upload/download" to the debug log.

Warnings fixed:
* Replaced deprecated wfSuppressWarnings()/wfRestoreWarnings().

== AWS 0.10.0 ==

Major features:
* Added $wgAWSBucketName. Can now use only one S3 bucket instead of 4.
* Now using AWS SDK v3 (was: v2), which supports new AWS regions.
* CDN support: added $wgAWSBucketDomain (custom hostname to use in public URL of S3-hosted images).
* Added $wgAWSRepoHashLevels and $wgAWSRepoDeletedHashLevels to simplify copying of images
that are already stored locally (in an existing wiki) to S3 (and vise versa).

Minor features:
* img_auth.php is now used as URL of public/thumb zones in private wikis.
* Added support for non-default $wgDBprefix.
* Increased unnecessarily restricting limit on S3 object name length (can now be up to 1024 bytes).

Bugfixes:
* Backend no longer waits for S3 bucket to appear if its creation failed for whatever reason.

Deprecated configuration:
* $wgAWSBucketPrefix (setup with four S3 buckets) is deprecated. Use $wgAWSBucketName instead.
	Note: $wgAWSBucketPrefix still works, and existing wikis which use it are unaffected,
	but new wikis shouldn't use it, because it has no benefit over "one bucket only" setup.

Troubleshooting tools:
* Added debug log to AmazonS3FileBackend: $wgDebugLogGroups['FileOperation'] = 'filename';

Refactoring:
* Methods like doFileListInternal() have been rewritten to use Paginators (introduced in SDK v3),
and their code has been significantly simplified.

== AWS 0.9.0 ==

Major features:
* Added $wgAWSBucketPrefix for easier configuration (instead of manually
defining $wgLocalFileRepo and $wgFileBackends).

Minor features:
* Added support for wfLoadExtension().

== AWS 0.8.1 ==

First release after this extension has been unarchived (21 June 2018).
