...
1# CHANGELOG
2
3## v14.2.0
4
5- Added package comment to make `github.com/Azure/go-autorest` importable.
6
7## v14.1.1
8
9### Bug Fixes
10
11- Change `x-ms-authorization-auxiliary` header value separator to comma.
12
13## v14.1.0
14
15### New Features
16
17- Added `azure.SetEnvironment()` that will update the global environments map with the specified values.
18
19## v14.0.1
20
21### Bug Fixes
22
23- Fix race condition when refreshing token.
24- Fixed some tests to work with Go 1.14.
25
26## v14.0.0
27
28## Breaking Changes
29
30- 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`.
31
32## New Features
33
34- 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.
35
36## v13.4.0
37
38## New Features
39
40- Added field `SendDecorators` to the `Client` type. This can be used to specify a custom chain of SendDecorators per client.
41- Added method `Client.Send()` which includes logic for selecting the preferred chain of SendDecorators.
42
43## v13.3.3
44
45### Bug Fixes
46
47- Fixed connection leak when retrying requests.
48- Enabled exponential back-off with a 2-minute cap when retrying on 429.
49- Fixed some cases where errors were inadvertently dropped.
50
51## v13.3.2
52
53### Bug Fixes
54
55- Updated `autorest.AsStringSlice()` to convert slice elements to their string representation.
56
57## v13.3.1
58
59- Updated external dependencies.
60
61### Bug Fixes
62
63## v13.3.0
64
65### New Features
66
67- Added support for shared key and shared access signature token authorization.
68 - `autorest.NewSharedKeyAuthorizer()` and dependent types.
69 - `autorest.NewSASTokenAuthorizer()` and dependent types.
70- Added `ServicePrincipalToken.SetCustomRefresh()` so a custom refresh function can be invoked when a token has expired.
71
72### Bug Fixes
73
74- Fixed `cli.AccessTokensPath()` to respect `AZURE_CONFIG_DIR` when set.
75- Support parsing error messages in XML responses.
76
77## v13.2.0
78
79### New Features
80
81- Added the following functions to replace their versions that don't take a context.
82 - `adal.InitiateDeviceAuthWithContext()`
83 - `adal.CheckForUserCompletionWithContext()`
84 - `adal.WaitForUserCompletionWithContext()`
85
86## v13.1.0
87
88### New Features
89
90- Added support for MSI authentication on Azure App Service and Azure Functions.
91
92## v13.0.2
93
94### Bug Fixes
95
96- Always retry a request even if the sender returns a non-nil error.
97
98## v13.0.1
99
100## Bug Fixes
101
102- Fixed `autorest.WithQueryParameters()` so that it properly encodes multi-value query parameters.
103
104## v13.0.0
105
106## Breaking Changes
107
108The `tracing` package has been rewritten to provide a common interface for consumers to wire in the tracing package of their choice.
109What this means is that by default no tracing provider will be compiled into your program and setting the `AZURE_SDK_TRACING_ENABLED`
110environment variable will have no effect. To enable this previous behavior you must now add the following import to your source file.
111```go
112 import _ "github.com/Azure/go-autorest/tracing/opencensus"
113```
114The APIs required by autorest-generated code have remained but some APIs have been removed and new ones added.
115The following APIs and variables have been removed (the majority of them were moved to the `opencensus` package).
116- tracing.Transport
117- tracing.Enable()
118- tracing.EnableWithAIForwarding()
119- tracing.Disable()
120
121The following APIs and types have been added
122- tracing.Tracer
123- tracing.Register()
124
125To hook up a tracer simply call `tracing.Register()` passing in a type that satisfies the `tracing.Tracer` interface.
126
127## v12.4.3
128
129### Bug Fixes
130
131- `autorest.MultiTenantServicePrincipalTokenAuthorizer` will now properly add its auxiliary bearer tokens.
132
133## v12.4.2
134
135### Bug Fixes
136
137- Improvements to the fixes made in v12.4.1.
138 - Remove `override` stanza from Gopkg.toml and `replace` directive from go.mod as they don't apply when being consumed as a dependency.
139 - Switched to latest version of `ocagent` that still depends on protobuf v1.2.
140 - Add indirect dependencies to the `required` clause with matching `constraint` stanzas so that `dep` dependencies match go.sum.
141
142## v12.4.1
143
144### Bug Fixes
145
146- Updated OpenCensus and OCAgent versions to versions that don't depend on v1.3+ of protobuf as it was breaking kubernetes.
147- Pinned opencensus-proto to a version that's compatible with our versions of OpenCensus and OCAgent.
148
149## v12.4.0
150
151### New Features
152
153- Added `autorest.WithPrepareDecorators` and `autorest.GetPrepareDecorators` for adding and retrieving a custom chain of PrepareDecorators to the provided context.
154
155## v12.3.0
156
157### New Features
158
159- Support for multi-tenant via x-ms-authorization-auxiliary header has been added for client credentials with
160 secret scenario; this basically bundles multiple OAuthConfig and ServicePrincipalToken types into corresponding
161 MultiTenant* types along with a new authorizer that adds the primary and auxiliary token headers to the reqest.
162 The authenticaion helpers have been updated to support this scenario; if environment var AZURE_AUXILIARY_TENANT_IDS
163 is set with a semicolon delimited list of tenants the multi-tenant codepath will kick in to create the appropriate authorizer.
164 See `adal.NewMultiTenantOAuthConfig`, `adal.NewMultiTenantServicePrincipalToken` and `autorest.NewMultiTenantServicePrincipalTokenAuthorizer`
165 along with their supporting types and methods.
166- Added `autorest.WithSendDecorators` and `autorest.GetSendDecorators` for adding and retrieving a custom chain of SendDecorators to the provided context.
167- Added `autorest.DoRetryForStatusCodesWithCap` and `autorest.DelayForBackoffWithCap` to enforce an upper bound on the duration between retries.
168
169## v12.2.0
170
171### New Features
172
173- Added `autorest.WithXML`, `autorest.AsMerge`, `autorest.WithBytes` preparer decorators.
174- Added `autorest.ByUnmarshallingBytes` response decorator.
175- Added `Response.IsHTTPStatus` and `Response.HasHTTPStatus` helper methods for inspecting HTTP status code in `autorest.Response` types.
176
177### Bug Fixes
178
179- `autorest.DelayWithRetryAfter` now supports HTTP-Dates in the `Retry-After` header and is not limited to just 429 status codes.
180
181## v12.1.0
182
183### New Features
184
185- Added `to.ByteSlicePtr()`.
186- Added blob/queue storage resource ID to `azure.ResourceIdentifier`.
187
188## v12.0.0
189
190### Breaking Changes
191
192In preparation for modules the following deprecated content has been removed.
193
194 - async.NewFuture()
195 - async.Future.Done()
196 - async.Future.WaitForCompletion()
197 - async.DoPollForAsynchronous()
198 - The `utils` package
199 - validation.NewErrorWithValidationError()
200 - The `version` package
201
202## v11.9.0
203
204### New Features
205
206- Add `ResourceIdentifiers` field to `azure.Environment` containing resource IDs for public and sovereign clouds.
207
208## v11.8.0
209
210### New Features
211
212- Added `autorest.NewClientWithOptions()` to support endpoints that require free renegotiation.
213
214## v11.7.1
215
216### Bug Fixes
217
218- Fix missing support for http(s) proxy when using the default sender.
219
220## v11.7.0
221
222### New Features
223
224- Added methods to obtain a ServicePrincipalToken on the various credential configuration types in the `auth` package.
225
226## v11.6.1
227
228### Bug Fixes
229
230- Fix ACR DNS endpoint for government clouds.
231- Add Cosmos DB DNS endpoints.
232- Update dependencies to resolve build breaks in OpenCensus.
233
234## v11.6.0
235
236### New Features
237
238- Added type `autorest.BasicAuthorizer` to support Basic authentication.
239
240## v11.5.2
241
242### Bug Fixes
243
244- Fixed `GetTokenFromCLI` did not work with zsh.
245
246## v11.5.1
247
248### Bug Fixes
249
250- In `Client.sender()` set the minimum TLS version on HTTP clients to 1.2.
251
252## v11.5.0
253
254### New Features
255
256- The `auth` package has been refactored so that the environment and file settings are now available.
257- The methods used in `auth.NewAuthorizerFromEnvironment()` are now exported so that custom authorization chains can be created.
258- Added support for certificate authorization for file-based config.
259
260## v11.4.0
261
262### New Features
263
264- Added `adal.AddToUserAgent()` so callers can append custom data to the user-agent header used for ADAL requests.
265- Exported `adal.UserAgent()` for parity with `autorest.Client`.
266
267## v11.3.2
268
269### Bug Fixes
270
271- In `Future.WaitForCompletionRef()` if the provided context has a deadline don't add the default deadline.
272
273## v11.3.1
274
275### Bug Fixes
276
277- For an LRO PUT operation the final GET URL was incorrectly set to the Location polling header in some cases.
278
279## v11.3.0
280
281### New Features
282
283- Added method `ServicePrincipalToken()` to `DeviceFlowConfig` type.
284
285## v11.2.8
286
287### Bug Fixes
288
289- Deprecate content in the `version` package. The functionality has been superseded by content in the `autorest` package.
290
291## v11.2.7
292
293### Bug Fixes
294
295- Fix environment variable name for enabling tracing from `AZURE_SDK_TRACING_ENABELD` to `AZURE_SDK_TRACING_ENABLED`.
296 Note that for backward compatibility reasons, both will work until the next major version release of the package.
297
298## v11.2.6
299
300### Bug Fixes
301
302- If zero bytes are read from a polling response body don't attempt to unmarshal them.
303
304## v11.2.5
305
306### Bug Fixes
307
308- Removed race condition in `autorest.DoRetryForStatusCodes`.
309
310## v11.2.4
311
312### Bug Fixes
313
314- Function `cli.ProfilePath` now respects environment `AZURE_CONFIG_DIR` if available.
315
316## v11.2.1
317
318NOTE: Versions of Go prior to 1.10 have been removed from CI as they no
319longer work with golint.
320
321### Bug Fixes
322
323- Method `MSIConfig.Authorizer` now supports user-assigned identities.
324- The adal package now reports its own user-agent string.
325
326## v11.2.0
327
328### New Features
329
330- Added `tracing` package that enables instrumentation of HTTP and API calls.
331 Setting the env variable `AZURE_SDK_TRACING_ENABLED` or calling `tracing.Enable`
332 will start instrumenting the code for metrics and traces.
333 Additionally, setting the env variable `OCAGENT_TRACE_EXPORTER_ENDPOINT` or
334 calling `tracing.EnableWithAIForwarding` will start the instrumentation and connect to an
335 App Insights Local Forwarder that is needs to be running. Note that if the
336 AI Local Forwarder is not running tracking will still be enabled.
337 By default, instrumentation is disabled. Once enabled, instrumentation can also
338 be programatically disabled by calling `Disable`.
339- Added `DoneWithContext` call for checking LRO status. `Done` has been deprecated.
340
341### Bug Fixes
342
343- Don't use the initial request's context for LRO polling.
344- Don't override the `refreshLock` and the `http.Client` when unmarshalling `ServicePrincipalToken` if
345 it is already set.
346
347## v11.1.1
348
349### Bug Fixes
350
351- 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.
352
353## v11.1.0
354
355### New Features
356
357- Added `auth.NewAuthorizerFromCLI` to create an authorizer configured from the Azure 2.0 CLI.
358- Added `adal.NewOAuthConfigWithAPIVersion` to create an OAuthConfig with the specified API version.
359
360## v11.0.1
361
362### New Features
363
364- Added `x5c` header to client assertion for certificate Issuer+Subject Name authentication.
365
366## v11.0.0
367
368### Breaking Changes
369
370- To handle differences between ADFS and AAD the following fields have had their types changed from `string` to `json.Number`
371 - ExpiresIn
372 - ExpiresOn
373 - NotBefore
374
375### New Features
376
377- Added `auth.NewAuthorizerFromFileWithResource` to create an authorizer from the config file with the specified resource.
378- Setting a client's `PollingDuration` to zero will use the provided context to control a LRO's polling duration.
379
380## v10.15.5
381
382### Bug Fixes
383
384- In `DoRetryForStatusCodes`, if a request's context is cancelled return the last response.
385
386## v10.15.4
387
388### Bug Fixes
389
390- If a polling operation returns a failure status code return the associated error.
391
392## v10.15.3
393
394### Bug Fixes
395
396- Initialize the polling URL and method for an LRO tracker on each iteration, favoring the Azure-AsyncOperation header.
397
398## v10.15.2
399
400### Bug Fixes
401
402- Use fmt.Fprint when printing request/response so that any escape sequences aren't treated as format specifiers.
403
404## v10.15.1
405
406### Bug Fixes
407
408- 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.
409- For failed LROs without an OData v4 error include the response body in the error's `AdditionalInfo` field to aid in diagnosing the failure.
410
411## v10.15.0
412
413### New Features
414
415- Add initial support for request/response logging via setting environment variables.
416 Setting `AZURE_GO_SDK_LOG_LEVEL` to `LogInfo` will log request/response
417 without their bodies. To include the bodies set the log level to `LogDebug`.
418 By default the logger writes to strerr, however it can also write to stdout or a file
419 if specified in `AZURE_GO_SDK_LOG_FILE`. Note that if the specified file
420 already exists it will be truncated.
421 IMPORTANT: by default the logger will redact the Authorization and Ocp-Apim-Subscription-Key
422 headers. Any other secrets will _not_ be redacted.
423
424## v10.14.0
425
426### New Features
427
428- Added package version that contains version constants and user-agent data.
429
430### Bug Fixes
431
432- Add the user-agent to token requests.
433
434## v10.13.0
435
436- Added support for additionalInfo in ServiceError type.
437
438## v10.12.0
439
440### New Features
441
442- Added field ServicePrincipalToken.MaxMSIRefreshAttempts to configure the maximun number of attempts to refresh an MSI token.
443
444## v10.11.4
445
446### Bug Fixes
447
448- If an LRO returns http.StatusOK on the initial response with no async headers return the response body from Future.GetResult().
449- If there is no "final GET URL" return an error from Future.GetResult().
450
451## v10.11.3
452
453### Bug Fixes
454
455- In IMDS retry logic, if we don't receive a response don't retry.
456 - Renamed the retry function so it's clear it's meant for IMDS only.
457- 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.
458 - Also add the raw HTTP response to the DetailedResponse.
459- Removed superfluous wrapping of response error in azure.DoRetryWithRegistration().
460
461## v10.11.2
462
463### Bug Fixes
464
465- Validation for integers handles int and int64 types.
466
467## v10.11.1
468
469### Bug Fixes
470
471- Adding User information to authorization config as parsed from CLI cache.
472
473## v10.11.0
474
475### New Features
476
477- Added NewServicePrincipalTokenFromManualTokenSecret for creating a new SPT using a manual token and secret
478- Added method ServicePrincipalToken.MarshalTokenJSON() to marshall the inner Token
479
480## v10.10.0
481
482### New Features
483
484- Most ServicePrincipalTokens can now be marshalled/unmarshall to/from JSON (ServicePrincipalCertificateSecret and ServicePrincipalMSISecret are not supported).
485- Added method ServicePrincipalToken.SetRefreshCallbacks().
486
487## v10.9.2
488
489### Bug Fixes
490
491- Refreshing a refresh token obtained from a web app authorization code now works.
492
493## v10.9.1
494
495### Bug Fixes
496
497- The retry logic for MSI token requests now uses exponential backoff per the guidelines.
498- IsTemporaryNetworkError() will return true for errors that don't implement the net.Error interface.
499
500## v10.9.0
501
502### Deprecated Methods
503
504| Old Method | New Method |
505| -------------------------: | :---------------------------: |
506| azure.NewFuture() | azure.NewFutureFromResponse() |
507| Future.WaitForCompletion() | Future.WaitForCompletionRef() |
508
509### New Features
510
511- Added azure.NewFutureFromResponse() for creating a Future from the initial response from an async operation.
512- Added Future.GetResult() for making the final GET call to retrieve the result from an async operation.
513
514### Bug Fixes
515
516- Some futures failed to return their results, this should now be fixed.
517
518## v10.8.2
519
520### Bug Fixes
521
522- Add nil-gaurd to token retry logic.
523
524## v10.8.1
525
526### Bug Fixes
527
528- Return a TokenRefreshError if the sender fails on the initial request.
529- Don't retry on non-temporary network errors.
530
531## v10.8.0
532
533- Added NewAuthorizerFromEnvironmentWithResource() helper function.
534
535## v10.7.0
536
537### New Features
538
539- Added \*WithContext() methods to ADAL token refresh operations.
540
541## v10.6.2
542
543- Fixed a bug on device authentication.
544
545## v10.6.1
546
547- Added retries to MSI token get request.
548
549## v10.6.0
550
551- Changed MSI token implementation. Now, the token endpoint is the IMDS endpoint.
552
553## v10.5.1
554
555### Bug Fixes
556
557- `DeviceFlowConfig.Authorizer()` now prints the device code message when running `go test`. `-v` flag is required.
558
559## v10.5.0
560
561### New Features
562
563- Added NewPollingRequestWithContext() for use with polling asynchronous operations.
564
565### Bug Fixes
566
567- Make retry logic use the request's context instead of the deprecated Cancel object.
568
569## v10.4.0
570
571### New Features
572
573- Added helper for parsing Azure Resource ID's.
574- Added deprecation message to utils.GetEnvVarOrExit()
575
576## v10.3.0
577
578### New Features
579
580- 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
581- Added TokenAudience endpoint to Environment structure. This is useful in private and hybrid cloud models where TokenAudience endpoint can be different from ResourceManagerEndpoint
582
583## v10.2.0
584
585### New Features
586
587- Added endpoints for batch management.
588
589## v10.1.3
590
591### Bug Fixes
592
593- In Client.Do() invoke WithInspection() last so that it will inspect WithAuthorization().
594- Fixed authorization methods to invoke p.Prepare() first, aligning them with the other preparers.
595
596## v10.1.2
597
598- Corrected comment for auth.NewAuthorizerFromFile() function.
599
600## v10.1.1
601
602- Updated version number to match current release.
603
604## v10.1.0
605
606### New Features
607
608- Expose the polling URL for futures.
609
610### Bug Fixes
611
612- Add validation.NewErrorWithValidationError back to prevent breaking changes (it is deprecated).
613
614## v10.0.0
615
616### New Features
617
618- Added target and innererror fields to ServiceError to comply with OData v4 spec.
619- The Done() method on futures will now return a ServiceError object when available (it used to return a partial value of such errors).
620- Added helper methods for obtaining authorizers.
621- Expose the polling URL for futures.
622
623### Bug Fixes
624
625- Switched from glide to dep for dependency management.
626- Fixed unmarshaling of ServiceError for JSON bodies that don't conform to the OData spec.
627- Fixed a race condition in token refresh.
628
629### Breaking Changes
630
631- The ServiceError.Details field type has been changed to match the OData v4 spec.
632- Go v1.7 has been dropped from CI.
633- API parameter validation failures will now return a unique error type validation.Error.
634- The adal.Token type has been decomposed from adal.ServicePrincipalToken (this was necessary in order to fix the token refresh race).
635
636## v9.10.0
637
638- Fix the Service Bus suffix in Azure public env
639- 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)
640
641## v9.9.0
642
643### New Features
644
645- Added EventGridKeyAuthorizer for key authorization with event grid topics.
646
647### Bug Fixes
648
649- Fixed race condition when auto-refreshing service principal tokens.
650
651## v9.8.1
652
653### Bug Fixes
654
655- Added http.StatusNoContent (204) to the list of expected status codes for long-running operations.
656- Updated runtime version info so it's current.
657
658## v9.8.0
659
660### New Features
661
662- Added type azure.AsyncOpIncompleteError to be returned from a future's Result() method when the operation has not completed.
663
664## v9.7.1
665
666### Bug Fixes
667
668- Use correct AAD and Graph endpoints for US Gov environment.
669
670## v9.7.0
671
672### New Features
673
674- Added support for application/octet-stream MIME types.
675
676## v9.6.1
677
678### Bug Fixes
679
680- Ensure Authorization header is added to request when polling for registration status.
681
682## v9.6.0
683
684### New Features
685
686- Added support for acquiring tokens via MSI with a user assigned identity.
687
688## v9.5.3
689
690### Bug Fixes
691
692- Don't remove encoding of existing URL Query parameters when calling autorest.WithQueryParameters.
693- Set correct Content Type when using autorest.WithFormData.
694
695## v9.5.2
696
697### Bug Fixes
698
699- Check for nil \*http.Response before dereferencing it.
700
701## v9.5.1
702
703### Bug Fixes
704
705- Don't count http.StatusTooManyRequests (429) against the retry cap.
706- Use retry logic when SkipResourceProviderRegistration is set to true.
707
708## v9.5.0
709
710### New Features
711
712- Added support for username + password, API key, authoriazation code and cognitive services authentication.
713- Added field SkipResourceProviderRegistration to clients to provide a way to skip auto-registration of RPs.
714- Added utility function AsStringSlice() to convert its parameters to a string slice.
715
716### Bug Fixes
717
718- When checking for authentication failures look at the error type not the status code as it could vary.
719
720## v9.4.2
721
722### Bug Fixes
723
724- Validate parameters when creating credentials.
725- Don't retry requests if the returned status is a 401 (http.StatusUnauthorized) as it will never succeed.
726
727## v9.4.1
728
729### Bug Fixes
730
731- Update the AccessTokensPath() to read access tokens path through AZURE_ACCESS_TOKEN_FILE. If this
732 environment variable is not set, it will fall back to use default path set by Azure CLI.
733- Use case-insensitive string comparison for polling states.
734
735## v9.4.0
736
737### New Features
738
739- Added WaitForCompletion() to Future as a default polling implementation.
740
741### Bug Fixes
742
743- Method Future.Done() shouldn't update polling status for unexpected HTTP status codes.
744
745## v9.3.1
746
747### Bug Fixes
748
749- DoRetryForStatusCodes will retry if sender.Do returns a non-nil error.
750
751## v9.3.0
752
753### New Features
754
755- Added PollingMethod() to Future so callers know what kind of polling mechanism is used.
756- Added azure.ChangeToGet() which transforms an http.Request into a GET (to be used with LROs).
757
758## v9.2.0
759
760### New Features
761
762- Added support for custom Azure Stack endpoints.
763- Added type azure.Future used to track the status of long-running operations.
764
765### Bug Fixes
766
767- Preserve the original error in DoRetryWithRegistration when registration fails.
768
769## v9.1.1
770
771- Fixes a bug regarding the cookie jar on `autorest.Client.Sender`.
772
773## v9.1.0
774
775### New Features
776
777- In cases where there is a non-empty error from the service, attempt to unmarshal it instead of uniformly calling it an "Unknown" error.
778- Support for loading Azure CLI Authentication files.
779- Automatically register your subscription with the Azure Resource Provider if it hadn't been previously.
780
781### Bug Fixes
782
783- RetriableRequest can now tolerate a ReadSeekable body being read but not reset.
784- Adding missing Apache Headers
785
786## v9.0.0
787
788> **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.
789
790Adding MSI Endpoint Support and CLI token rehydration.
791
792## v8.3.1
793
794Pick up bug fix in adal for MSI support.
795
796## v8.3.0
797
798Updates to Error string formats for clarity. Also, adding a copy of the http.Response to errors for an improved debugging experience.
799
800## v8.2.0
801
802### New Features
803
804- Add support for bearer authentication callbacks
805- Support 429 response codes that include "Retry-After" header
806- Support validation constraint "Pattern" for map keys
807
808### Bug Fixes
809
810- Make RetriableRequest work with multiple versions of Go
811
812## v8.1.1
813
814Updates the RetriableRequest to take advantage of GetBody() added in Go 1.8.
815
816## v8.1.0
817
818Adds RetriableRequest type for more efficient handling of retrying HTTP requests.
819
820## v8.0.0
821
822ADAL refactored into its own package.
823Support for UNIX time.
824
825## v7.3.1
826
827- Version Testing now removed from production bits that are shipped with the library.
828
829## v7.3.0
830
831- Exposing new `RespondDecorator`, `ByDiscardingBody`. This allows operations
832 to acknowledge that they do not need either the entire or a trailing portion
833 of accepts response body. In doing so, Go's http library can reuse HTTP
834 connections more readily.
835- Adding `PrepareDecorator` to target custom BaseURLs.
836- Adding ACR suffix to public cloud environment.
837- Updating Glide dependencies.
838
839## v7.2.5
840
841- Fixed the Active Directory endpoint for the China cloud.
842- Removes UTF-8 BOM if present in response payload.
843- Added telemetry.
844
845## v7.2.3
846
847- Fixing bug in calls to `DelayForBackoff` that caused doubling of delay
848 duration.
849
850## v7.2.2
851
852- autorest/azure: added ASM and ARM VM DNS suffixes.
853
854## v7.2.1
855
856- fixed parsing of UTC times that are not RFC3339 conformant.
857
858## v7.2.0
859
860- autorest/validation: Reformat validation error for better error message.
861
862## v7.1.0
863
864- preparer: Added support for multipart formdata - WithMultiPartFormdata()
865- preparer: Added support for sending file in request body - WithFile
866- client: Added RetryDuration parameter.
867- autorest/validation: new package for validation code for Azure Go SDK.
868
869## v7.0.7
870
871- Add trailing / to endpoint
872- azure: add EnvironmentFromName
873
874## v7.0.6
875
876- Add retry logic for 408, 500, 502, 503 and 504 status codes.
877- Change url path and query encoding logic.
878- Fix DelayForBackoff for proper exponential delay.
879- Add CookieJar in Client.
880
881## v7.0.5
882
883- Add check to start polling only when status is in [200,201,202].
884- Refactoring for unchecked errors.
885- azure/persist changes.
886- Fix 'file in use' issue in renewing token in deviceflow.
887- Store header RetryAfter for subsequent requests in polling.
888- Add attribute details in service error.
889
890## v7.0.4
891
892- Better error messages for long running operation failures
893
894## v7.0.3
895
896- Corrected DoPollForAsynchronous to properly handle the initial response
897
898## v7.0.2
899
900- Corrected DoPollForAsynchronous to continue using the polling method first discovered
901
902## v7.0.1
903
904- Fixed empty JSON input error in ByUnmarshallingJSON
905- Fixed polling support for GET calls
906- Changed format name from TimeRfc1123 to TimeRFC1123
907
908## v7.0.0
909
910- Added ByCopying responder with supporting TeeReadCloser
911- Rewrote Azure asynchronous handling
912- Reverted to only unmarshalling JSON
913- Corrected handling of RFC3339 time strings and added support for Rfc1123 time format
914
915The `json.Decoder` does not catch bad data as thoroughly as `json.Unmarshal`. Since
916`encoding/json` successfully deserializes all core types, and extended types normally provide
917their custom JSON serialization handlers, the code has been reverted back to using
918`json.Unmarshal`. The original change to use `json.Decode` was made to reduce duplicate
919code; there is no loss of function, and there is a gain in accuracy, by reverting.
920
921Additionally, Azure services indicate requests to be polled by multiple means. The existing code
922only checked for one of those (that is, the presence of the `Azure-AsyncOperation` header).
923The new code correctly covers all cases and aligns with the other Azure SDKs.
924
925## v6.1.0
926
927- Introduced `date.ByUnmarshallingJSONDate` and `date.ByUnmarshallingJSONTime` to enable JSON encoded values.
928
929## v6.0.0
930
931- Completely reworked the handling of polled and asynchronous requests
932- Removed unnecessary routines
933- Reworked `mocks.Sender` to replay a series of `http.Response` objects
934- Added `PrepareDecorators` for primitive types (e.g., bool, int32)
935
936Handling polled and asynchronous requests is no longer part of `Client#Send`. Instead new
937`SendDecorators` implement different styles of polled behavior. See`autorest.DoPollForStatusCodes`
938and `azure.DoPollForAsynchronous` for examples.
939
940## v5.0.0
941
942- Added new RespondDecorators unmarshalling primitive types
943- Corrected application of inspection and authorization PrependDecorators
944
945## v4.0.0
946
947- Added support for Azure long-running operations.
948- Added cancelation support to all decorators and functions that may delay.
949- Breaking: `DelayForBackoff` now accepts a channel, which may be nil.
950
951## v3.1.0
952
953- Add support for OAuth Device Flow authorization.
954- Add support for ServicePrincipalTokens that are backed by an existing token, rather than other secret material.
955- Add helpers for persisting and restoring Tokens.
956- Increased code coverage in the github.com/Azure/autorest/azure package
957
958## v3.0.0
959
960- Breaking: `NewErrorWithError` no longer takes `statusCode int`.
961- Breaking: `NewErrorWithStatusCode` is replaced with `NewErrorWithResponse`.
962- Breaking: `Client#Send()` no longer takes `codes ...int` argument.
963- Add: XML unmarshaling support with `ByUnmarshallingXML()`
964- Stopped vending dependencies locally and switched to [Glide](https://github.com/Masterminds/glide).
965 Applications using this library should either use Glide or vendor dependencies locally some other way.
966- Add: `azure.WithErrorUnlessStatusCode()` decorator to handle Azure errors.
967- Fix: use `net/http.DefaultClient` as base client.
968- Fix: Missing inspection for polling responses added.
969- Add: CopyAndDecode helpers.
970- Improved `./autorest/to` with `[]string` helpers.
971- Removed golint suppressions in .travis.yml.
972
973## v2.1.0
974
975- Added `StatusCode` to `Error` for more easily obtaining the HTTP Reponse StatusCode (if any)
976
977## v2.0.0
978
979- Changed `to.StringMapPtr` method signature to return a pointer
980- Changed `ServicePrincipalCertificateSecret` and `NewServicePrincipalTokenFromCertificate` to support generic certificate and private keys
981
982## v1.0.0
983
984- Added Logging inspectors to trace http.Request / Response
985- Added support for User-Agent header
986- Changed WithHeader PrepareDecorator to use set vs. add
987- Added JSON to error when unmarshalling fails
988- Added Client#Send method
989- Corrected case of "Azure" in package paths
990- Added "to" helpers, Azure helpers, and improved ease-of-use
991- Corrected golint issues
992
993## v1.0.1
994
995- Added CHANGELOG.md
996
997## v1.1.0
998
999- Added mechanism to retrieve a ServicePrincipalToken using a certificate-signed JWT
1000- Added an example of creating a certificate-based ServicePrincipal and retrieving an OAuth token using the certificate
1001
1002## v1.1.1
1003
1004- Introduce godeps and vendor dependencies introduced in v1.1.1
View as plain text