All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added new valid endpoints for the Kusto service.
- The
WithApplicationCertificate
onKustoConnectionStringBuilder
was removed as it was ambiguous and not implemented correctly. Instead, there are two new methods:WithAppCertificatePath
- Receives the path to the certificate file.WithAppCertificateBytes
- Receives the certificate bytes in-memory. Both methods accept an optional password for the certificate.
- Fixed Mapping Kind not working correctly with certain formats.
- Fix storage URI parsing for hostname with more than 5 parts.
- Keep original error when refreshing ingestion resources fails.
- Binary data formats are no longer compressed, as it is inefficient.
- Type aliases for int32 now work correctly when converting.
- Queries are no longer progressive by default.
ResultsProgressiveDisable()
has been removed.- Use
ResultsProgressiveEnabled()
to enable progressive queries.
- Add file options: RawDataSize, CompressionType
- New package ingest/ingestoptions now contains Compression properties (in the future will hold DataFormat)
- String quoting in default value of query parameters.
- Size used for RawDataSize taken from gzip reader was of the gzip size and not the original reader size.
- Support new playfab domain.
- Fixed deadlock when having high number of concurrent queries.
- Fixed wrong endpoint error not triggering.
- Support streaming for blob, for Managed client as well.
- Support more URLs for Kusto, including HTTP and port.
- Fixed wrong context deadline setting.
- Fixed accepting empty URL.
- Modified
once.go
to resetsync.Once
instance when an error occurs.
ServerTimeout
Query Option- The timeout to the server will be set to the value of this option, or to none if
RequestNoTimeout
is set to true. - If it is not provided, the timeout will be set by the context (the old behavior).
- If a context timeout is not provided, it will fall back to a default value by the type of request.
- The timeout to the server will be set to the value of this option, or to none if
- Support for
IgnoreFirstRecord
ingestion option.
MgmtOption
is deprecated. From now on bothQuery
andMgmt
acceptQueryOption
,MgmtOption
will remain as an alias until the next version.
AttachPolicyClientOptions
method fixed by @JorTurFer
AllowWrite
has been a no-op for a while. It is now finally removed.
- Fixed parsing of errors in queries.
- Added kql.Builder struct for safe building of KQL statements from variables without use of 'Unsafe' mode.
- Simpler handling of query parameters using kql.Parameters struct.
- All of the docs and examples have been updated to use it.
- [DEPRECATED] The old query builder.
- Added Quickstart app.
- TokenCredential support for authentication.
- No redirects are allowed by default.
- Replace non-ASCII characters in headers to be in line with the service.
- DefaultCredential now uses the same HTTP client as the rest of the SDK.
- Support for new trident URL.
- Fixed Queue URI not being correct for different clouds.
- Bumped azblob to 1.0.0.
- Fixed Storage URI not being correct for different clouds.
- Bump golang.org/x/net from 0.4.0 to 0.7.0.
- [BREAKING] Add validation for trusted endpoints by @ohadbitt.
- Send HTTP headers under the new unified format.
- Internal refactoring.
- Issue with managed identity parameters.
- Issue with queued ingestion to other clouds.
- [BREAKING] The minimal Go version is now 1.19.
- [BREAKING] Moving to a connection-string based approach to creating and authenticating clients.
- Implicit cloud detection.
- All of our operations now share the same HTTP client inside the Kusto client object.
- Various goroutine leaks.
- Fetching ingestion resources is now done more consistently.
- Removed the header caching mechanism from streaming ingestion.
- Default values for parameters not parsing correctly.
- Goroutine leak when streaming ingestion fails.
- Leaks in tests.
- Setting a mapping now implies the ingestion format.
- Possible context race.
- JSON parsing errors now display the failed JSON string.
- Deprecate AllowWrite - now it is the default like in other SDKs.
- Remove mutex from query client. Now queries can run in parallel, achieving much better performance.
- Column.Type assignment. Was using string, now using types. by @jesseward.
- Lint and test fixes.
Application
andUser
asClientRequestProperties
to set thex-ms-app
andx-ms-user
headers, and the matching fields in.show queries
.
- All missing client request properties, and the ability to use custom ones using
CustomQueryOption
. - The option to not parse the response when querying, but to receive the JSON directly -
QueryToJson
.
- Various lint fixes and code improvements.
- Make clients closeable.
- Support port in HTTP host.
- Retry mechanism for throttled requests.
- Custom HTTP options for all clients.
Ingestion.Stream
has been deprecated in favor of dedicated streaming clients -ingest.Streaming
andingest.Managed
.RowIterator.Next
andRowIterator.Do
are now deprecated and replaced byRowIterator.NextRowOrError
andRowIterator.DoOnRowOrError
.
RowIterator.Next
andRowIterator.Do
will return the first error they encounter, including in-line errors or partial successes and finish.