mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 10:03:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			1005 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			1005 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# CHANGELOG
 | 
						|
 | 
						|
## v14.2.0
 | 
						|
 | 
						|
- Added package comment to make `github.com/Azure/go-autorest` importable.
 | 
						|
 | 
						|
## v14.1.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Change `x-ms-authorization-auxiliary` header value separator to comma.
 | 
						|
 | 
						|
## v14.1.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added `azure.SetEnvironment()` that will update the global environments map with the specified values.
 | 
						|
 | 
						|
## v14.0.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Fix race condition when refreshing token.
 | 
						|
- Fixed some tests to work with Go 1.14.
 | 
						|
 | 
						|
## v14.0.0
 | 
						|
 | 
						|
## Breaking Changes
 | 
						|
 | 
						|
- By default, the `DoRetryForStatusCodes` functions will no longer infinitely retry a request when the response returns an HTTP status code of 429 (StatusTooManyRequests).  To opt in to the old behavior set `autorest.Count429AsRetry` to `false`.
 | 
						|
 | 
						|
## New Features
 | 
						|
 | 
						|
- Variable `autorest.Max429Delay` can be used to control the maximum delay between retries when a 429 is received with no `Retry-After` header.  The default is zero which means there is no cap.
 | 
						|
 | 
						|
## v13.4.0
 | 
						|
 | 
						|
## New Features
 | 
						|
 | 
						|
- Added field `SendDecorators` to the `Client` type.  This can be used to specify a custom chain of SendDecorators per client.
 | 
						|
- Added method `Client.Send()` which includes logic for selecting the preferred chain of SendDecorators.
 | 
						|
 | 
						|
## v13.3.3
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Fixed connection leak when retrying requests.
 | 
						|
- Enabled exponential back-off with a 2-minute cap when retrying on 429.
 | 
						|
- Fixed some cases where errors were inadvertently dropped.
 | 
						|
 | 
						|
## v13.3.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Updated `autorest.AsStringSlice()` to convert slice elements to their string representation.
 | 
						|
 | 
						|
## v13.3.1
 | 
						|
 | 
						|
- Updated external dependencies.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
## v13.3.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added support for shared key and shared access signature token authorization.
 | 
						|
  - `autorest.NewSharedKeyAuthorizer()` and dependent types.
 | 
						|
  - `autorest.NewSASTokenAuthorizer()` and dependent types.
 | 
						|
- Added `ServicePrincipalToken.SetCustomRefresh()` so a custom refresh function can be invoked when a token has expired.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Fixed `cli.AccessTokensPath()` to respect `AZURE_CONFIG_DIR` when set.
 | 
						|
- Support parsing error messages in XML responses.
 | 
						|
 | 
						|
## v13.2.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added the following functions to replace their versions that don't take a context.
 | 
						|
  - `adal.InitiateDeviceAuthWithContext()`
 | 
						|
  - `adal.CheckForUserCompletionWithContext()`
 | 
						|
  - `adal.WaitForUserCompletionWithContext()`
 | 
						|
 | 
						|
## v13.1.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added support for MSI authentication on Azure App Service and Azure Functions.
 | 
						|
 | 
						|
## v13.0.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Always retry a request even if the sender returns a non-nil error.
 | 
						|
 | 
						|
## v13.0.1
 | 
						|
 | 
						|
## Bug Fixes
 | 
						|
 | 
						|
- Fixed `autorest.WithQueryParameters()` so that it properly encodes multi-value query parameters.
 | 
						|
 | 
						|
## v13.0.0
 | 
						|
 | 
						|
## Breaking Changes
 | 
						|
 | 
						|
The `tracing` package has been rewritten to provide a common interface for consumers to wire in the tracing package of their choice.
 | 
						|
What this means is that by default no tracing provider will be compiled into your program and setting the `AZURE_SDK_TRACING_ENABLED`
 | 
						|
environment variable will have no effect.  To enable this previous behavior you must now add the following import to your source file.
 | 
						|
```go
 | 
						|
  import _ "github.com/Azure/go-autorest/tracing/opencensus"
 | 
						|
```
 | 
						|
The APIs required by autorest-generated code have remained but some APIs have been removed and new ones added.
 | 
						|
The following APIs and variables have been removed (the majority of them were moved to the `opencensus` package).
 | 
						|
- tracing.Transport
 | 
						|
- tracing.Enable()
 | 
						|
- tracing.EnableWithAIForwarding()
 | 
						|
- tracing.Disable()
 | 
						|
 | 
						|
The following APIs and types have been added
 | 
						|
- tracing.Tracer
 | 
						|
- tracing.Register()
 | 
						|
 | 
						|
