|
1 | | - |
2 | | -## Unreleased |
3 | | - |
4 | | -* Bumped the urllib3 floor to 2.6.3 to pick up the fix for CVE-2026-21441 |
5 | | - (GHSA-38jv-5279-wg99, 8.9 High): urllib3's streaming decompression |
6 | | - safeguards were bypassed when HTTP redirects were followed. TSC's manual |
7 | | - redirect walker (#1848) disables urllib3's built-in follower on new code |
8 | | - paths, but downstream callers using urllib3 directly (and TSC endpoints |
9 | | - that predate #1848) still relied on the built-in path, so the floor bump |
10 | | - closes the gap for all callers. The existing `<3` upper bound is unchanged. |
11 | | -* Added `Projects.get_by_path(path)` to look up a project by its slash-separated |
12 | | - hierarchy path (e.g. `"Marketing/Q1 Reports"`). The walk is performed level by |
13 | | - level using the REST API name filter, so a path with *n* components issues *n* |
14 | | - requests. Returns the matching `ProjectItem` or `None` if no project is found. |
15 | | -* Preserve HTTP method and body across 3xx redirects. Previously `requests` |
16 | | - followed 301/302/303 by converting POST to GET and dropping the body, so |
17 | | - endpoints like `users.add`, `workbooks.publish`, and any write hitting a |
18 | | - server behind a redirect would 405. TSC now disables `requests`'s |
19 | | - auto-redirect and walks the chain manually, up to `session.max_redirects` |
20 | | - hops (default 30). Refuses HTTPS -> HTTP scheme downgrades and raises |
21 | | - `RedirectError` with a clear message on missing `Location` headers or hop |
22 | | - overflow. Fixes #1127 and #1828. |
23 | | -* `UserItem.CSVImport.create_user_from_line` no longer |
24 | | - lowercases the entire CSV line before parsing. Previously the whole line, |
25 | | - including the username, display name, fullname, and email fields, was |
26 | | - lowercased destructively (e.g. `JSmith` became `jsmith`). Case is now |
27 | | - preserved for those fields; only the comparison-relevant fields (license, |
28 | | - admin_level, publisher, auth_setting) are normalized internally for |
29 | | - validation. Callers relying on the previous lowercased output -- e.g. dict |
30 | | - lookups keyed on `user.name`, or assertions against lowercased values -- |
31 | | - need to update. This unblocks CSV imports for LDAP and other case-sensitive |
32 | | - auth backends where mixed-case usernames must be preserved. |
33 | | -* `UserItem.CSVImport._validate_attribute_value` and the too-many-columns |
34 | | - branch of `_validate_import_line_or_throw` now raise `ValueError` instead |
35 | | - of `AttributeError` for invalid CSV input. `AttributeError` was the wrong |
36 | | - exception type for input validation and inconsistent with |
37 | | - `create_user_from_line`. `validate_file_for_import` catches `Exception` so |
38 | | - it is unaffected; direct callers who caught `AttributeError` specifically |
39 | | - need to widen their handler. |
40 | | -* Added `JobItem.status_notes` for the structured `<statusNotes><statusNote |
41 | | - type=".." value=".." text=".."/></statusNotes>` block documented on the Query |
42 | | - Job REST endpoint. Populated for UserImport and other multi-row jobs where |
43 | | - individual rows have distinct outcomes; each entry is a dict with keys |
44 | | - `type` / `value` / `text`. The existing `notes: list[str]` attribute is |
45 | | - unchanged (it parses the separate legacy `<notes>` element still emitted by |
46 | | - some job types). Fixes #1850. |
47 | | - |
48 | | -## 0.18.0 (6 April 2022) |
49 | | -* Switched to using defused_xml for xml attack protection |
50 | | -* added linting and type hints |
51 | | -* improve experience with self-signed certificates/invalid ssl |
52 | | -* updated samples |
53 | | -* new item types: metrics, revisions for datasources and workbooks |
54 | | -* features: support adding flows to schedules, exporting workbooks to powerpoint |
55 | | -* fixes: delete extracts |
56 | | - |
57 | | -## 0.17.0 (20 October 2021) |
58 | | -* Added support for accepting parameters for post request of the metadata api (#850) |
59 | | -* Fixed jobs.get_by_id(job_id) example & reference docs (#867, #868) |
60 | | -* Fixed handling for workbooks in personal spaces which do not have projectID or Name (#875) |
61 | | -* Updated links to Data Source Methods page in REST API docs (#879) |
62 | | -* Unified arguments of sample scripts (#889) |
63 | | -* Updated docs for - links to Datasource API (#879) , sample scripts (#892) & metadata query (#896) |
64 | | -* Added support for scheduling DataUpdate Jobs (#891) |
65 | | -* Exposed the fileuploads API endpoint (#894) |
66 | | -* Added a new sample & documentation for metadata API (#895, #896) |
67 | | -* Added support to the package for getting flow run status, as well as the ability to cancel flow runs. (#884) |
68 | | -* Added jobs.wait_for_job method (#903) |
69 | | -* Added description support for datasources item (#912) |
70 | | -* Dropped support for Python 3.5 (#911) |
71 | | - |
72 | | -## 0.16.0 (15 July 2021) |
73 | | -* Documentation updates (#800, #818, #839, #842) |
74 | | -* Fixed data alert repr in subscription item (#821) |
75 | | -* Added support for Data Quality Warning (#836) |
76 | | -* Added support for renaming datasources (#843) |
77 | | -* Improved Datasource tests (#843) |
78 | | -* Updated catalog obfuscation field (#844) |
79 | | -* Fixed revision limit field in site_item.py file (#847) |
80 | | -* Added the Missing content permission field- LockedToProjectWithoutNested (#856) |
81 | | - |
82 | | -## 0.15.0 (16 Feb 2021) |
83 | | -* Added support for python version 3.9 (#744) |
84 | | -* Added support for 'Get View by ID' (#750) |
85 | | -* Added docs and test data to MANIFEST.in file (#780) |
86 | | -* Added owner_id property to ProjectItem (#784) |
87 | | -* Added support for skipping connection check while publishing workbook (#791) |
88 | | -* Added support for 'Update Subscription' (#794) |
89 | | -* Added support for 'Get Groups for a User' (#799) |
90 | | -* Improved debug logging by including put/post request contents (#743) |
91 | | -* Improved local and active-directory group creation (#770) |
92 | | -* Improved 'Update Group' to match server requests/responses (#772) |
93 | | -* Improved SiteItem with new properties and functions (#777) |
94 | | -* Improved SubscriptionItem with new properties (#794) |
95 | | -* Improved the 'type' property of TaskItem to convert server response to enum (#796) |
96 | | -* Improved repository to use Github Actions for running tests/linter (#798) |
97 | | -* Fixed data_acceleration field causing error in workbook update payload (#741) |
98 | | - |
99 | | -## 0.14.1 (9 Dec 2020) |
100 | | -* Fixed filter query issue for server version below 2020.1 (#745) |
101 | | -* Fixed large workbook/datasource publish issue (#757) |
102 | | - |
103 | | -## 0.14.0 (6 Nov 2020) |
104 | | -* Added django-style filtering and sorting (#615) |
105 | | -* Added encoding tag-name before deleting (#687) |
106 | | -* Added 'Execute' Capability to permissions (#700) |
107 | | -* Added support for publishing workbook using file objects (#704) |
108 | | -* Added new fields to datasource_item (#705) |
109 | | -* Added all fields for users.get to get email and fullname (#713) |
110 | | -* Added support publishing datasource using file objects (#714) |
111 | | -* Improved request options by removing manual query param generation (#686) |
112 | | -* Improved publish_workbook sample to take in site (#694) |
113 | | -* Improved schedules.update() by removing constraint that required an interval (#711) |
114 | | -* Fixed site update/create not checking booleans properly (#723) |
115 | | - |
116 | | -## 0.13 (1 Sept 2020) |
117 | | -* Added notes field to JobItem (#571) |
118 | | -* Added webpage_url field to WorkbookItem (#661) |
119 | | -* Added support for switching between sites (#655) |
120 | | -* Added support for querying favorites for a user (#656) |
121 | | -* Added support for Python 3.8 (#659) |
122 | | -* Added support for Data Alerts (#667) |
123 | | -* Added support for basic Extract operations - Create, Delete, en/re/decrypt for site (#672) |
124 | | -* Added support for creating and querying Active Directory groups (#674) |
125 | | -* Added support for asynchronously updating a group (#674) |
126 | | -* Improved handling of invalid dates (#529) |
127 | | -* Improved consistency of update_permission endpoints (#668) |
128 | | -* Documentation updates (#658, #669, #670, #673, #683) |
129 | | - |
130 | | -## 0.12.1 (22 July 2020) |
131 | | - |
132 | | -* Fixed login.py sample to properly handle sitename (#652) |
133 | | - |
134 | | -## 0.12 (10 July 2020) |
135 | | - |
136 | | -* Added hidden_views parameter to workbook publish method (#614) |
137 | | -* Added simple paging endpoint for GraphQL/Metadata API (#623) |
138 | | -* Added endpoints to Metadata API for retrieving backfill/eventing status (#626) |
139 | | -* Added maxage parameter to CSV and PDF export options (#635) |
140 | | -* Added support for querying, adding, and deleting favorites (#638) |
141 | | -* Added a sample for publishing datasources (#644) |
142 | | - |
143 | | -## 0.11 (1 May 2020) |
144 | | - |
145 | | -* Added more fields to Data Acceleration config (#588) |
146 | | -* Added OpenID as an auth setting enum (#610) |
147 | | -* Added support for Data Acceleration Reports (#596) |
148 | | -* Added support for view permissions (#526) |
149 | | -* Materialized views changed to Data Acceleration (#576) |
150 | | -* Improved consistency across workbook/datasource endpoints (#570) |
151 | | -* Fixed print error in update_connection.py (#602) |
152 | | -* Fixed log error in add user endpoint (#608) |
153 | | - |
154 | | -## 0.10 (21 Feb 2020) |
155 | | - |
156 | | -* Added a way to handle non-xml errors (#515) |
157 | | -* Added Webhooks endpoints for create, delete, get, list, and test (#523, #532) |
158 | | -* Added delete method in the tasks endpoint (#524) |
159 | | -* Added description attribute to WorkbookItem (#533) |
160 | | -* Added support for materializeViews as schedule and task types (#542) |
161 | | -* Added warnings to schedules (#550, #551) |
162 | | -* Added ability to update parent_id attribute of projects (#560, #567) |
163 | | -* Improved filename behavior for download endpoints (#517) |
164 | | -* Improved logging (#508) |
165 | | -* Fixed runtime error in permissions endpoint (#513) |
166 | | -* Fixed move_workbook_sites sample (#503) |
167 | | -* Fixed project permissions endpoints (#527) |
168 | | -* Fixed login.py sample to accept site name (#549) |
169 | | - |
170 | | -## 0.9 (4 Oct 2019) |
171 | | - |
172 | | -* Added Metadata API endpoints (#431) |
173 | | -* Added site settings for Data Catalog and Prep Conductor (#434) |
174 | | -* Added new fields to ViewItem (#331) |
175 | | -* Added support and samples for Tableau Server Personal Access Tokens (#465) |
176 | | -* Added Permissions endpoints (#429) |
177 | | -* Added tags to ViewItem (#470) |
178 | | -* Added Databases and Tables endpoints (#445) |
179 | | -* Added Flow endpoints (#494) |
180 | | -* Added ability to filter projects by topLevelProject attribute (#497) |
181 | | -* Improved server_info endpoint error handling (#439) |
182 | | -* Improved Pager to take in keyword arguments (#451) |
183 | | -* Fixed UUID serialization error while publishing workbook (#449) |
184 | | -* Fixed materalized views in request body for update_workbook (#461) |
185 | | - |
186 | | -## 0.8.1 (17 July 2019) |
187 | | - |
188 | | -* Fixed update_workbook endpoint (#454) |
189 | | - |
190 | | -## 0.8 (8 Apr 2019) |
191 | | - |
192 | | -* Added Max Age to download view image request (#360) |
193 | | -* Added Materialized Views (#378, #394, #396) |
194 | | -* Added PDF export of Workbook (#376) |
195 | | -* Added Support User Role (#392) |
196 | | -* Added Flows (#403) |
197 | | -* Updated Pager to handle un-paged results (#322) |
198 | | -* Fixed checked upload (#309, #319, #326, #329) |
199 | | -* Fixed embed_password field on publish (#416) |
200 | | - |
201 | | -## 0.7 (2 Jul 2018) |
202 | | - |
203 | | -* Added cancel job (#299) |
204 | | -* Added Get background jobs (#298) |
205 | | -* Added Multi-credential support (#276) |
206 | | -* Added Update Groups (#279) |
207 | | -* Adding project_id to view (#285) |
208 | | -* Added ability to rename workbook using `update workbook` (#284) |
209 | | -* Added Sample for exporting full pdf using pdf page combining (#267) |
210 | | -* Added Sample for exporting data, images, and single view pdfs (#263) |
211 | | -* Added view filters to the populate request options (#260) |
212 | | -* Add Async publishing for workbook and datasource endpoints (#311) |
213 | | -* Fixed ability to update datasource server connection port (#283) |
214 | | -* Fixed next project handling (#267) |
215 | | -* Cleanup debugging output to strip out non-xml response |
216 | | -* Improved refresh sample for readability (#288) |
217 | | - |
218 | | -## 0.6.1 (26 Jan 2018) |
219 | | - |
220 | | -* Fixed #257 where refreshing extracts does not work due to a missing "self" |
221 | | - |
222 | | -## 0.6 (17 Jan 2018) |
223 | | - |
224 | | -* Added support for add a datasource/workbook refresh to a schedule (#244) |
225 | | -* Added support for updating datasource connections (#253) |
226 | | -* Added Refresh Now for datasource and workbooks (#250) |
227 | | -* Fixed Typos in the docs (#251) |
228 | | - |
229 | | -## 0.5.1 (21 Sept 2017) |
230 | | - |
231 | | -* Fix a critical issue caused by #224 that was the result of lack of test coverage (#226) |
232 | | - |
233 | | -## 0.5 (20 Sept 2017) |
234 | | - |
235 | | -* Added revision settings to update site (#187) |
236 | | -* Added support for certified data sources (#189) |
237 | | -* Added support for include/exclude extract (#203) |
238 | | -* Added auto-paging for group users (#204) |
239 | | -* Added ability to add workbooks to a schedule (#206) |
240 | | -* Added the ability to create nested projects (#208) |
241 | | -* Fixed sort order when using pager (#192) |
242 | | -* Docs Updates and new samples (#196, #199, #200, #201) |
243 | | - |
244 | | -## 0.4.1 (18 April 2017) |
245 | | - |
246 | | -* Fix #177 to remove left in debugging print |
247 | | - |
248 | | -## 0.4 (18 April 2017) |
249 | | - |
250 | | -Yikes, it's been too long. |
251 | | - |
252 | | -* Added API version annotations to endpoints (#125) |
253 | | -* Added New High Res Image Api Endpoint |
254 | | -* Added Tags to Datasources, Views |
255 | | -* Added Ability to run an Extract Refresh task (#159) |
256 | | -* Auto versioning enabled (#169) |
257 | | -* Download twbx/tdsx without the extract payload (#143, #144) |
258 | | -* New Sample to initialize a server (#95) |
259 | | -* Added ability to update connection information (#149) |
260 | | -* Added Ability to get a site by name (#153) |
261 | | -* Dates are now DateTime Objects (#102) |
262 | | -* Bugfixes (#162, #166) |
263 | | - |
264 | | -## 0.3 (11 January 2017) |
265 | | - |
266 | | -* Return DateTime objects instead of strings (#102) |
267 | | -* UserItem now is compatible with Pager (#107, #109) |
268 | | -* Deprecated site in favor of site_id (#97) |
269 | | -* Improved handling of large downloads (#105, #111) |
270 | | -* Added support for oAuth when publishing (#117) |
271 | | -* Added Testing against Py36 (#122, #123) |
272 | | -* Added Version Checking to use highest supported REST api version (#100) |
273 | | -* Added Infrastructure for throwing error if trying to do something that is not supported by REST api version (#124) |
274 | | -* Various Code Cleanup |
275 | | -* Added Documentation (#98) |
276 | | -* Improved Test Infrastructure (#91) |
277 | | - |
278 | | -## 0.2 (02 November 2016) |
279 | | - |
280 | | -* Added Initial Schedules Support (#48) |
281 | | -* Added Initial Create Group endpoint (#69) |
282 | | -* Added Connection Credentials for publishing datasources/workbooks (#80) |
283 | | -* Added Pager object for handling pagination results and sample (#72, #90) |
284 | | -* Added ServerInfo endpoint (#84) |
285 | | -* Deprecated `site` as a parameter to `TableauAuth` in favor of `site_id` |
286 | | -* Code Cleanup |
287 | | -* Bugfixes |
288 | | - |
289 | | -## 0.1 (12 September 2016) |
290 | | - |
291 | | -* Initial Release to the world |
| 1 | +For the changes that are part of each release, refer to the [Releases](https://github.com/tableau/server-client-python/releases) page on GitHub. |
0 commit comments