Skip to content

Commit f4654f7

Browse files
committed
Update version to 3.5.7 and fix ChangeRequestMicroClient to prevent URL mutation during API calls. Remove unused example files and scripts.
1 parent 26951d3 commit f4654f7

File tree

8 files changed

+26
-13
lines changed

8 files changed

+26
-13
lines changed

CHANGES.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ CHANGELOG
33

44
This file tracks the version history and changes made to the Split/Harness FME Python API Client library.
55

6+
3.5.7 (November 26, 2025)
7+
-------------------------
8+
Bug Fixes:
9+
- Fixed ChangeRequestMicroClient to keep it from mutating the _endpoint
10+
- This will make it so repeated api calls don't make the URL too long for HTTP requests
11+
12+
613
3.5.6 (October 31, 2025)
714
-------------------------
815
Bug Fixes:

check_package_contents.sh

Lines changed: 0 additions & 1 deletion
This file was deleted.

examples/README.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

examples/error_handling_example.py

Lines changed: 0 additions & 1 deletion
This file was deleted.

examples/list_traffic_types_and_attributes.py

Lines changed: 0 additions & 1 deletion
This file was deleted.

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "splitapiclient"
7-
version = "3.5.6"
7+
version = "3.5.7"
88
description = "This Python Library provides full support for Split REST Admin API, allow creating, deleting and editing Environments, Splits, Split Definitions, Segments, Segment Keys, Users, Groups, API Keys, Change Requests, Attributes and Identities"
99
classifiers = [
1010
"Programming Language :: Python :: 3",
@@ -54,7 +54,7 @@ content-type = "text/markdown"
5454
[project.urls]
5555
Homepage = "https://github.com/splitio/python-api"
5656
"Bug Tracker" = "https://github.com/splitio/python-api/issues"
57-
Documentation = "https://help.split.io/hc/en-us/articles/4412331052685-Python-PyPi-library-for-Split-REST-Admin-API"
57+
Documentation = "https://developer.harness.io/docs/feature-management-experimentation/api/wrappers/python-admin-api/"
5858

5959
[tool.aliases]
6060
test = "pytest"

splitapiclient/microclients/change_request_microclient.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,22 +69,32 @@ def list(self, environment_id, status):
6969
'''
7070
final_list = []
7171
afterMarker = 0
72+
73+
# Build URL templates locally without mutating self._endpoint
74+
list_initial_url = self._endpoint['list_initial']['url_template']
75+
list_next_url = self._endpoint['list_next']['url_template']
76+
7277
if(environment_id!=None):
73-
self._endpoint['list_next']['url_template'] = self._endpoint['list_next']['url_template'] + "&environmentId={environmentId}"
74-
self._endpoint['list_initial']['url_template'] = self._endpoint['list_initial']['url_template'] + "&environmentId={environmentId}"
78+
list_initial_url = list_initial_url + "&environmentId={environmentId}"
79+
list_next_url = list_next_url + "&environmentId={environmentId}"
7580
if(status!=None):
76-
self._endpoint['list_next']['url_template'] = self._endpoint['list_next']['url_template'] + "&status={status}"
77-
self._endpoint['list_initial']['url_template'] = self._endpoint['list_initial']['url_template'] + "&status={status}"
81+
list_initial_url = list_initial_url + "&status={status}"
82+
list_next_url = list_next_url + "&status={status}"
83+
7884
while True:
7985
if afterMarker==0:
86+
# Create a new endpoint dict with modified URL template (keeping _endpoint immutable)
87+
endpoint = {**self._endpoint['list_initial'], 'url_template': list_initial_url}
8088
response = self._http_client.make_request(
81-
self._endpoint['list_initial'],
89+
endpoint,
8290
status=status,
8391
environmentId=environment_id
8492
)
8593
else:
94+
# Create a new endpoint dict with modified URL template (keeping _endpoint immutable)
95+
endpoint = {**self._endpoint['list_next'], 'url_template': list_next_url}
8696
response = self._http_client.make_request(
87-
self._endpoint['list_next'],
97+
endpoint,
8898
status=status,
8999
environmentId=environment_id,
90100
after = afterMarker

splitapiclient/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '3.5.6'
1+
__version__ = '3.5.7'

0 commit comments

Comments
 (0)