To hook up a tracer simply call `tracing.Register()` passing in a type that satisfies the `tracing.Tracer` interface.
 | 
						|
 | 
						|
## v12.4.3
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- `autorest.MultiTenantServicePrincipalTokenAuthorizer` will now properly add its auxiliary bearer tokens.
 | 
						|
 | 
						|
## v12.4.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Improvements to the fixes made in v12.4.1.
 | 
						|
  - Remove `override` stanza from Gopkg.toml and `replace` directive from go.mod as they don't apply when being consumed as a dependency.
 | 
						|
  - Switched to latest version of `ocagent` that still depends on protobuf v1.2.
 | 
						|
  - Add indirect dependencies to the `required` clause with matching `constraint` stanzas so that `dep` dependencies match go.sum.
 | 
						|
 | 
						|
## v12.4.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Updated OpenCensus and OCAgent versions to versions that don't depend on v1.3+ of protobuf as it was breaking kubernetes.
 | 
						|
- Pinned opencensus-proto to a version that's compatible with our versions of OpenCensus and OCAgent.
 | 
						|
 | 
						|
## v12.4.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added `autorest.WithPrepareDecorators` and `autorest.GetPrepareDecorators` for adding and retrieving a custom chain of PrepareDecorators to the provided context.
 | 
						|
 | 
						|
## v12.3.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Support for multi-tenant via x-ms-authorization-auxiliary header has been added for client credentials with
 | 
						|
  secret scenario; this basically bundles multiple OAuthConfig and ServicePrincipalToken types into corresponding
 | 
						|
  MultiTenant* types along with a new authorizer that adds the primary and auxiliary token headers to the reqest.
 | 
						|
  The authenticaion helpers have been updated to support this scenario; if environment var AZURE_AUXILIARY_TENANT_IDS
 | 
						|
  is set with a semicolon delimited list of tenants the multi-tenant codepath will kick in to create the appropriate authorizer.
 | 
						|
  See `adal.NewMultiTenantOAuthConfig`, `adal.NewMultiTenantServicePrincipalToken` and `autorest.NewMultiTenantServicePrincipalTokenAuthorizer`
 | 
						|
  along with their supporting types and methods.
 | 
						|
- Added `autorest.WithSendDecorators` and `autorest.GetSendDecorators` for adding and retrieving a custom chain of SendDecorators to the provided context.
 | 
						|
- Added `autorest.DoRetryForStatusCodesWithCap` and `autorest.DelayForBackoffWithCap` to enforce an upper bound on the duration between retries.
 | 
						|
 | 
						|
## v12.2.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added `autorest.WithXML`, `autorest.AsMerge`, `autorest.WithBytes` preparer decorators.
 | 
						|
- Added `autorest.ByUnmarshallingBytes` response decorator.
 | 
						|
- Added `Response.IsHTTPStatus` and `Response.HasHTTPStatus` helper methods for inspecting HTTP status code in `autorest.Response` types.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- `autorest.DelayWithRetryAfter` now supports HTTP-Dates in the `Retry-After` header and is not limited to just 429 status codes.
 | 
						|
 | 
						|
## v12.1.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added `to.ByteSlicePtr()`.
 | 
						|
- Added blob/queue storage resource ID to `azure.ResourceIdentifier`.
 | 
						|
 | 
						|
## v12.0.0
 | 
						|
 | 
						|
### Breaking Changes
 | 
						|
 | 
						|
In preparation for modules the following deprecated content has been removed.
 | 
						|
 | 
						|
  - async.NewFuture()
 | 
						|
  - async.Future.Done()
 | 
						|
  - async.Future.WaitForCompletion()
 | 
						|
  - async.DoPollForAsynchronous()
 | 
						|
  - The `utils` package
 | 
						|
  - validation.NewErrorWithValidationError()
 | 
						|
  - The `version` package
 | 
						|
 | 
						|
## v11.9.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Add `ResourceIdentifiers` field to `azure.Environment` containing resource IDs for public and sovereign clouds.
 | 
						|
 | 
						|
## v11.8.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added `autorest.NewClientWithOptions()` to support endpoints that require free renegotiation.
 | 
						|
 | 
						|
## v11.7.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Fix missing support for http(s) proxy when using the default sender.
 | 
						|
 | 
						|
## v11.7.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added methods to obtain a ServicePrincipalToken on the various credential configuration types in the `auth` package.
 | 
						|
 | 
						|
## v11.6.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Fix ACR DNS endpoint for government clouds.
 | 
						|
- Add Cosmos DB DNS endpoints.
 | 
						|
- Update dependencies to resolve build breaks in OpenCensus.
 | 
						|
 | 
						|
## v11.6.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added type `autorest.BasicAuthorizer` to support Basic authentication.
 | 
						|
 | 
						|
