Releases: thoughtspot/cs_tools
v1.5.12
v1.5.12 - Hotfix
🔧 Modified
- switch to native
UPSERT
method on SQLite Syncer
🫀 CS Tools Internals
- fixes type on trusted install from
pypi
,github
- pin
pydantic == 2.9.2
This is part of the major 1.5.0 series of releases, read about it in Our Documentation.
Full Changelog: v1.5.11...v1.5.12
v1.5.11
v1.5.11 - Bugfixes
🛠️ Added
- SQLite Syncer now supports reading rows in batches with
.read_stream(tablename: str, batch: int)
user-management delete
, delete users in bulk from ThoughtSpotsearchable audit-logs
, fetch data from the Security Logs API
🐛 Bugfix
- prefer
TIMESTAMP
overDateTime
in the Searchable data model - allow delimiter character in free form fields (Title, Description) in the Searchable data model
- support Falcon
DATE_TIME
data type in Searchable SpotApp - fix for system object references on ThoughtSpot 10.1 and greater for certain
DatabaseSyncer
s - fix for #157 |
scriptability export
does not support Models
🫀 CS Tools Internals
- fixes for Falcon data-loading API intermediate stages
- switch intermediate temporary-date syncer from
CSV
->SQLite
to handle referential integrity - fix for modern pydantic warning the CLI on implicit type casts
- add missing
GroupPrivilege
enumeration - update dependencies and CI
This is part of the major 1.5.0 series of releases, read about it in Our Documentation.
Full Changelog: v1.5.10...v1.5.11
v1.5.10
v1.5.10 - Bugfixes
🛠️ Added
- introduced
searchable audit-logs --help
(Fetch Logs API) to fetch data
🐛 Bugfix
- fixes for Databricks Syncer for experimental bulk data loading strategy
🫀 CS Tools Internals
- ci installed can skip recording and sending analytics by setting
CS_TOOLS_ANALYTICS_OPT_OUT
(#160) - tools will now always send a proper os-level exit code (#161)
- ensure that
pip
is installed during the bootstrapping of our virtual environment - ensure that rust-based build dependencies are downloaded for offline installs (
cs_tools self download --help
) - remove manual check of Syncer dependencies, always deferring to
pip
This is part of the major 1.5.0 series of releases, read about it in Our Documentation.
Full Changelog: v1.5.9...v1.5.10
v1.5.9
v1.5.9 - DatabaseSyncer and Offline Install improvements
🛠️ Added
wait_for_dataload_completion = true|false
parameter to Falcon Syncer- experimental support for
PUT -> COPY INTO
data loading into Databricks Syncer identation
level for prettier output in JSON Syncer- clamping and warnings on
searchable metadata
whenTS_METADATA_COLUMN.INDEX_PRIORITY
is set out of bounds (1-10)
🔧 Modified
- more logging to Falcon Syncer for when data loads fail
- bump Snowflake Syncer to
snowflake-sqlalchemy >= 1.6.1
🐛 Bugfix
- fix for
falcon-sharding gather
not collecting the correct data from a private API - #145 | fix for
scriptability export
missing Connections - #156 | fix for JSON Syncer, date[time] not serializable
- fix for Snowflake Syncer for private key-pair support
- fix for
searchable deploy
properly customizing TML on all supportedDatabaseSyncer
dialects
🫀 CS Tools Internals
- compat for
api.middlewares.search
back to TS 9.5.0 - don't rollback
DatabaseSyncer
transactions on known errors (click.Abort
,click.Exit
) - vendor keyboard interactivity (eg. for tools like Archiver)
- fully support air-gapped offline installs with
cs_tools self download
This is part of the major 1.5.0 series of releases, read about it in Our Documentation.
Full Changelog: v1.5.8...v1.5.9
v1.5.8
v1.5.8 - Shrek Trail Mix, a mixed bag of bugs and guts and stuff
🛠️ Added
is_version_controlled
tosearchable
forTS_METADATA_OBJECT
andTS_DEPENDENT_OBJECT
to track objects which are marked under VCS- better user-facing logging for
scriptability export
whentml/export
fails - allow dynamic table construction Database Syncers on
extractor search
🐛 Bugfix
- ignore default data source on ThoughtSpot SW 9.5.x
- #144 | clean NUL bytes from being written to CSV Syncer
- fixes for
user-management sync
when caching existing user principals - check (only from the cli) and attempt to remedy system-level CS Tools installations
- fix for column case sensitivity in the
searchable deploy
SpotApp - fix for Falcon Syncer data types not compiling correctly from sqlalchemy custom types
- fix for Falcon Syncer not appropriately sending data to ThoughtSpot
- fix for Falcon
load_strategy
, which should reflect the correctempty_target = true|false
- fix for
searchable metadata
Database Syncerload_strategy
truncating on multipart file uploads
❎ Removed
- disallow
TS_BI_SERVER
extract forsearchable
for the Falcon Syncer
🫀 CS Tools Internals
- better Anacoda environment detection
- more descriptive error when the Syncer format is in an invalid state
- added caching on repeated
metadata/details
calls (objects are not expected to change greatly intra-process) - always save configs, even if they don't pass cluster check
- add a secure fileshare link when submitting bug reports
- fetch column schema details on the
thoughtspot.search
middleware - fetch bad records on
thoughtspot.tsload
middleware wheninit
orcommit
fails - fix for background analytics worker
This is part of the major 1.5.0 series of releases, read about it in Our Documentation.
Full Changelog: v1.5.7...v1.5.8
v1.5.7
v1.5.7 - Hotfixes
🛠️ Added
- add
--include-system-content
option #142 |scriptability export
no longer exports objects owned by tsadmin - allow
self download
to build dependencies against any of the Syncer dialects
🐛 Bugfix
- really fix for when
metadata/details
returns a corrupted object
🫀 CS Tools Internals
- fix for
self download
, offline install generator (broken due to dependency on rust-accelerated dependencies)
This is part of the major 1.5.0 series of releases, read about it in Our Documentation.
Full Changelog: v1.5.6...v1.5.7
v1.5.6
v1.5.6 - Even more Syncers!
🛠️ Added
- #127 | Postgres Syncer from @dhinesh-ts ( First Contributor! ✨ )
- BigQuery Syncer
🔧 Modified
- #137 | ignore system-owned content on
scriptability export
self update
should now index to the global/system python instead of the virtual env python
🐛 Bugfix
- fix for #136 | TMLFS should detect the proper root directory
- fix for when
metadata/details
returns a corrupted object - fix to proper data type for
TS_METADATA_COLUMN.SPOT_IQ_PREFERENCE
in TML of the Searchable SpotApp
🫀 CS Tools Internals
- partial fix for #135 |
CSToolsError
takes no keyword arguments - finalize some CI error handling
This is part of the major 1.5.0 series of releases, read about it in Our Documentation.
Full Changelog: v1.5.5...v1.5.6
v1.5.5
v1.5.5 - Just squashing some bugs..
🛠️ Added
- allow the CS Tools bootstrapper to hop through a proxy (
_bootstrapper.py --proxy
)
🔧 Modified
- enforce only Basic Authentication for Falcon Syncer and remote tsload operations
🐛 Bugfix
- fix for #127 | sqla-redshift has incorrect version
- fix for case-sensitivity of
orgId
in thesearchable bi-server
data pull - fix for when Orgs is not enabled on Software deployments in the
searchable bi-server
data pull - fix for
searchable deploy
not reporting errors properly - fix for display configs in
git config
📜 Documentation
- clarify optionality and default parameters on Snowflake Syncer
🫀 CS Tools Internals
- removed some dead code
This is part of the major 1.5.0 series of releases, read about it in Our Documentation.
**1.5.4 yanked 😬
Full Changelog: v1.5.3...v1.5.5
v1.5.3
v1.5.3 - New Syncers!
🛠️ Added
- #121 | Databricks Syncer from @SameerJain901 ( First Contributor! ✨ )
- #102 | Redshift Syncer from @saurabhsingh1608 ( First Contributor! ✨ )
- Mock Syncer, simply use
--syncer mock://
to print all DDL operations on a command - #84 | Add Support for defining a proxy in config files (format:
http://[<username>:<password>]@<host>:<port>
)
🔧 Modified
- CSV , JSON , Parquet Syncers will now automatically create their
directory
and warn if it does not yet exist - Snowflake Syncer will now treat empty values as
NULL
- hid more secrets from log files
- config creation/modification will now prompt for your password if you specify
--password prompt
(compat back to 1.4.x series) - you may now override
--temp-dir
in commands (compat back to 1.4.x series)
🐛 Bugfix
- fix for deleted auto-generated synonyms polluting
TS_COLUMN_SYNONYM
- fix for syncer errors showing incorrect documentation links
- fix for certain environments not supporting
site
customization - fix for
searchable deploy
improperly customizing TML other than Snowflake connections - fix for #124 | compression errors on secrets
- fix for
user-management rename | sync
commands not recognizing the underlying data model - fix for some commands missing their
--help
option - fix for
bulk-sharing cls-ui
not recognizing the provided port number - hotfix: some new caching behavior misses
❎ Removed
- personalization settings used to demo Worksheet Column Utilization during beta
- #123 | removed mention of
cs_tools self pip
internal command from @paulkaefer ( First Contributor! ✨ )
🫀 CS Tools Internals
- Github Actions / CI should trigger less often, more meaningfully
- apparently
sys.base_prefix
is a lie :) .. switch tosys.executable
for CS Tools virtual env creation - switch Windows install documentation from
Invoke-WebRequest
toInvoke-RestMethod
for more reliability - enforce Powershell usage on Windows install documentation
- warn users when bootstrapping from an Anaconda environment
This is part of the major 1.5.0 series of releases, read about it in Our Documentation.
**1.5.2 yanked 😬
Full Changelog: v1.5.1...v1.5.3
v1.5.1
v1.5.1 - Primarily Bugfixes
🐛 Bugfix
- fix for SpotApp handling on Falcon
- fix for processing unhandled arguments in scriptability
❎ Removed
- interactive mode for configuration file definitions
🫀 CS Tools Internals
- syncing the underlying dependencies has been limited to
thoughtspot_tml
searchable.gather
should have better backwards compatability with the renamesearchable.metadata
- fix for some internal datastructures references
This is part of the major 1.5.0 series of releases, read about it in Our Documentation.
Full Changelog: v1.5.0...v1.5.1