Releases: atlanhq/atlan-java
Releases Β· atlanhq/atlan-java
v1.8.4
π 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
π 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
andupdater
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
(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
π 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
π 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()
andrestore()
methods for categories. Categories can currently only be purged (hard-deleted), so even when previously calling thedelete()
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 thedelete()
andrestore()
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
π 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 fromAuthPolicy
. This is technically a breaking change, but never worked to begin with. Instead, policies should be retrieved, updated, and saved β not partially-constructed using theupdater()
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
π 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 thecreator
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'sgetCategory
method would not contain all categories in the hierarchy.
v1.5.0
v1.4.1
π 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
π 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)