Releases: tableau/tableau-migration-sdk
Releases · tableau/tableau-migration-sdk
v5.0.0
What's Changed
Breaking Changes
- Removed Python 3.8 support
- Removing net6.0 and updated python to use net8.0
New Features
- Basic Progress Tracking: Added totals to Manifest partitions. You can now write
BatchMigrationCompleted
hooks to track the progress of a migrated batch of items. - Bulk Permission migration: Permissions now use the new bulk update API methods. This functionality replaces the previous delete and create mechanism. The change results in significantly fewer REST API calls and hence improved performance.
Fixes
- Fixed migration error when Extract Refresh tasks in Personal Spaces were found.
- Fixed Manifest Entry status when populated from a previous migration.
- Server to Cloud schedule improvements.
Documentation
- Removed Most Python.NET Interop Usage in Python Example Application
Other Changes
- Test app and logging updates
- Add correlation id to all http request/responses
Known Issues
- Unlike other content types, Custom Views cannot be filtered based on the Content Location of the base view.
- Python wrapper objects cannot be accessed through dependency injection. .NET object can be injected and python wrappers built from them.
- Progress tracking in Python is limited out of the box compared to the one in C#.
Full Changelog: tableau/migration-sdk@release/4.3.0...release/5.0.0
v4.3.1
What's Changed
Fixes
- Fixed migration error when Extract Refresh Tasks in Personal Spaces were found.
- Fixed Extract Refresh listing when tasks of unknown content type exist
Known Issues
- Unlike other content types, Custom Views cannot be filtered based on the Content Location of the base view.
- Python wrapper objects cannot be accessed through dependency injection. .NET object can be injected and python wrappers built from them.
v4.3.0
What's Changed
New Features
- Migration of Custom Views ⭐
- Earlier configuration validation so the failures are earlier and faster.
- User Agent string changes to put distinguishing info in the comment field of the user agent instead of a different product field using suffixes (Mozilla docs). The User Agent Comment is configurable.
Fixes
- Fix to the Workbook View publish functionality involving views. This fixes the XML
CommitWorkbookPublishRequest
so views are properly published. - Some Python Example App fixes.
- Some Python code snippet fixes.
- Fix to encrypt extracts if the server requires it.
- Fix HTML Error Responses not being Included in Exception.
- Minor fix to Python
requirements.txt
.
Documentation
- Example 'Getting Started' code samples are now also in the Migration SDK intro page.
- Information on how the Migration SDK is versioned
Known Issues
- Unlike other content types, Custom Views cannot be filtered based on the Content Location of the base view.
- Python wrapper objects cannot be accessed through dependency injection. .NET object can be injected and python wrappers built from them.
v4.2.0
What's Changed
New Features
- Support extract-value boolean flag for Datasources
- Manifest can now be serialized and deserialized
Documentation
- Python Environment Config Doc improvements
Known Issues
- Python wrapper objects cannot be accessed through dependency injection. .NET object can be injected and python wrappers built from them.
- Some sample hooks in documentation only include C# sample code.
v4.1.0
What's Changed
New Features
- Migration of Schedules for Extract Refresh Tasks
Fixes
- Fixed bug in sample
- Fix release docs and license
Documentation
- Normalize Cancellation Token Documentation
- Docs: Navigation, CSS and images
Other
- Update 3rd party package and library versions
Known Issues
- Python wrapper objects cannot be accessed through dependency injection. .NET object can be injected and python wrappers built from them.
- Some sample hooks in documentation only include C# sample code.
v4.0.0
What's Changed
- Python hooks received a major update in version 4 of the Tableau Migration SDK.
- This change brings full autocomplete support in your favorite Python IDE!
- We have also added many Python hook samples to our documentation and reorganized to make it easier to use!
- In version 3, all Python hooks were thin wrappers around C# code, and the actual object manipulated by the hook was a C# object. In version 4 and beyond, everything is still a wrapper around C#, but the class itself and the context object passed to be manipulated are now fully in Python with no more C# required.
- The combination of making hook writing in Python completely pythonic and updated documentation with samples means that it has never been easier to write your own custom hooks in Python! See the Documentation section for more details
- These Python updates are BREAKING changes from previous versions.
Breaking Changes
- Python Hook Wrappers
New Features
- Python Hook Wrappers
Fixes
- Adjust content finder to cache the full list just one time
- Fixed Groups flaky tests
- Fixed for left nav menu of the
Python Wrapper
section - Fixed incorrect license in packages
Documentation
- Python Hook Wrapper Samples
Known Issues
- Hook context objects do not have Python wrapper objects. Context objects should be access through Python.NET interop.
- Python wrapper objects cannot be accessed through dependency injection. .NET object can be injected and python wrappers built from them.
- Some sample hooks in documentation only include C# sample code.
v3.0.1
What's Changed
Breaking Changes
- Removing .net 7 support
Fixes
- Fix IsZipFile null tests
- Fix the stream is too short test
Documentation
- Fixed an error in the Python example application
- Docs: Navigation improvements
Other Changes
- Publish Pypi artifact from public dry-run pipeline
Known Issues
- Hook context objects do not have Python wrapper objects. Context objects should be access through Python.NET interop.
- Python wrapper objects cannot be accessed through dependency injection. .NET object can be injected and python wrappers built from them.
- Some sample hooks in documentation only include C# sample code.
v2.1.1
Tableau Migration SDK v2.1.1
Fixes
- Fixed an error in the Python example application
- Flaky Test - StreamExtensionsTest+IsZipFile.False_when_stream_length_is_too_short randomly returns True
Known Issues
- Hook context objects do not have Python wrapper objects. Context objects should be access through Python.NET interop.
- Python wrapper objects cannot be accessed through dependency injection. .NET object can be injected and python wrappers built from them.
- Some sample hooks in documentation only include C# sample code.
v2.1.0
Tableau Migration SDK v2.1.0
New Features
- Added ability to modify workbook published hidden views.
Fixes
- Fixed log noise from failed default permissions updates.
- Fixed list paging log noise.
Documentation
- Python API reference docs display improvements.
- Added plan validation documentation.
- Fixes to Python example application.
- SDK version information and cleaner style for code snippets.
Known Issues
- Hook context objects do not have Python wrapper objects. Context objects should be access through Python.NET interop.
- Python wrapper objects cannot be accessed through dependency injection. .NET object can be injected and python wrappers built from them.
- Some sample hooks in documentation only include C# sample code.
v2.0.0
Tableau Migration SDK v2.0.0
Migration SDK 2.0.0 is our first release with breaking changes, and named according for semantic versioning. Simple migration applications are not impacted by these breaking changes and should not require updates. Refer to the change list below for details.
Breaking Changes
- Batch size is now configured per-content type. Existing
batchSize
configuration values should be moved to the contentTypes configuration section. - Replaced Polly v7 dependency with
Microsoft.Extensions.Http.Resilience
. Custom Polly network policies should be ported to Polly v8 (see Polly v8 migration guide).maxBurstReadRequests
andmaxBurstPublishRequests
configuration values are removed. - API Client refactoring. Code interacting with API clients directly may need minor updates.
New Features
- User cache content finder now falls back to individual search.
- Added a warning for unfound content projects/owners.
- Added option to publish users through individual calls instead of in bulk.
Fixes
- Fixed errors processing files larger than 2GB.
- Fixed documentation site CSS
- Fixed test application Tableau Cloud username mapping.
Documentation
- Updated configuration documentation and defaults.
Known Issues
- Hook context objects do not have Python wrapper objects. Context objects should be access through Python.NET interop.
- Python wrapper objects cannot be accessed through dependency injection. .NET object can be injected and python wrappers built from them.
- Some sample hooks in documentation only include C# sample code.