Releases: Azure/azure-kusto-java
Releases · Azure/azure-kusto-java
Release 3.1.1
What's New
- setClientVersionForTracing option
- Update getKustoDateTime with more lenient formatter by @breriksenms in #246
- Documentation Improvements by @breriksenms in #245
- Add retry mechanism for potentiality throttled operations.
What's Fixed
- Fixed valid cluster uris not being accepted
- Support system properties, such as "proxy" for our http clients.
New Contributors
- @alonadam made their first contribution in #237
- @breriksenms made their first contribution in #246
Full Changelog: v3.1.0...v3.1.1
Release 3.1.0
Features
- Share HTTP client across requests by @larisaad in #196
- Support exceptions that don't follow oneapi by @AsafMah in #213
- Raise visibility of getTableKind by @crowcrow in #220
- Support ingesting with ignoring first record in both SDK and Quickstart by @yihezkel in #215
- Added validation policy by @AsafMah in #229
- Remove mapping requirement, since mappings are no longer required by @yihezkel in #214
Fixes
- Remove Quickstart dependency on parent pom by @yihezkel in #212
- Fix getIntegerObject() return type by @jlinn in #223
- Assure cloud info is only initialized once, fixing bug that ignored the token cache by @AsafMah in #230
Improvements
New Contributors
- @larisaad made their first contribution in #196
- @jlinn made their first contribution in #223
- @crowcrow made their first contribution in #220
Full Changelog: v3.0.0...v3.1.0
v3.0.0
This is a major release.
Breaking Changes
- Many of the public fields in classes have turned into privates, with getters and setters replacing them
- Renamed according to java conventions: -
- All enum members are now in UPPER_SNAKE_CASE to conform with java conventions
- enum DATA_FORMAT was renamed to DataFormat
- Removed enum DataFormat.Unknown
KustoResultSetTable
no longer implements the interfacejava.sql.ResultSet
, as they never really matched in their functionality and interfaces- Creating a
ClientImpl
requires in itsConnectionStringBuilder
a URL with at least its authority defined IngestionProperties
now works withDataFormat
as its object type instead of aString
- Ingestion will now fail validation if any of the following ingestion property conditions are met:
- Mapping isn't specified for a data format that requires one
IngestionMappingKind
was defined, but a mapping wasn't defined- Provided
IngestionMappingKind
doesn't match the data format's expected ingestion mapping format - Both mapping reference and column mappings were defined
- A provided column mapping is invalid for the provided
IngestionMappingKind
Features
Added Quickstart application
- Inside the repo there is now a new module for a Quickstart app. It serves as a sample and a tutorial for the entire flow for working with the sdk, including creating tables, ingesting data and querying.
Authentication improvements
- Added Managed Identity Authentication
- Add subject issuer and certificate chain (SNI) support to authentication
ManagedStreamingIngest Improvements
- Sleeps exponentially between retries
- Custom ClientRequestId for improved telemetry
- Protect better against empty ClientRequestId
- Added helper constructors for easy construction
- Supports non-resettable streams
- Supports LeaveOpen for streams
- Fallback to queued on big files
Data formats and mappings
- Added support for new formats and mapping, including W3CLogFile, SStream and better support for TXT and RAW
- Improved OO nature of
DataFormat
andIngestionMappingKind
, and the relationship between them
Typed parameterized query helpers
Helper functions to add parameters to a query in a type-safe manner
Minor features and bug fixes
- Add
x-ms-activitycontext
andx-ms-user-id
(fromUserNameForTracing
inConnectionStringBuilder
) headers for better telemetry - KustoDataExceptionBase is available
- Enable timeout config to be passed in additional formats besides String
- Flexibility with whether
ConnectionStringBuilder
's cluster URL has an ending slash - Improved E2E tests to only run tests whose prerequisites are defined
- Better exception reporting of 404 Not Found errors
- Better localhost support
- Fixed error that caused streams to be closed in the wrong order
- Default uploaded blob extension to csv instead of being empty when
IngestionProperty.DataFormat
is null getMappingReference()
would fail unnecessarily because it was comparing theDataFormat
to theIngestionMappingKind
, because the former doesn't have a one-to-one with the latter, but instead a one-to-many relationship with the latter- Many dependency upgrades
- Many dependency conflict preventions
- Specify runtime scope for slf4j's impl
v2.8.2
v2.8.1
v2.8.0
** New Feature **
- Kusto now queries the provided cluster for metadata. This fixes incompatibility issues with other clouds, or services like Synapse. The results are cached and don't require any changes to the user's code or behavior.
master (#177) - New API to get primitive as objects to handle null values
- Changed exceptions to be more robust and clear
** Bug Fix ** - Handle errors that occur during a query