diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 40249fee..08fb1087 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: timeout-minutes: 10 name: lint runs-on: ${{ github.repository == 'stainless-sdks/conductor-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} - if: github.event_name == 'push' || github.event.pull_request.head.repo.fork + if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') steps: - uses: actions/checkout@v6 @@ -38,7 +38,7 @@ jobs: run: ./scripts/lint build: - if: github.event_name == 'push' || github.event.pull_request.head.repo.fork + if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') timeout-minutes: 10 name: build permissions: diff --git a/.gitignore b/.gitignore index 95ceb189..3824f4c4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .prism.log +.stdy.log _dev __pycache__ diff --git a/.release-please-manifest.json b/.release-please-manifest.json index cb464946..df3aaa16 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.75.0" + ".": "1.76.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 716164b6..1782a2e6 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 220 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/conductor%2Fconductor-09df225c4fd3265d31ac1bc16ac2774cac8691a201954cfb010e50f06b5ab486.yml -openapi_spec_hash: 75ec4898861584506d099bec5c6f0d2a +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/conductor%2Fconductor-1ec735f7e62a53b7cbeecfc0b383ec25dbe9f51e2f43ba71e42cfb2154be678a.yml +openapi_spec_hash: c287d26ea4eada69d78d90bf0405b307 config_hash: 89303a38c78d93021ba8a584462375bd diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f862736..63b7fee9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## 1.76.0 (2026-03-27) + +Full Changelog: [v1.75.0...v1.76.0](https://github.com/conductor-is/quickbooks-desktop-python/compare/v1.75.0...v1.76.0) + +### Features + +* **internal:** implement indices array format for query and form serialization ([f264eeb](https://github.com/conductor-is/quickbooks-desktop-python/commit/f264eeb5bfc0eda46c966a8c29414aa160ce89b5)) + + +### Chores + +* **ci:** skip lint on metadata-only changes ([c022258](https://github.com/conductor-is/quickbooks-desktop-python/commit/c022258ae83dc218cb347b2f4fa1bbe9f9c01392)) +* **internal:** update gitignore ([a8b9d7f](https://github.com/conductor-is/quickbooks-desktop-python/commit/a8b9d7f1540ab7080991c8317e712b0a09aa0d3c)) +* **tests:** bump steady to v0.19.4 ([d30740a](https://github.com/conductor-is/quickbooks-desktop-python/commit/d30740afab1f30f04aa9faa259ff13191c06cc78)) +* **tests:** bump steady to v0.19.5 ([5f296c8](https://github.com/conductor-is/quickbooks-desktop-python/commit/5f296c83432a13bd412845f4d31a7f086a174e95)) +* **tests:** bump steady to v0.19.6 ([5b0209c](https://github.com/conductor-is/quickbooks-desktop-python/commit/5b0209cbd977349465e594c67d9f331e3466786b)) +* **tests:** bump steady to v0.19.7 ([7b21104](https://github.com/conductor-is/quickbooks-desktop-python/commit/7b21104b7a2c1037b48813de3641775af0ea1ba8)) + ## 1.75.0 (2026-03-20) Full Changelog: [v1.74.0...v1.75.0](https://github.com/conductor-is/quickbooks-desktop-python/compare/v1.74.0...v1.75.0) diff --git a/pyproject.toml b/pyproject.toml index 3637ee0d..ae457c20 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "conductor-py" -version = "1.75.0" +version = "1.76.0" description = "The official Python library for the conductor API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/scripts/mock b/scripts/mock index 5827de97..e730c7fc 100755 --- a/scripts/mock +++ b/scripts/mock @@ -22,9 +22,9 @@ echo "==> Starting mock server with URL ${URL}" # Run steady mock on the given spec if [ "$1" == "--daemon" ]; then # Pre-install the package so the download doesn't eat into the startup timeout - npm exec --package=@stdy/cli@0.19.3 -- steady --version + npm exec --package=@stdy/cli@0.19.7 -- steady --version - npm exec --package=@stdy/cli@0.19.3 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=repeat --validator-query-object-format=dots "$URL" &> .stdy.log & + npm exec --package=@stdy/cli@0.19.7 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=repeat --validator-form-array-format=repeat --validator-query-object-format=dots --validator-form-object-format=dots "$URL" &> .stdy.log & # Wait for server to come online via health endpoint (max 30s) echo -n "Waiting for server" @@ -48,5 +48,5 @@ if [ "$1" == "--daemon" ]; then echo else - npm exec --package=@stdy/cli@0.19.3 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=repeat --validator-query-object-format=dots "$URL" + npm exec --package=@stdy/cli@0.19.7 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=repeat --validator-form-array-format=repeat --validator-query-object-format=dots --validator-form-object-format=dots "$URL" fi diff --git a/scripts/test b/scripts/test index 3d52a18e..3b603f2f 100755 --- a/scripts/test +++ b/scripts/test @@ -43,7 +43,7 @@ elif ! steady_is_running ; then echo -e "To run the server, pass in the path or url of your OpenAPI" echo -e "spec to the steady command:" echo - echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.19.3 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p 4010 --validator-query-array-format=repeat --validator-query-object-format=dots${NC}" + echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.19.7 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p 4010 --validator-query-array-format=repeat --validator-form-array-format=repeat --validator-query-object-format=dots --validator-form-object-format=dots${NC}" echo exit 1 diff --git a/src/conductor/_qs.py b/src/conductor/_qs.py index ada6fd3f..de8c99bc 100644 --- a/src/conductor/_qs.py +++ b/src/conductor/_qs.py @@ -101,7 +101,10 @@ def _stringify_item( items.extend(self._stringify_item(key, item, opts)) return items elif array_format == "indices": - raise NotImplementedError("The array indices format is not supported yet") + items = [] + for i, item in enumerate(value): + items.extend(self._stringify_item(f"{key}[{i}]", item, opts)) + return items elif array_format == "brackets": items = [] key = key + "[]" diff --git a/src/conductor/_version.py b/src/conductor/_version.py index 7fe4d14f..4130f9f6 100644 --- a/src/conductor/_version.py +++ b/src/conductor/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "conductor" -__version__ = "1.75.0" # x-release-please-version +__version__ = "1.76.0" # x-release-please-version