Releases: atlanhq/atlan-java
Releases Β· atlanhq/atlan-java
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
AssetMutationResponsewould 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
qualifiedNamegeneration for Google Data Studio assets. Through thecreatormethod 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
CategoryHierarchyclass'sgetCategorymethod 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
allowDeletedRelationsoption 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
AssetBatchprocessing - 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
βοΈ 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
π 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 asRequestOptions)
π₯ QOL improvements
- Improves error message passthrough
- Adds handling for
www-form-urlencodedrequests - Adds further options for defining custom metadata attributes
v1.2.2
βοΈ 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
nulland""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