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.
- 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 behaviour).
- 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 and RowIterator.Do will return the first error they encounter, including in-line errors or partials successes and finish.