## v11.5.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Fixed `GetTokenFromCLI` did not work with zsh.
 | 
						|
 | 
						|
## v11.5.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- In `Client.sender()` set the minimum TLS version on HTTP clients to 1.2.
 | 
						|
 | 
						|
## v11.5.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- The `auth` package has been refactored so that the environment and file settings are now available.
 | 
						|
- The methods used in `auth.NewAuthorizerFromEnvironment()` are now exported so that custom authorization chains can be created.
 | 
						|
- Added support for certificate authorization for file-based config.
 | 
						|
 | 
						|
## v11.4.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added `adal.AddToUserAgent()` so callers can append custom data to the user-agent header used for ADAL requests.
 | 
						|
- Exported `adal.UserAgent()` for parity with `autorest.Client`.
 | 
						|
 | 
						|
## v11.3.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- In `Future.WaitForCompletionRef()` if the provided context has a deadline don't add the default deadline.
 | 
						|
 | 
						|
## v11.3.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- For an LRO PUT operation the final GET URL was incorrectly set to the Location polling header in some cases.
 | 
						|
 | 
						|
## v11.3.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added method `ServicePrincipalToken()` to `DeviceFlowConfig` type.
 | 
						|
 | 
						|
## v11.2.8
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Deprecate content in the `version` package. The functionality has been superseded by content in the `autorest` package.
 | 
						|
 | 
						|
## v11.2.7
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Fix environment variable name for enabling tracing from `AZURE_SDK_TRACING_ENABELD` to `AZURE_SDK_TRACING_ENABLED`.
 | 
						|
  Note that for backward compatibility reasons, both will work until the next major version release of the package.
 | 
						|
 | 
						|
## v11.2.6
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- If zero bytes are read from a polling response body don't attempt to unmarshal them.
 | 
						|
 | 
						|
## v11.2.5
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Removed race condition in `autorest.DoRetryForStatusCodes`.
 | 
						|
 | 
						|
## v11.2.4
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Function `cli.ProfilePath` now respects environment `AZURE_CONFIG_DIR` if available.
 | 
						|
 | 
						|
## v11.2.1
 | 
						|
 | 
						|
NOTE: Versions of Go prior to 1.10 have been removed from CI as they no
 | 
						|
longer work with golint.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Method `MSIConfig.Authorizer` now supports user-assigned identities.
 | 
						|
- The adal package now reports its own user-agent string.
 | 
						|
 | 
						|
## v11.2.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added `tracing` package that enables instrumentation of HTTP and API calls.
 | 
						|
  Setting the env variable `AZURE_SDK_TRACING_ENABLED` or calling `tracing.Enable`
 | 
						|
  will start instrumenting the code for metrics and traces.
 | 
						|
  Additionally, setting the env variable `OCAGENT_TRACE_EXPORTER_ENDPOINT` or
 | 
						|
  calling `tracing.EnableWithAIForwarding` will start the instrumentation and connect to an
 | 
						|
  App Insights Local Forwarder that is needs to be running. Note that if the
 | 
						|
  AI Local Forwarder is not running tracking will still be enabled.
 | 
						|
  By default, instrumentation is disabled. Once enabled, instrumentation can also
 | 
						|
  be programatically disabled by calling `Disable`.
 | 
						|
- Added `DoneWithContext` call for checking LRO status. `Done` has been deprecated.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Don't use the initial request's context for LRO polling.
 | 
						|
- Don't override the `refreshLock` and the `http.Client` when unmarshalling `ServicePrincipalToken` if
 | 
						|
  it is already set.
 | 
						|
 | 
						|
## v11.1.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- When creating a future always include the polling tracker even if there's a failure; this allows the underlying response to be obtained by the caller.
 | 
						|
 | 
						|
## v11.1.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added `auth.NewAuthorizerFromCLI` to create an authorizer configured from the Azure 2.0 CLI.
 | 
						|
- Added `adal.NewOAuthConfigWithAPIVersion` to create an OAuthConfig with the specified API version.
 | 
						|
 | 
						|
## v11.0.1
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added `x5c` header to client assertion for certificate Issuer+Subject Name authentication.
 | 
						|
 | 
						|
## v11.0.0
 | 
						|
 | 
						|
### Breaking Changes
 | 
						|
 | 
						|
- To handle differences between ADFS and AAD the following fields have had their types changed from `string` to `json.Number`
 | 
						|
  - ExpiresIn
 | 
						|
  - ExpiresOn
 | 
						|
  - NotBefore
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added `auth.NewAuthorizerFromFileWithResource` to create an authorizer from the config file with the specified resource.
 | 
						|
- Setting a client's `PollingDuration` to zero will use the provided context to control a LRO's polling duration.
 | 
						|
 | 
						|
