Skip to content

Releases: atlanhq/atlan-java

v1.8.4

19 Dec 19:46
Compare
Choose a tag to compare

πŸŽ‰ New features

  • (Experimental) Adds a new option to the Link creator method to support unique-per-asset Links, based on their title

🐞 Bug fixes

  • Adds blocking call when creating connections in an asset batch to avoid permission race conditions
  • Fixes the group validation when setting groups as subjects for purpose policies or personas
  • Adds more meaningful error message to relational assets builder custom package if a column refers to a non-existent parent table/view
  • Fixes a bug where assigned terms in an asset file for the asset import custom package would fail with a ClassNotFoundException

βš™οΈ Background changes

  • Fixes JavaDocs on group cache to clarify the different human-readable vs internal names

v1.8.3

09 Dec 19:58
Compare
Choose a tag to compare

πŸŽ‰ New features

  • (Experimental) Query the search log, to monitor for example the most recent viewers of an asset or the kinds of searches users are running
  • Adds model for DynamoDB assets
  • Adds creator and updater methods for Salesforce assets

🐞 Bug fixes

  • Fixes a bug in asset import custom package when typeName appears as the very first column

βš™οΈ Background changes

  • Bumps a transitive dependency to its latest version to address an open CWE

v1.8.2

05 Dec 20:29
Compare
Choose a tag to compare

(Note: this is essentially a re-release of 1.8.1 due to some hiccups with the dependency packaging and custom package bundling, so release notes below are as from the 1.8.1 release.)

πŸŽ‰ New features

  • (Experimental) Adds capability to read and write Excel files in the custom package runtime toolkit
  • (Preview) Adds a new custom package that calculates various metadata metrics
  • (Preview) Adds a new custom package to extract administrative information (users, groups, personas, purposes, policies)

🐞 Bug fixes

  • Fixes a bug in multi-select serialization that would cause integration tests to fail
  • Fixes a NullPointerException that could occur when a README exists but has no description
  • Fixes an issue in the asset export (basic) custom package when not exporting any glossaries

πŸ₯— QOL improvements

  • Improves FluentSearch's flexibility to translate easily to other objects
  • Adds a default restriction to limit FluentSearch results to "real" assets (skipping internal __... assets)
  • Refactors CSV writing for reusability in the custom package runtime toolkit
  • Refactors timestamp formatting for reusability in the custom package runtime toolkit
  • Fixes generation of JavaDocs for attributes, so these should now be mostly complete (previously TBC was very prevalent)

v1.8.1

05 Dec 14:49
Compare
Choose a tag to compare

πŸŽ‰ New features

  • (Experimental) Adds capability to read and write Excel files in the custom package runtime toolkit
  • (Preview) Adds a new custom package that calculates various metadata metrics
  • (Preview) Adds a new custom package to extract administrative information (users, groups, personas, purposes, policies)

🐞 Bug fixes

  • Fixes a bug in multi-select serialization that would cause integration tests to fail
  • Fixes a NullPointerException that could occur when a README exists but has no description
  • Fixes an issue in the asset export (basic) custom package when not exporting any glossaries

πŸ₯— QOL improvements

  • Improves FluentSearch's flexibility to translate easily to other objects
  • Adds a default restriction to limit FluentSearch results to "real" assets (skipping internal __... assets)
  • Refactors CSV writing for reusability in the custom package runtime toolkit
  • Refactors timestamp formatting for reusability in the custom package runtime toolkit
  • Fixes generation of JavaDocs for attributes, so these should now be mostly complete (previously TBC was very prevalent)

v1.8.0

30 Nov 21:30
Compare
Choose a tag to compare

πŸŽ‰ New features

  • (Experimental) Extends custom package toolkits to cover testing and events (pipelines)
  • (Experimental) Adds initial support for data domains and data products
  • Adds a ParallelBatch, for batching asset creates and updates across threads that are running in parallel
  • Adds custom package example for:
    • Creating and updating arbitrary relational database assets from a CSV
  • Extends asset export (basic) and asset import packages to handle glossaries, categories and terms
  • Adds a method to update individual Atlan tags on assets

⛑️ Breaking changes

  • Removes the delete() and restore() methods for categories. Categories can currently only be purged (hard-deleted), so even when previously calling the delete() method the backend actually translated this to a hard-delete (purge). (Which also means there is no way to restore a category.) We have therefore opted to remove the delete() and restore() methods β€” only for categories β€” to make it clearer that categories can only be purged (hard-deleted).

