Skip to content

Releases: atlanhq/atlan-java

v1.8.0

30 Nov 21:30

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

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

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

Choose a tag to compare

πŸŽ‰ New features

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

v1.4.1

12 Oct 13:11

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

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)

v1.3.1

26 Sep 13:11

Choose a tag to compare

⛑️ Deprecations

  • Deprecates the LineageRequest-based lineage operations.
    • The methods are still there, only marked deprecated, to avoid any existing code compilation breakages.
    • However, be advised that any code that still relies on these deprecated methods may no longer work in the near future (or indeed already).
    • Instead, use the LineageListRequest-based lineage operations, which offer equivalent functionality with improved performance.

🐞 Bug fixes

  • Adds an API token check as part of cache refreshes. Previously an expired or otherwise no-longer-valid API token would silently create empty caches, causing knock-on effects related to things like Atlan tags and custom metadata not being found. Now such tokens will be immediately identified and raised during the cache refresh process rather than silently failing.
  • Fixes deserialization of string-encoded primitives in JSON response payloads.

πŸ₯— QOL improvements

  • Enumerates the out-of-the-box Atlan packages, for use in searching for workflows to rerun using WorkflowSearchRequest.findByType()

v1.3.0

18 Sep 20:52

Choose a tag to compare

πŸŽ‰ New features

  • Adds models for new asset types:
    • Matillion
    • (Experimental) MongoDB
  • Adds query shortcuts for searchable relationships
  • (Experimental) Enhancements to provide the foundation for using the Java SDK for workflows (custom packages):
    • Adds user impersonation capability
    • Adds ability to include custom headers (at AtlanClient-level and as RequestOptions)

πŸ₯— QOL improvements

  • Improves error message passthrough
  • Adds handling for www-form-urlencoded requests
  • Adds further options for defining custom metadata attributes

v1.2.2

12 Sep 13:16

Choose a tag to compare

⛑️ Deprecations

  • Deprecates the ability to activate or deactivate users programmatically. This can no longer be achieved using an API token, so will be removed from the SDKs.
    • The methods are still there, only marked deprecated, to avoid any existing code compilation breakages.
    • However, be advised that any code that still relies on these deprecated methods will always receive an error at runtime now due to back-end changes.

🐞 Bug fixes

  • Uses explicit column projections for user listing API to reduce latency
  • Fixes deserialization of empty values (now treats null and "" as equivalent)

πŸ₯— QOL improvements

  • Adds option to further configure bucket aggregation, specifically to return the actual value of the field used for bucketing and control how many buckets to create
  • Extends the options that can be used for filtering entities in lineage beyond only CONTAINS

v1.2.1

05 Sep 09:57

Choose a tag to compare

🐞 Bug fixes

  • Fixes to allow associating API tokens with personas
  • Fixes incorrect field name being returned for custom metadata inclusion in search results

πŸ₯— QOL improvements

  • Adds option to capture any failed assets during AssetBatch processing