## v10.15.5
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- In `DoRetryForStatusCodes`, if a request's context is cancelled return the last response.
 | 
						|
 | 
						|
## v10.15.4
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- If a polling operation returns a failure status code return the associated error.
 | 
						|
 | 
						|
## v10.15.3
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Initialize the polling URL and method for an LRO tracker on each iteration, favoring the Azure-AsyncOperation header.
 | 
						|
 | 
						|
## v10.15.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Use fmt.Fprint when printing request/response so that any escape sequences aren't treated as format specifiers.
 | 
						|
 | 
						|
## v10.15.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- If an LRO API returns a `Failed` provisioning state in the initial response return an error at that point so the caller doesn't have to poll.
 | 
						|
- For failed LROs without an OData v4 error include the response body in the error's `AdditionalInfo` field to aid in diagnosing the failure.
 | 
						|
 | 
						|
## v10.15.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Add initial support for request/response logging via setting environment variables.
 | 
						|
  Setting `AZURE_GO_SDK_LOG_LEVEL` to `LogInfo` will log request/response
 | 
						|
  without their bodies. To include the bodies set the log level to `LogDebug`.
 | 
						|
  By default the logger writes to strerr, however it can also write to stdout or a file
 | 
						|
  if specified in `AZURE_GO_SDK_LOG_FILE`. Note that if the specified file
 | 
						|
  already exists it will be truncated.
 | 
						|
  IMPORTANT: by default the logger will redact the Authorization and Ocp-Apim-Subscription-Key
 | 
						|
  headers. Any other secrets will _not_ be redacted.
 | 
						|
 | 
						|
## v10.14.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added package version that contains version constants and user-agent data.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Add the user-agent to token requests.
 | 
						|
 | 
						|
## v10.13.0
 | 
						|
 | 
						|
- Added support for additionalInfo in ServiceError type.
 | 
						|
 | 
						|
## v10.12.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added field ServicePrincipalToken.MaxMSIRefreshAttempts to configure the maximun number of attempts to refresh an MSI token.
 | 
						|
 | 
						|
## v10.11.4
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- If an LRO returns http.StatusOK on the initial response with no async headers return the response body from Future.GetResult().
 | 
						|
- If there is no "final GET URL" return an error from Future.GetResult().
 | 
						|
 | 
						|
## v10.11.3
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- In IMDS retry logic, if we don't receive a response don't retry.
 | 
						|
  - Renamed the retry function so it's clear it's meant for IMDS only.
 | 
						|
- For error response bodies that aren't OData-v4 compliant stick the raw JSON in the ServiceError.Details field so the information isn't lost.
 | 
						|
  - Also add the raw HTTP response to the DetailedResponse.
 | 
						|
- Removed superfluous wrapping of response error in azure.DoRetryWithRegistration().
 | 
						|
 | 
						|
## v10.11.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Validation for integers handles int and int64 types.
 | 
						|
 | 
						|
## v10.11.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Adding User information to authorization config as parsed from CLI cache.
 | 
						|
 | 
						|
## v10.11.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added NewServicePrincipalTokenFromManualTokenSecret for creating a new SPT using a manual token and secret
 | 
						|
- Added method ServicePrincipalToken.MarshalTokenJSON() to marshall the inner Token
 | 
						|
 | 
						|
## v10.10.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Most ServicePrincipalTokens can now be marshalled/unmarshall to/from JSON (ServicePrincipalCertificateSecret and ServicePrincipalMSISecret are not supported).
 | 
						|
- Added method ServicePrincipalToken.SetRefreshCallbacks().
 | 
						|
 | 
						|
## v10.9.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Refreshing a refresh token obtained from a web app authorization code now works.
 | 
						|
 | 
						|
## v10.9.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- The retry logic for MSI token requests now uses exponential backoff per the guidelines.
 | 
						|
- IsTemporaryNetworkError() will return true for errors that don't implement the net.Error interface.
 | 
						|
 | 
						|
## v10.9.0
 | 
						|
 | 
						|
### Deprecated Methods
 | 
						|
 | 
						|
|                 Old Method |          New Method           |
 | 
						|
| -------------------------: | :---------------------------: |
 | 
						|
|          azure.NewFuture() | azure.NewFutureFromResponse() |
 | 
						|
| Future.WaitForCompletion() | Future.WaitForCompletionRef() |
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added azure.NewFutureFromResponse() for creating a Future from the initial response from an async operation.
 | 
						|
- Added Future.GetResult() for making the final GET call to retrieve the result from an async operation.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Some futures failed to return their results, this should now be fixed.
 | 
						|
 | 
						|
## v10.8.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Add nil-gaurd to token retry logic.
 | 
						|
 | 
						|