🐞 Bug fixes

  • Increases default timeout for creating API tokens, to fix possible timeout that could occur
  • Increases default retry count for blocking on asynchronous actions (for example, creating new connections)
  • Fixes issues related to default values for custom package configuration variables (nulls, empty values, overlapping file upload keys)
  • Fixes issues related to optional file uploads in custom packages
  • Fixes an issue where the results tracking for batch-created assets could leave out the GUID of the created asset

πŸ₯— QOL improvements

  • Adds asset caching interface to custom package runtime toolkit
  • Custom package configurations are now strongly-typed throughout runtime
  • Adds all known widgets to custom package configuration toolkit
  • Adds integration testing for custom packages, with isolated outputs to allow multiple tests per custom package (module)
  • Refactors CSV parsing to support multi-pass processing (to maximize efficiency)
  • Improves asset counts and logging for custom packages, given multi-pass processing (filtering each pass)
  • Adds user and group validation to custom packages that import metadata
  • Adds a configurable failure option on such invalid values (logging and skipping them vs failing the package outright)
  • Adds sensible default values for widgets

βš™οΈ Background changes

  • Removes logback to avoid logger multiplicity and related binding errors and warnings
  • Adds custom package integration tests to regression testing cycles
  • Refactors some custom packages to simplify debugging (where there is overlap in class or object names)

v1.7.0

14 Nov 14:41
Compare
Choose a tag to compare

πŸŽ‰ New features

  • (Experimental) Adds custom package toolkits, currently covering configuration and runtime
  • (Experimental) Adds preliminary support for updating workflows
  • Adds custom package examples for:
    • Assigning API tokens as connection admins
    • Exporting enrichment information for assets
    • Importing assets in bulk
    • Detecting duplicate assets
    • Crawling OpenAPI specifications

🐞 Bug fixes

  • Fixes an issue where retrieving an already-existing asset's details from an AssetMutationResponse would not work.
  • Removes the updater() method from AuthPolicy. This is technically a breaking change, but never worked to begin with. Instead, policies should be retrieved, updated, and saved β€” not partially-constructed using the updater() method (this would never have worked).

βš™οΈ Background changes

  • Consolidates Java-based code repositories into a single place, with a move to a multi-project Gradle build
  • Migrates to Kotlin build scripts over Groovy
  • Refactors dependency management and adds version catalog to build for consistency
  • Refactors unit and integration tests across the multiple projects, including reusable wire mocks

v1.6.0

06 Nov 12:16
Compare
Choose a tag to compare

πŸŽ‰ New features

  • Adds option to only update assets in a batch, never create (default behavior to both create and update remains unchanged)
  • Adds ability to define an icon when creating a glossary, using the .assetIcon() chain-able.
  • Adds support to limit which assets a custom metadata attribute applies to.
  • Adds Sisense type definitions.

🐞 Bug fixes

  • Fixes qualifiedName generation for Google Data Studio assets. Through the creator method you can now provide the unique identifier from Google Data Studio itself (recommended) or allow a random UUID to be generated (to maintain backwards compatibility of the interface).
  • Updates the sidebar tab listing for persona and purpose preferences to the latest list of sidebar tabs.
  • Fixes a bug where the CategoryHierarchy class's getCategory method would not contain all categories in the hierarchy.

v1.5.0

19 Oct 15:28
Compare
Choose a tag to compare

πŸŽ‰ New features

  • (Experimental) Adds new FluentLineage interface to simplify traversing lineage

v1.4.1

12 Oct 13:11
Compare
Choose a tag to compare

πŸŽ‰ New features

  • Adds remaining query operations:
    • Matching multiple values in a multi-valued field
    • Matching values using wildcards
    • Matching values using regular expressions

πŸ₯— QOL improvements

  • Adds operation to retrieve an API token's details using its GUID
  • Adds allowDeletedRelations option for index searches

v1.4.0

05 Oct 15:02
Compare
Choose a tag to compare

πŸŽ‰ New features

  • Adds ability to use both icons and emojis, for both tags and custom metadata
  • Adds tracking of GUID assignments as part of AssetBatch processing
  • Adds new FluentSearch-style search functionality for audit logs, including automated paging
  • (Experimental) Adds capability to upload files

🐞 Bug fixes

  • Fixes bug on validating group names during connection creation or group admin changes
  • Fixes ability for README contents to be blanked-out, if requested
  • Fixes a bug parsing custom metadata that has been created without any logo at all

πŸ₯— QOL improvements

  • Simplifies overall SDK dependencies to core requirements, removing side dependencies for things like Numaflow and AWS (which in turn roughly halves the SDK's footprint)