Skip to content

Commit 9ba31e6

Browse files
committed
Create news release for 4.3.0
1 parent 7b98106 commit 9ba31e6

File tree

5 files changed

+75
-11
lines changed

5 files changed

+75
-11
lines changed

docs/index.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
[![Supported Python Versions](https://img.shields.io/pypi/pyversions/synapseclient.svg)](https://pypi.org/project/synapseclient/)
44

5+
### **Notice for the upcoming v5.0 release:**
6+
7+
- The upcoming v5.0 release will include a number of breaking changes. Take a look at
8+
this [pubpub](https://sagebionetworks.pubpub.org/pub/828a3x4k/release/1) article
9+
detailing some of the changes.
10+
- A release date has not been set. A number of these changes will be available within
11+
the 4.x.x versions hidden behind optional feature flags or different import paths. Any
12+
breaking changes will not be included until v5.0.
13+
514
The `synapseclient` package provides an interface to [Synapse](http://www.synapse.org), a collaborative, open-source research platform that allows teams to share data, track analyses, and collaborate, providing support for:
615

716
- integrated presentation of data, code and text

docs/news.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# Release Notes
22

3+
### **Notice for the upcoming v5.0 release:**
4+
5+
- The upcoming v5.0 release will include a number of breaking changes. Take a look at
6+
this [pubpub](https://sagebionetworks.pubpub.org/pub/828a3x4k/release/1) article
7+
detailing some of the changes.
8+
- A release date has not been set. A number of these changes will be available within
9+
the 4.x.x versions hidden behind optional feature flags or different import paths. Any
10+
breaking changes will not be included until v5.0.
11+
12+
## 4.3.0 (2024-05-30)
13+
### Highlights
14+
- **New tutorial:**
15+
- [Uploading data in bulk](../tutorials/python/upload_data_in_bulk)
16+
is our newest tutorial. It covers the basics of working with manifest files to manage synapse projects.
17+
- **Updates to syncToSynapse:**
18+
- The `syncToSynapse` function has been refactored to improve performance and
19+
reliability.
20+
- **Minor behavior change:** File entities will no longer have it's version
21+
incremented during no-op changes. Only when file content, or fields on the file
22+
has been updated will a version number be incremented.
23+
- Optional booleans `merge_existing_annotations` and
24+
`associate_activity_to_new_version` have been added. Both are used to give more
25+
fine tuned control when working with this interface.
26+
- Check out the changes in the [reference docs](../reference/synapse_utils/#synapseutils.sync.syncToSynapse).
27+
28+
### Bug Fixes
29+
- \[[SYNPY-1456](https://sagebionetworks.jira.com/browse/SYNPY-1456)\] - Flaky Integration tests due to duplicate entity names
30+
- \[[SYNPY-1466](https://sagebionetworks.jira.com/browse/SYNPY-1466)\] - user-agent not being set properly for synapse command line client
31+
- \[[SYNPY-1474](https://sagebionetworks.jira.com/browse/SYNPY-1474)\] - Order of credentials being used does not match docstring
32+
33+
### Stories
34+
- \[[SYNPY-1356](https://sagebionetworks.jira.com/browse/SYNPY-1356)\] - Refactor `syncToSynapse`
35+
- \[[SYNPY-1384](https://sagebionetworks.jira.com/browse/SYNPY-1384)\] - Uploading data in bulk
36+
- \[[SYNPY-1427](https://sagebionetworks.jira.com/browse/SYNPY-1427)\] - Upgrade Pytest to v7 or later
37+
- \[[SYNPY-1470](https://sagebionetworks.jira.com/browse/SYNPY-1470)\] - Make sure that sonarcloud executes even when tests fail
38+
339
## 4.2.0 (2024-04-17)
440

541
### Highlights

docs/scripts/print_release_issues.py

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
import argparse
1515
import collections
1616
import json
17-
import urllib.request
17+
import base64
1818
import sys
19+
import httpx
1920

2021
JQL_ISSUE_URL = "https://sagebionetworks.jira.com/rest/api/2/search?jql=project={project}%20AND%20fixVersion={version}%20ORDER%20BY%20created%20ASC&startAt={start_at}" # noqa
2122
ISSUE_URL_PREFIX = "https://sagebionetworks.jira.com/browse/{key}"
@@ -29,17 +30,35 @@
2930
def _get_issues(project, version):
3031
start_at = 0
3132
issues_by_type = {}
32-
33+
client = httpx.Client()
3334
while True:
34-
response = urllib.request.urlopen(
35-
JQL_ISSUE_URL.format(
36-
project=project,
37-
version=version,
38-
start_at=start_at,
39-
)
35+
url = JQL_ISSUE_URL.format(
36+
project=project,
37+
version=version,
38+
start_at=start_at,
4039
)
40+
# In order to use this script you need to create an API token
41+
# Follow the link below and create a token - DO NOT COMMIT YOUR TOKEN TO VCS
42+
# https://id.atlassian.com/manage-profile/security/api-tokens
43+
# Use the following format for the token
44+
# `username:token`, ie: `[email protected]:token`
45+
sample_string_bytes = "".encode("ascii")
46+
if not sample_string_bytes:
47+
raise RuntimeError(
48+
"As of May 2024 you must authenticate in order to query jira. See the comments in the script for more information."
49+
)
50+
51+
basic_auth = base64.b64encode(sample_string_bytes).decode("ASCII")
52+
53+
client.headers["Authorization"] = f"Basic {basic_auth}"
54+
response = client.get(url=url)
4155
response_json = json.loads(response.read())
4256

57+
if response.status_code != 200:
58+
raise RuntimeError(
59+
f"Failed to get issues from JIRA: {response.status_code} {response.text}"
60+
)
61+
4362
issues = response_json["issues"]
4463
if not issues:
4564
break

docs/tutorials/python/upload_data_in_bulk.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ point.
112112

113113

114114
## 5. Create an Activity/Provenance
115-
Let's create an [Activity/Provenance](../../../explanations/domain_models_of_synapse/#activityprovenance)
115+
Let's create an [Activity/Provenance](../../explanations/domain_models_of_synapse.md#activityprovenance)
116116
record for one of our files. In otherwords, we will record the steps taken to generate
117117
the file.
118118

@@ -152,4 +152,4 @@ navigated to the Files tab and selected the file that we added a Provenance reco
152152
- [syn.findEntityId][synapseclient.Synapse.findEntityId]
153153
- [synapseutils.generate_sync_manifest][]
154154
- [synapseutils.syncToSynapse][]
155-
- [Activity/Provenance](../../../explanations/domain_models_of_synapse/#activityprovenance)
155+
- [Activity/Provenance](../../explanations/domain_models_of_synapse.md#activityprovenance)

synapseclient/synapsePythonClient

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"client": "synapsePythonClient",
3-
"latestVersion": "4.2.0",
3+
"latestVersion": "4.3.0",
44
"blacklist": [
55
"0.0.0",
66
"0.4.1",

0 commit comments

Comments
 (0)