Skip to content

Releases: Azure/azure-kusto-java

Release 3.1.0

20 Mar 06:42
892b277
Compare
Choose a tag to compare

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

  • Run github actions checks on pull requests by @AsafMah in #227

New Contributors

Full Changelog: v3.0.0...v3.1.0

v3.0.0

11 Jan 17:32
6df93e8
Compare
Choose a tag to compare

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: -
    1. All enum members are now in UPPER_SNAKE_CASE to conform with java conventions
    2. enum DATA_FORMAT was renamed to DataFormat
  • Removed enum DataFormat.Unknown
  • KustoResultSetTable no longer implements the interface java.sql.ResultSet, as they never really matched in their functionality and interfaces
  • Creating a ClientImpl requires in its ConnectionStringBuilder a URL with at least its authority defined
  • IngestionProperties now works with DataFormat as its object type instead of a String
  • Ingestion will now fail validation if any of the following ingestion property conditions are met:
    1. Mapping isn't specified for a data format that requires one
    2. IngestionMappingKind was defined, but a mapping wasn't defined
    3. Provided IngestionMappingKind doesn't match the data format's expected ingestion mapping format
    4. Both mapping reference and column mappings were defined
    5. 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 and IngestionMappingKind, 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 and x-ms-user-id (from UserNameForTracing in ConnectionStringBuilder) 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 the DataFormat to the IngestionMappingKind, 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

04 Jul 15:04
d6075a2
Compare
Choose a tag to compare

** Bug fix **

  • Bad handling of ingestion error code as enum values can change over time - return the string got and return IngestionErrorCode.Misc if it doesnt exist

v2.8.1

04 Jul 06:29
d5de341
Compare
Choose a tag to compare

** Bug Fix **

  • Fixed a bug in an internal function that caused it to not work well with certain JDK environments

v2.8.0

30 Jun 15:37
e2bbcd1
Compare
Choose a tag to compare

** 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

v2.7.0

11 Apr 18:39
2bb0d1b
Compare
Choose a tag to compare

** New Feature **

  • Add Streaming Query API that returns json result as it's received from the ADX endpoint, for maximum performance.

v2.6.0

12 Apr 08:11
133b5e2
Compare
Choose a tag to compare

** New Features **

  • Add MSAL Device Code authentication method

v2.5.1

11 Mar 10:10
97ae180
Compare
Choose a tag to compare

** New Features **

  • New API to query returning a json result. When the caller doesn't need the Java object, this saves time converting to a Java object in the SDK and from the caller converting from the Java object.

  • Thorough dependency upgrades

v2.5.0

21 Feb 01:41
f6c5b36
Compare
Choose a tag to compare

*** New Features ***

  • Added classes for generating pojos from KustoResultSetTable instances
  • Rearchitect the AAD authentication code to be object oriented

v2.4.2

13 Dec 11:40
Compare
Choose a tag to compare

** Bug Fix **
Trim ';fed=true' if given as cluster url

** New Feature**
Support 'Raw' data format