## v10.8.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Return a TokenRefreshError if the sender fails on the initial request.
 | 
						|
- Don't retry on non-temporary network errors.
 | 
						|
 | 
						|
## v10.8.0
 | 
						|
 | 
						|
- Added NewAuthorizerFromEnvironmentWithResource() helper function.
 | 
						|
 | 
						|
## v10.7.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added \*WithContext() methods to ADAL token refresh operations.
 | 
						|
 | 
						|
## v10.6.2
 | 
						|
 | 
						|
- Fixed a bug on device authentication.
 | 
						|
 | 
						|
## v10.6.1
 | 
						|
 | 
						|
- Added retries to MSI token get request.
 | 
						|
 | 
						|
## v10.6.0
 | 
						|
 | 
						|
- Changed MSI token implementation. Now, the token endpoint is the IMDS endpoint.
 | 
						|
 | 
						|
## v10.5.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- `DeviceFlowConfig.Authorizer()` now prints the device code message when running `go test`. `-v` flag is required.
 | 
						|
 | 
						|
## v10.5.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added NewPollingRequestWithContext() for use with polling asynchronous operations.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Make retry logic use the request's context instead of the deprecated Cancel object.
 | 
						|
 | 
						|
## v10.4.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added helper for parsing Azure Resource ID's.
 | 
						|
- Added deprecation message to utils.GetEnvVarOrExit()
 | 
						|
 | 
						|
## v10.3.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added EnvironmentFromURL method to load an Environment from a given URL. This function is particularly useful in the private and hybrid Cloud model, where one may define their own endpoints
 | 
						|
- Added TokenAudience endpoint to Environment structure. This is useful in private and hybrid cloud models where TokenAudience endpoint can be different from ResourceManagerEndpoint
 | 
						|
 | 
						|
## v10.2.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added endpoints for batch management.
 | 
						|
 | 
						|
## v10.1.3
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- In Client.Do() invoke WithInspection() last so that it will inspect WithAuthorization().
 | 
						|
- Fixed authorization methods to invoke p.Prepare() first, aligning them with the other preparers.
 | 
						|
 | 
						|
## v10.1.2
 | 
						|
 | 
						|
- Corrected comment for auth.NewAuthorizerFromFile() function.
 | 
						|
 | 
						|
## v10.1.1
 | 
						|
 | 
						|
- Updated version number to match current release.
 | 
						|
 | 
						|
## v10.1.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Expose the polling URL for futures.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Add validation.NewErrorWithValidationError back to prevent breaking changes (it is deprecated).
 | 
						|
 | 
						|
## v10.0.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added target and innererror fields to ServiceError to comply with OData v4 spec.
 | 
						|
- The Done() method on futures will now return a ServiceError object when available (it used to return a partial value of such errors).
 | 
						|
- Added helper methods for obtaining authorizers.
 | 
						|
- Expose the polling URL for futures.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Switched from glide to dep for dependency management.
 | 
						|
- Fixed unmarshaling of ServiceError for JSON bodies that don't conform to the OData spec.
 | 
						|
- Fixed a race condition in token refresh.
 | 
						|
 | 
						|
### Breaking Changes
 | 
						|
 | 
						|
- The ServiceError.Details field type has been changed to match the OData v4 spec.
 | 
						|
- Go v1.7 has been dropped from CI.
 | 
						|
- API parameter validation failures will now return a unique error type validation.Error.
 | 
						|
- The adal.Token type has been decomposed from adal.ServicePrincipalToken (this was necessary in order to fix the token refresh race).
 | 
						|
 | 
						|
## v9.10.0
 | 
						|
 | 
						|
- Fix the Service Bus suffix in Azure public env
 | 
						|
- Add Service Bus Endpoint (AAD ResourceURI) for use in [Azure Service Bus RBAC Preview](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-role-based-access-control)
 | 
						|
 | 
						|
## v9.9.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added EventGridKeyAuthorizer for key authorization with event grid topics.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Fixed race condition when auto-refreshing service principal tokens.
 | 
						|
 | 
						|
## v9.8.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Added http.StatusNoContent (204) to the list of expected status codes for long-running operations.
 | 
						|
- Updated runtime version info so it's current.
 | 
						|
 | 
						|
## v9.8.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added type azure.AsyncOpIncompleteError to be returned from a future's Result() method when the operation has not completed.
 | 
						|
 | 
						|
## v9.7.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Use correct AAD and Graph endpoints for US Gov environment.
 | 
						|
 | 
						|
## v9.7.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added support for application/octet-stream MIME types.
 | 
						|
 | 
						|
## v9.6.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Ensure Authorization header is added to request when polling for registration status.
 | 
						|
 | 
						|
