Releases: atlanhq/atlan-go
Releases · atlanhq/atlan-go
v0.1.0
What's Changed
✨ New Features & Enhancements
- APP-5666 : Implement lazy loading / Fetching in
FluentSearch()ORassets.Search()by @0xquark & @Aryamanz29 in #92
Example
index := builder.
PageSize(100).
IncludeOnResults("anchor").
IncludeOnRelations("certificateStatus").
ToRequest()
results, _ := assets.Search(*index)
fmt.Printf("Found %d assets\n", results.Count())
// When working with paginated search results, the .Iter() method
// provides a convenient way to iterate over all results without manually handling pagination.
entities, errIter := results.Iter()
// You can then directly iterate through the search results.
// The SDK handles pagination for you, fetching each page lazily as needed.
for asset := range entities {
fmt.Println("asset name:", *asset.Name)
}
// If an error occurs during iteration (e.g: a failed API request), it is sent to the errIter channel.
// The iteration stops, and you can handle the error accordingly.
if err := <-errIter; err != nil {
fmt.Println("Error during iteration:", err)
}Full Changelog: v0.0.16...v0.1.0
v0.0.16
What's Changed
✨ New Features & Enhancements
- APP-5147 : Add DataMaskingType enums by @0xquark in #86
- APP-5150 : Add
PurposeFieldsfor Searching through FluentSearch by @0xquark in #85
Changes introduced in #88 , #90, #91 by @0xquark
Managing Workflows ⚙️
- Models: Introduced models for
Workflowsand related entities. - Workflow Client: Added methods for Workflow management:
-FindByType(): Retrieves workflows based on their type prefix.
-FindByID(): Retrieves a workflow by its unique ID.
-FindRunByID(): Retrieves a specific workflow run by its ID.
-FindLatestRun(): Retrieves the most recent run of a given workflow.
-FindCurrentRun(): Retrieves the most recent active (running or pending) run of a given workflow.
-GetRuns(): Retrieves workflow runs filtered by workflow name and phase.
-Stop(): Stops a running workflow by its run ID.
-Delete(): Archives (deletes) a workflow by its name.
-Rerun(): Reruns a workflow immediately if it has been run before, with an optional idempotency check.
-Update(): Modifies the configuration of an existing workflow.
-UpdateOwner(): Assigns a new owner to a workflow.
Managing Workflows Schedules 📆
- Models: Introduced models for
Workflow Schedulesand related entities. - Workflow Client: Added methods for Workflow Schedule management:
-Monitor(): Monitors the status of a workflow run and logs progress until completion.
-AddSchedule(): Attaches a cron schedule and timezone to an existing workflow.
-RemoveSchedule(): Removes a schedule from an existing workflow.
-GetAllScheduledRuns(): Retrieves all scheduled workflow runs.
-GetScheduledRun(): Retrieves a specific scheduled workflow run by workflow name.
-FindScheduleQuery(): Searches for scheduled query workflows based on their saved query ID.
-ReRunScheduleQuery(): Re-triggers a scheduled query workflow.
-FindScheduleQueryBetween(): Searches for scheduled query workflows within a specific date range.
Support for Snowflake Miner ❄️
- Models: Introduced models and abstract package for
Snowflake Minerand other packages. - Snowflake Miner Client: Added methods for running a Snowflake miner workflow:
Direct(): Source extraction by mining query history directly from Snowflakes3(): Offline extraction by mining query history from the S3 bucketRerun(): re-run an existing workflow for Snowflake query mining
Support for Removing Users ❌
RemoveUser(): removes a user and transfers their assets to another user.
🐞 Bug Fixes
- APP-5187 : Add a check for creating or using an existing user in group integration tests by @0xquark in #87
Full Changelog: v0.0.15...v0.0.16
v0.0.15
v0.0.14
What's Changed
✨ New Features & Enhancements
Changes introduced in #74 , #78 by @0xquark
🗝️ Managing Token(s)
- Models: Introduced models for
API Tokens. - Token Client: Added methods for Token management:
Create(): Creates a new API token with given parameters.Update(): Updates an existing API token.Get(): Retrieves a list of API tokens based on the provided parameters.GetByName(): Retrieves API token by display name.GetByID(): Retrieves API token by client ID.GetByGuid(): Retrieves API token by GUID.Purge(): Deletes the API token by GUID.
🎯 Managing Purpose(s)
- Models: Introduced models for
Purpose. - Purpose Client: Added methods for Purpose management:
Creator(),Updater(): Create or update Purpose(s).CreateMetadataPolicy(): Adds a new metadata policy for a Purpose.CreateDataPolicy(): Adds a new data policy for a Purpose.FindPurposesByName(): Retrieves Purpose(s) with given name.Delete(): Remove a Purpose by GUID.
🔖 Documentation / QOL Improvements
- FT-585: Added a development setup section to README.md by @pavanmanishd in #75
- FT-915 : Added a template for pull requests by @0xquark in #79
Full Changelog: v0.0.13...v0.0.14
v0.0.13
What's Changed
✨ New Features & Enhancements
- FT-840: Improve unhandled exception message logging by @pavanmanishd in #71
Changes introduced in #72 by @0xquark
🛠️ Managing Roles
- Models: Introduced models for
roles. - Role Client: Added methods for role management:
GetAll(): Retrieve all roles.Get(): Retrieve specific roles by filter.
- Caching: Implemented a caching mechanism to translate role names and IDs efficiently.
👤 Managing Users
- Models: Introduced models for
Users. - User Client: Added methods for user management:
CreateUsers(): Create single or multiple users.Updater(): Update user attributes.GetAll(): Retrieve all users.GetByEmail(),GetByEmails(): Retrieve users by email(s).GetByUsername(),GetByUsernames(): Retrieve users by username(s).AddUserToGroups(): Add users to one or more groups.ChangeUserRole(): Change the role of a user.
👥 Managing Groups
- Models: Introduced models for
Groups. - Group Client: Added methods for group management:
Create(),Update(): Create or update groups.Get(),GetAll(),GetByName(): Retrieve group details.GetMembers(): Retrieve members of a group by GUID.RemoveUsers(): Remove members from a group.Purge(): Permanently delete a group.
📜 Full Changelog: v0.0.12...v0.0.13
v0.0.12
What's Changed
✨ New Features & Enhancements
Changes Introduced in #68 & #69 by @0xquark
- Added models for AccessControl, Persona, and AuthPolicy.
- Introduced Creator and Updater methods to manage Personas effectively.
- Added an Updater method for managing Access Control.
- Enabled management of policies linked to Personas, including MetadataPolicy, DomainPolicy, GlossaryPolicy, and DataPolicy.
- Added
FindPersonasByNamemethod for managing Personas using name. - Implemented a modular approach for marshalling and unmarshalling assets, addressing FT-467.
- Improved type safety through enhancements to structs and enums.
- Added integration tests for the new features.
🐞 Bug Fixes
- Resolved the issue of GUIDs being incorrectly appended in the
GetByGuid()method.
Full Changelog: v0.0.11...v0.0.12
v0.0.11
What's Changed
✨ New Features & Enhancements
- FT-774: Added support for end-to-end bulk update using batch processing by @0xquark in #64
- FT-773: Added x-atlan-client-origin header and centralize Version Handling using
go:embedby @0xquark in #66
🐞 Bug Fixes
Full Changelog: v0.0.10...v0.0.11
v0.0.10
v0.0.9
What's Changed
✨ New Features & Enhancements
- DVX: 612 - feat: Added GetByQualifiedName Method by @0xquark in #56
- DVX: 611 - feat: Added support for Table by @0xquark in #55
- DVX: 592 - feat: Added Add, Modify, Remove and Update methods on AtlanTags by @0xquark in #57
🐞 Bug Fixes
- DVX: 613 - Bug: Set default value for page size in FluentSearch and IndexSearch by @0xquark in #58
- DVX: 554 - Bug: Replace hardcoded request headers to get from request directly by @0xquark in #59
Full Changelog: v0.0.8...v0.0.9
v0.0.8
What's Changed
✨ New Features & Enhancements
- Added support for
GCSpresigned URL file uploads by @Aryamanz29 in #53
Full Changelog: v0.0.7...v0.0.8