2019.12 Version 3.4.0
- Return the list of containers will be in sorted order.
 - Fixed a bug that get/download blob snapshot fails.
 - Check input request "x-ms-version" Header, only valid version are allowed.
 - Fixed a race condition that GC will delete active write extents.
 - Force flush data into disk before data upload request returns.
 - [Breaking] By default Azurite will block requests with unsupported headers or parameters which may impact data integrity.
- Skip this by switching to loose mode by Azurite configuration parameter 
--loose. 
 - Skip this by switching to loose mode by Azurite configuration parameter 
 
Blob:
- [Breaking] Azurite updates underline metadata schema which does not compatible with previous versions.
- This version cannot guarantee compatible with persisted database models file by previous version. Remove previous metadata file and restart Azurite in case any errors.
 
 - List blocks will filter the returned block list with input BlockListingFilter.
 - Added support for CORS.
 - AllowedHeaders and ExposedHeaders are optional now when setting CORS.
 - Added support to create block blob with empty block list.
 - Stage block cannot have blockID longer than 64.
 - Fix the issue that Copy Blob will overwrite the destination blob Lease status.
 - Fix the issue that Change Lease fail when blob lease id only matches the input ProposedLeaseId.
 - Fix the issue that UploadPage, ClearPage will fail on leased Page blob, even input correct lease id.
 - Update some lease error codes to align with Azure Storage.
 - Fixed a bug that set blob tier doesn't work with account SAS.
 - Fixed a bug that Azurite Blob service cannot start in Mac as Visual Studio Extension.
 - Fixed a bug that persistency location cannot be customized through -l parameter.
 - Fixed a bug that GC will remove uncommitted blocks.
 - Fixed a bug that download page blob doesn't return content range header.
 - Fixed a bug that uncommitted block blob invalid length.
 - Fixed a bug that SetHTTPHeaders, SetMetadata won't update blob etag.
 - Remove double quotation marks from list blob request returned blob etag, to align with Azure Server behavior.
 - Fixed a bug that BlobTierInferred not change to false after SetBlobTier.
 - Blocked set tier for page blob which requires premium storage account where Azurite provides standard storage account.
 - GetPageRangesDiff API (incremental snapshot) now returns NotImplementedError.
 - Fixed a bug that listing containers won't honor prefix with marker when using external metadata database.
 
Queue:
- AllowedHeaders and ExposedHeaders are optional now when setting CORS.
 - Fix Put message fail with max messagettl.
 - Updated message size calculation when checking 64KB limitation.