## v9.6.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added support for acquiring tokens via MSI with a user assigned identity.
 | 
						|
 | 
						|
## v9.5.3
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Don't remove encoding of existing URL Query parameters when calling autorest.WithQueryParameters.
 | 
						|
- Set correct Content Type when using autorest.WithFormData.
 | 
						|
 | 
						|
## v9.5.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Check for nil \*http.Response before dereferencing it.
 | 
						|
 | 
						|
## v9.5.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Don't count http.StatusTooManyRequests (429) against the retry cap.
 | 
						|
- Use retry logic when SkipResourceProviderRegistration is set to true.
 | 
						|
 | 
						|
## v9.5.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added support for username + password, API key, authoriazation code and cognitive services authentication.
 | 
						|
- Added field SkipResourceProviderRegistration to clients to provide a way to skip auto-registration of RPs.
 | 
						|
- Added utility function AsStringSlice() to convert its parameters to a string slice.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- When checking for authentication failures look at the error type not the status code as it could vary.
 | 
						|
 | 
						|
## v9.4.2
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Validate parameters when creating credentials.
 | 
						|
- Don't retry requests if the returned status is a 401 (http.StatusUnauthorized) as it will never succeed.
 | 
						|
 | 
						|
## v9.4.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Update the AccessTokensPath() to read access tokens path through AZURE_ACCESS_TOKEN_FILE. If this
 | 
						|
  environment variable is not set, it will fall back to use default path set by Azure CLI.
 | 
						|
- Use case-insensitive string comparison for polling states.
 | 
						|
 | 
						|
## v9.4.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added WaitForCompletion() to Future as a default polling implementation.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Method Future.Done() shouldn't update polling status for unexpected HTTP status codes.
 | 
						|
 | 
						|
## v9.3.1
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- DoRetryForStatusCodes will retry if sender.Do returns a non-nil error.
 | 
						|
 | 
						|
## v9.3.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added PollingMethod() to Future so callers know what kind of polling mechanism is used.
 | 
						|
- Added azure.ChangeToGet() which transforms an http.Request into a GET (to be used with LROs).
 | 
						|
 | 
						|
## v9.2.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Added support for custom Azure Stack endpoints.
 | 
						|
- Added type azure.Future used to track the status of long-running operations.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Preserve the original error in DoRetryWithRegistration when registration fails.
 | 
						|
 | 
						|
## v9.1.1
 | 
						|
 | 
						|
- Fixes a bug regarding the cookie jar on `autorest.Client.Sender`.
 | 
						|
 | 
						|
## v9.1.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- In cases where there is a non-empty error from the service, attempt to unmarshal it instead of uniformly calling it an "Unknown" error.
 | 
						|
- Support for loading Azure CLI Authentication files.
 | 
						|
- Automatically register your subscription with the Azure Resource Provider if it hadn't been previously.
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- RetriableRequest can now tolerate a ReadSeekable body being read but not reset.
 | 
						|
- Adding missing Apache Headers
 | 
						|
 | 
						|
## v9.0.0
 | 
						|
 | 
						|
> **IMPORTANT:** This release was intially labeled incorrectly as `v8.4.0`. From the time it was released, it should have been marked `v9.0.0` because it contains breaking changes to the MSI packages. We appologize for any inconvenience this causes.
 | 
						|
 | 
						|
Adding MSI Endpoint Support and CLI token rehydration.
 | 
						|
 | 
						|
## v8.3.1
 | 
						|
 | 
						|
Pick up bug fix in adal for MSI support.
 | 
						|
 | 
						|
## v8.3.0
 | 
						|
 | 
						|
Updates to Error string formats for clarity. Also, adding a copy of the http.Response to errors for an improved debugging experience.
 | 
						|
 | 
						|
## v8.2.0
 | 
						|
 | 
						|
### New Features
 | 
						|
 | 
						|
- Add support for bearer authentication callbacks
 | 
						|
- Support 429 response codes that include "Retry-After" header
 | 
						|
- Support validation constraint "Pattern" for map keys
 | 
						|
 | 
						|
### Bug Fixes
 | 
						|
 | 
						|
- Make RetriableRequest work with multiple versions of Go
 | 
						|
 | 
						|
## v8.1.1
 | 
						|
 | 
						|
Updates the RetriableRequest to take advantage of GetBody() added in Go 1.8.
 | 
						|
 | 
						|
## v8.1.0
 | 
						|
 | 
						|
Adds RetriableRequest type for more efficient handling of retrying HTTP requests.
 | 
						|
 | 
						|
## v8.0.0
 | 
						|
 | 
						|
ADAL refactored into its own package.
 | 
						|
Support for UNIX time.
 | 
						|
 | 
						|
