From aab51a7aaa74d9b0c8c7dec6a9433670580e5390 Mon Sep 17 00:00:00 2001 From: danlu1 Date: Mon, 12 Jan 2026 14:46:41 -0800 Subject: [PATCH 1/8] update version v4.11.0 --- synapseclient/synapsePythonClient | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/synapseclient/synapsePythonClient b/synapseclient/synapsePythonClient index 562038cce..a28e64ee8 100644 --- a/synapseclient/synapsePythonClient +++ b/synapseclient/synapsePythonClient @@ -1,6 +1,6 @@ { "client": "synapsePythonClient", - "latestVersion": "4.10.0", + "latestVersion": "4.11.0", "blacklist": [ "0.0.0", "0.4.1", From 66c59c8b541ccc0d97fb2ff9c21d24966099fab9 Mon Sep 17 00:00:00 2001 From: danlu1 Date: Mon, 12 Jan 2026 19:17:47 -0800 Subject: [PATCH 2/8] add release note --- docs/news.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/docs/news.md b/docs/news.md index 2d4f4b427..2acbf6266 100644 --- a/docs/news.md +++ b/docs/news.md @@ -9,6 +9,65 @@ detailing some of the changes. the 4.x.x versions hidden behind optional feature flags or different import paths. Any breaking changes will not be included until v5.0. +## 4.11.0 + + +## Highlights + +- Refactored Synapse Python Client to use object-oriented principles +- Added support for new Synapse entities like RecordSet, Grid, and CurationTask +- Implemented JSON Schema creation and validation workflows +- Deprecated legacy functionality and migrated to new asynchronous APIs + +## Features + +- [SYNPY-1653] Created RecordSet, Grid, and CurationTask classes by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1246 +- [SYNPY-1625] Added JSON schema organization management functions by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1225 +- [SYNPY-1623] Factory function for get and creation of link entity by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1243 +- [SYNPY-1589] Implement "Evaluation" OOP model by @jaymedina in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1244 +- [SYNPY-1590] Implement Submission(+Status, +Bundle) OOP model by @jaymedina in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1250 +- [SYNPY-1613] Implement "Wiki2" OOP model by @danlu1 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1206 + +## Bug Fixes + +- [SYNPY-1198] Handle S3 upload errors by retrying without ACL for IBM buckets by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1239 +- [SYNPY-1709] Correct boolean type conversion by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1284 +- [GEN-1667] Delete Table Rows Using Filtered DataFrame by @danlu1 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1254 +- [SYNPY-1667] Update Error Messaging when Attempting to Delete Rows that do not exist from Tables by @SageGJ in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1257 + +## Tech Debt + +- [SYNPY-1426] Deprecate user and team services in Synapse client by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1212 +- [SYNPY-1426] Deprecate activity services in Synapse client by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1215 +- [SYNPY-1426] Deprecate `create_snapshot_version` in client by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1217 +- [SYNPY-1426] Deprecate column method calls by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1218 +- [SYNPY-1426] Deprecate move method by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1219 +- [SYNPY-1426] Deprecate annotations by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1221 +- [SYNPY-1426] Deprecate getChildren method and extend sync_from_synapse method by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1222 +- [SYNPY-1426] Deprecate acl and permission management methods by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1223 +- [SYNPY-1426] Noting all final deprecations and the tickets they will be deprecated with by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1226 +- [SYNPY-1632] Deprecate tables from the Synapse class and table.py module by @linglp in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1233 + +## Other + +- [SYNPY-1637] Add 'Contact Us' section with support link in navigation by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1230 +- [SYNPY-1642] Make sure paramiko is < 4.0.0 by @linglp in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1231 +- [SYNPY-1588] Enable `Agent` Integration tests by @linglp in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1229 +- [SYNPY-1633] Add membership_status to Team model and Deprecate Old Method by @linglp in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1235 +- [SYNPY-1592] Dedicated test accounts for each set of integration test runs by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1240 +- [SYNPY-1634, SYNPY-1377] Use new OOP models in tutorials by @thomasyu888 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1241 +- [SYNPY-1634] Add walk method to containers by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1242 +- [SYNPY-1351] Update tutorial script references in Wiki documentation by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1302 +- [SYNPY-1743] Remove test cases for rest_get_paginated_async by @danlu1 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1303 +- [SYNPY-1590] Add `docker_commit_services` module to codebase by @jaymedina in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1304 +- [SYNPY-1351] Adding in test isolation for wiki tests by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1306 +- [SYNPY-1613] Allow download from presigned url by @danlu1 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1249 +- [SYNPY-1737] Switch urllib3 to version 2 by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1299 +- [SYNPY-1673] Update jsonschema tutorial by @thomasyu888 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1260 +- [SYNPY-1673] Add JSON Schema documentation, deprecate old classes by @andrewelamb in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1262 +- [SYNPY-1672] Extract JSON Schema creation code from schematic by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1266 +- [SYNPY-1668] Creating curator extensions directory by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePyth + ## 4.10.0 ## Highlights From 1f9c1f2cc34270a7c9721fbc056e31f5f8c5a3ef Mon Sep 17 00:00:00 2001 From: danlu1 Date: Tue, 13 Jan 2026 12:10:51 -0800 Subject: [PATCH 3/8] update release notes --- docs/news.md | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/docs/news.md b/docs/news.md index 2acbf6266..c1a93f52b 100644 --- a/docs/news.md +++ b/docs/news.md @@ -21,47 +21,27 @@ breaking changes will not be included until v5.0. ## Features -- [SYNPY-1653] Created RecordSet, Grid, and CurationTask classes by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1246 -- [SYNPY-1625] Added JSON schema organization management functions by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1225 -- [SYNPY-1623] Factory function for get and creation of link entity by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1243 - [SYNPY-1589] Implement "Evaluation" OOP model by @jaymedina in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1244 - [SYNPY-1590] Implement Submission(+Status, +Bundle) OOP model by @jaymedina in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1250 -- [SYNPY-1613] Implement "Wiki2" OOP model by @danlu1 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1206 +- [SYNPY-1351] Implement "Wiki2" OOP model by @danlu1 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1206 ## Bug Fixes -- [SYNPY-1198] Handle S3 upload errors by retrying without ACL for IBM buckets by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1239 - [SYNPY-1709] Correct boolean type conversion by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1284 -- [GEN-1667] Delete Table Rows Using Filtered DataFrame by @danlu1 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1254 - [SYNPY-1667] Update Error Messaging when Attempting to Delete Rows that do not exist from Tables by @SageGJ in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1257 ## Tech Debt -- [SYNPY-1426] Deprecate user and team services in Synapse client by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1212 -- [SYNPY-1426] Deprecate activity services in Synapse client by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1215 -- [SYNPY-1426] Deprecate `create_snapshot_version` in client by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1217 -- [SYNPY-1426] Deprecate column method calls by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1218 -- [SYNPY-1426] Deprecate move method by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1219 -- [SYNPY-1426] Deprecate annotations by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1221 - [SYNPY-1426] Deprecate getChildren method and extend sync_from_synapse method by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1222 - [SYNPY-1426] Deprecate acl and permission management methods by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1223 - [SYNPY-1426] Noting all final deprecations and the tickets they will be deprecated with by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1226 -- [SYNPY-1632] Deprecate tables from the Synapse class and table.py module by @linglp in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1233 ## Other -- [SYNPY-1637] Add 'Contact Us' section with support link in navigation by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1230 -- [SYNPY-1642] Make sure paramiko is < 4.0.0 by @linglp in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1231 -- [SYNPY-1588] Enable `Agent` Integration tests by @linglp in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1229 - [SYNPY-1633] Add membership_status to Team model and Deprecate Old Method by @linglp in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1235 -- [SYNPY-1592] Dedicated test accounts for each set of integration test runs by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1240 -- [SYNPY-1634, SYNPY-1377] Use new OOP models in tutorials by @thomasyu888 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1241 -- [SYNPY-1634] Add walk method to containers by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1242 - [SYNPY-1351] Update tutorial script references in Wiki documentation by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1302 -- [SYNPY-1743] Remove test cases for rest_get_paginated_async by @danlu1 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1303 - [SYNPY-1590] Add `docker_commit_services` module to codebase by @jaymedina in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1304 - [SYNPY-1351] Adding in test isolation for wiki tests by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1306 -- [SYNPY-1613] Allow download from presigned url by @danlu1 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1249 - [SYNPY-1737] Switch urllib3 to version 2 by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1299 - [SYNPY-1673] Update jsonschema tutorial by @thomasyu888 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1260 - [SYNPY-1673] Add JSON Schema documentation, deprecate old classes by @andrewelamb in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1262 From 8011fdff46fa6b6e29dd3dc0b59bf6555109a098 Mon Sep 17 00:00:00 2001 From: danlu1 Date: Tue, 13 Jan 2026 12:37:09 -0800 Subject: [PATCH 4/8] update release notes --- docs/news.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/news.md b/docs/news.md index c1a93f52b..3b55972dc 100644 --- a/docs/news.md +++ b/docs/news.md @@ -15,7 +15,7 @@ breaking changes will not be included until v5.0. ## Highlights - Refactored Synapse Python Client to use object-oriented principles -- Added support for new Synapse entities like RecordSet, Grid, and CurationTask +- Added guide for setting up metadata curation workflows in Synapse with Curator extension. - Implemented JSON Schema creation and validation workflows - Deprecated legacy functionality and migrated to new asynchronous APIs @@ -46,7 +46,7 @@ breaking changes will not be included until v5.0. - [SYNPY-1673] Update jsonschema tutorial by @thomasyu888 in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1260 - [SYNPY-1673] Add JSON Schema documentation, deprecate old classes by @andrewelamb in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1262 - [SYNPY-1672] Extract JSON Schema creation code from schematic by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1266 -- [SYNPY-1668] Creating curator extensions directory by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePyth +- [SYNPY-1668] Creating curator extensions directory by @BryanFauble in https://github.com/Sage-Bionetworks/synapsePythonClient/pull/1263 ## 4.10.0 From eb62d4dd0bffb536f676ecd46a047450c6ee69c0 Mon Sep 17 00:00:00 2001 From: danlu1 Date: Tue, 13 Jan 2026 12:45:30 -0800 Subject: [PATCH 5/8] update release notes --- docs/news.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/news.md b/docs/news.md index 3b55972dc..7ec2c5697 100644 --- a/docs/news.md +++ b/docs/news.md @@ -15,7 +15,7 @@ breaking changes will not be included until v5.0. ## Highlights - Refactored Synapse Python Client to use object-oriented principles -- Added guide for setting up metadata curation workflows in Synapse with Curator extension. +- Added guide for [setting up metadata curation workflows](https://python-docs.synapse.org/en/stable/guides/extensions/curator/metadata_curation/) in Synapse with Curator extension - Implemented JSON Schema creation and validation workflows - Deprecated legacy functionality and migrated to new asynchronous APIs From 99a52acae1c1260d40407f92ff62a8fc8ef2e8d9 Mon Sep 17 00:00:00 2001 From: danlu1 Date: Tue, 13 Jan 2026 12:49:00 -0800 Subject: [PATCH 6/8] skip integration test for release --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3b8e9279b..03a2e2528 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -141,7 +141,7 @@ jobs: shell: bash # keep versions consistent with the first and last from the strategy matrix - if: ${{ (contains(fromJSON('["3.10"]'), matrix.python) || contains(fromJSON('["3.14"]'), matrix.python)) && steps.secret-check.outputs.secrets_available == 'true'}} + if: ${{ (contains(fromJSON('["3.10"]'), matrix.python) || contains(fromJSON('["3.14"]'), matrix.python)) && steps.secret-check.outputs.secrets_available == 'true' && github.event_name != 'release'}} run: | # Set SYNAPSE_PROFILE based on OS and Python version if [ "${{ startsWith(matrix.os, 'ubuntu') }}" == "true" ]; then From 740be5b460898f5d9d4d113e94528734f60b98ac Mon Sep 17 00:00:00 2001 From: danlu1 Date: Tue, 13 Jan 2026 13:11:29 -0800 Subject: [PATCH 7/8] add quote to ensure python version being parsed correctly --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 03a2e2528..3e56450a7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -351,7 +351,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: 3.10 + python-version: '3.10' - name: set-release-env shell: bash From 95328270cbada0140ebad5129dfea8a238ee5d51 Mon Sep 17 00:00:00 2001 From: danlu1 Date: Tue, 13 Jan 2026 15:05:22 -0800 Subject: [PATCH 8/8] update release notes --- docs/news.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/news.md b/docs/news.md index 7ec2c5697..2ad7f37f1 100644 --- a/docs/news.md +++ b/docs/news.md @@ -14,8 +14,9 @@ breaking changes will not be included until v5.0. ## Highlights -- Refactored Synapse Python Client to use object-oriented principles -- Added guide for [setting up metadata curation workflows](https://python-docs.synapse.org/en/stable/guides/extensions/curator/metadata_curation/) in Synapse with Curator extension +- Refactored Synapse Python Client to use object-oriented principles for Evaluation, Submission and Wiki +- Introduced the `synapseclient.extensions` module which contains scripts that extend the core functionality of the Synapse Python Client + - [Synapse Curator](https://python-docs.synapse.org/en/stable/reference/extensions/curator/#synapseclient.extensions.curator ) and its [guide](https://python-docs.synapse.org/en/stable/guides/extensions/curator/metadata_curation/) have been added to help with metadata curation tasks in Synapse - Implemented JSON Schema creation and validation workflows - Deprecated legacy functionality and migrated to new asynchronous APIs