## v7.3.1
 | 
						|
 | 
						|
- Version Testing now removed from production bits that are shipped with the library.
 | 
						|
 | 
						|
## v7.3.0
 | 
						|
 | 
						|
- Exposing new `RespondDecorator`, `ByDiscardingBody`. This allows operations
 | 
						|
  to acknowledge that they do not need either the entire or a trailing portion
 | 
						|
  of accepts response body. In doing so, Go's http library can reuse HTTP
 | 
						|
  connections more readily.
 | 
						|
- Adding `PrepareDecorator` to target custom BaseURLs.
 | 
						|
- Adding ACR suffix to public cloud environment.
 | 
						|
- Updating Glide dependencies.
 | 
						|
 | 
						|
## v7.2.5
 | 
						|
 | 
						|
- Fixed the Active Directory endpoint for the China cloud.
 | 
						|
- Removes UTF-8 BOM if present in response payload.
 | 
						|
- Added telemetry.
 | 
						|
 | 
						|
## v7.2.3
 | 
						|
 | 
						|
- Fixing bug in calls to `DelayForBackoff` that caused doubling of delay
 | 
						|
  duration.
 | 
						|
 | 
						|
## v7.2.2
 | 
						|
 | 
						|
- autorest/azure: added ASM and ARM VM DNS suffixes.
 | 
						|
 | 
						|
## v7.2.1
 | 
						|
 | 
						|
- fixed parsing of UTC times that are not RFC3339 conformant.
 | 
						|
 | 
						|
## v7.2.0
 | 
						|
 | 
						|
- autorest/validation: Reformat validation error for better error message.
 | 
						|
 | 
						|
## v7.1.0
 | 
						|
 | 
						|
- preparer: Added support for multipart formdata - WithMultiPartFormdata()
 | 
						|
- preparer: Added support for sending file in request body - WithFile
 | 
						|
- client: Added RetryDuration parameter.
 | 
						|
- autorest/validation: new package for validation code for Azure Go SDK.
 | 
						|
 | 
						|
## v7.0.7
 | 
						|
 | 
						|
- Add trailing / to endpoint
 | 
						|
- azure: add EnvironmentFromName
 | 
						|
 | 
						|
## v7.0.6
 | 
						|
 | 
						|
- Add retry logic for 408, 500, 502, 503 and 504 status codes.
 | 
						|
- Change url path and query encoding logic.
 | 
						|
- Fix DelayForBackoff for proper exponential delay.
 | 
						|
- Add CookieJar in Client.
 | 
						|
 | 
						|
## v7.0.5
 | 
						|
 | 
						|
- Add check to start polling only when status is in [200,201,202].
 | 
						|
- Refactoring for unchecked errors.
 | 
						|
- azure/persist changes.
 | 
						|
- Fix 'file in use' issue in renewing token in deviceflow.
 | 
						|
- Store header RetryAfter for subsequent requests in polling.
 | 
						|
- Add attribute details in service error.
 | 
						|
 | 
						|
## v7.0.4
 | 
						|
 | 
						|
- Better error messages for long running operation failures
 | 
						|
 | 
						|
## v7.0.3
 | 
						|
 | 
						|
- Corrected DoPollForAsynchronous to properly handle the initial response
 | 
						|
 | 
						|
## v7.0.2
 | 
						|
 | 
						|
- Corrected DoPollForAsynchronous to continue using the polling method first discovered
 | 
						|
 | 
						|
## v7.0.1
 | 
						|
 | 
						|
- Fixed empty JSON input error in ByUnmarshallingJSON
 | 
						|
- Fixed polling support for GET calls
 | 
						|
- Changed format name from TimeRfc1123 to TimeRFC1123
 | 
						|
 | 
						|
## v7.0.0
 | 
						|
 | 
						|
- Added ByCopying responder with supporting TeeReadCloser
 | 
						|
- Rewrote Azure asynchronous handling
 | 
						|
- Reverted to only unmarshalling JSON
 | 
						|
- Corrected handling of RFC3339 time strings and added support for Rfc1123 time format
 | 
						|
 | 
						|
The `json.Decoder` does not catch bad data as thoroughly as `json.Unmarshal`. Since
 | 
						|
`encoding/json` successfully deserializes all core types, and extended types normally provide
 | 
						|
their custom JSON serialization handlers, the code has been reverted back to using
 | 
						|
`json.Unmarshal`. The original change to use `json.Decode` was made to reduce duplicate
 | 
						|
code; there is no loss of function, and there is a gain in accuracy, by reverting.
 | 
						|
 | 
						|
Additionally, Azure services indicate requests to be polled by multiple means. The existing code
 | 
						|
only checked for one of those (that is, the presence of the `Azure-AsyncOperation` header).
 | 
						|
The new code correctly covers all cases and aligns with the other Azure SDKs.
 | 
						|
 | 
						|
## v6.1.0
 | 
						|
 | 
						|
- Introduced `date.ByUnmarshallingJSONDate` and `date.ByUnmarshallingJSONTime` to enable JSON encoded values.
 | 
						|
 | 
						|
## v6.0.0
 | 
						|
 | 
						|
- Completely reworked the handling of polled and asynchronous requests
 | 
						|
- Removed unnecessary routines
 | 
						|
- Reworked `mocks.Sender` to replay a series of `http.Response` objects
 | 
						|
- Added `PrepareDecorators` for primitive types (e.g., bool, int32)
 | 
						|
 | 
						|
Handling polled and asynchronous requests is no longer part of `Client#Send`. Instead new
 | 
						|
`SendDecorators` implement different styles of polled behavior. See`autorest.DoPollForStatusCodes`
 | 
						|
and `azure.DoPollForAsynchronous` for examples.
 | 
						|
 | 
						|
## v5.0.0
 | 
						|
 | 
						|
- Added new RespondDecorators unmarshalling primitive types
 | 
						|
- Corrected application of inspection and authorization PrependDecorators
 | 
						|
 | 
						|
## v4.0.0
 | 
						|
 | 
						|
- Added support for Azure long-running operations.
 | 
						|
- Added cancelation support to all decorators and functions that may delay.
 | 
						|
- Breaking: `DelayForBackoff` now accepts a channel, which may be nil.
 | 
						|
 | 
						|
## v3.1.0
 | 
						|
 | 
						|
- Add support for OAuth Device Flow authorization.
 | 
						|
- Add support for ServicePrincipalTokens that are backed by an existing token, rather than other secret material.
 | 
						|
- Add helpers for persisting and restoring Tokens.
 | 
						|
- Increased code coverage in the github.com/Azure/autorest/azure package
 | 
						|
 | 
						|
## v3.0.0
 | 
						|
 | 
						|
- Breaking: `NewErrorWithError` no longer takes `statusCode int`.
 | 
						|
- Breaking: `NewErrorWithStatusCode` is replaced with `NewErrorWithResponse`.
 | 
						|
- Breaking: `Client#Send()` no longer takes `codes ...int` argument.
 | 
						|
- Add: XML unmarshaling support with `ByUnmarshallingXML()`
 | 
						|
- Stopped vending dependencies locally and switched to [Glide](https://github.com/Masterminds/glide).
 | 
						|
  Applications using this library should either use Glide or vendor dependencies locally some other way.
 | 
						|
- Add: `azure.WithErrorUnlessStatusCode()` decorator to handle Azure errors.
 | 
						|
- Fix: use `net/http.DefaultClient` as base client.
 | 
						|
- Fix: Missing inspection for polling responses added.
 | 
						|
- Add: CopyAndDecode helpers.
 | 
						|
- Improved `./autorest/to` with `[]string` helpers.
 | 
						|
- Removed golint suppressions in .travis.yml.
 | 
						|
 | 
						|
## v2.1.0
 | 
						|
 | 
						|
- Added `StatusCode` to `Error` for more easily obtaining the HTTP Reponse StatusCode (if any)
 | 
						|
 | 
						|
## v2.0.0
 | 
						|
 | 
						|
- Changed `to.StringMapPtr` method signature to return a pointer
 | 
						|
- Changed `ServicePrincipalCertificateSecret` and `NewServicePrincipalTokenFromCertificate` to support generic certificate and private keys
 | 
						|
 | 
						|
## v1.0.0
 | 
						|
 | 
						|
- Added Logging inspectors to trace http.Request / Response
 | 
						|
- Added support for User-Agent header
 | 
						|
- Changed WithHeader PrepareDecorator to use set vs. add
 | 
						|
- Added JSON to error when unmarshalling fails
 | 
						|
- Added Client#Send method
 | 
						|
- Corrected case of "Azure" in package paths
 | 
						|
- Added "to" helpers, Azure helpers, and improved ease-of-use
 | 
						|
- Corrected golint issues
 | 
						|
 | 
						|
## v1.0.1
 | 
						|
 | 
						|
- Added CHANGELOG.md
 | 
						|
 | 
						|
## v1.1.0
 | 
						|
 | 
						|
- Added mechanism to retrieve a ServicePrincipalToken using a certificate-signed JWT
 | 
						|
- Added an example of creating a certificate-based ServicePrincipal and retrieving an OAuth token using the certificate
 | 
						|
 | 
						|
## v1.1.1
 | 
						|
 | 
						|
- Introduce godeps and vendor dependencies introduced in v1.1.1
 |