chore: require uipath-runtime>=0.13.1 for the output-arguments split - #1858
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the uipath package’s dependency floor to require uipath-runtime>=0.13.1 (ensuring runtime.splitOutputArguments is available and not silently ignored), and bumps the uipath package patch version accordingly. It fits into the monorepo by adjusting the main SDK/CLI package’s published metadata and lockfile to align with the newer runtime behavior.
Changes:
- Bump
uipathversion2.14.2→2.14.3. - Raise
uipath-runtimerequirement>=0.13.0,<0.14.0→>=0.13.1,<0.14.0. - Regenerate
uv.lockto resolveuipath-runtime0.13.1.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| packages/uipath/pyproject.toml | Bumps uipath version and raises the minimum uipath-runtime version to 0.13.1. |
| packages/uipath/uv.lock | Updates the lockfile to reflect uipath 2.14.3 and resolve uipath-runtime 0.13.1. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
0.13.1 adds runtime.splitOutputArguments, which writes a job's output arguments to their own file and leaves an outputArgumentsFilePath pointer in the result envelope. Raising the floor guarantees the key is understood rather than silently ignored by an older runtime, which would leave the payload inline and hand the consumer the memory blowup the split exists to avoid. Version-only change on top; no source touched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
eduard-dumitru
force-pushed
the
feat/output-args-memory-optimization
branch
from
August 13, 2026 07:02
b4377de to
84d5d0d
Compare
pyproject.toml already exempts uipath-runtime from uv's own 2-day exclude-newer window ([tool.uv.exclude-newer-package]). Safe Chain runs outside the project and does not see that, so a freshly published uipath-runtime is blocked for being too new while the release train promotes it across repos. Skips only the age gate; malware and every other Safe Chain check still run. Same approach as uipath-agents-python and UiPath/cli#2195. Separate commit so it can be dropped independently of the version bump. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
eduard-dumitru
force-pushed
the
feat/output-args-memory-optimization
branch
from
August 13, 2026 08:45
f4e3125 to
3665a52
Compare
radu-mocanu
approved these changes
Aug 13, 2026
eduard-dumitru
force-pushed
the
feat/output-args-memory-optimization
branch
from
August 13, 2026 10:04
90db46b to
3665a52
Compare
|
eduard-dumitru
added a commit
that referenced
this pull request
Aug 13, 2026
… publish uipath 2.14.4 (#1861) ci: exempt uipath-runtime from the Safe Chain age gate when building #1858 added this to lint-packages.yml and test-packages.yml, but the CD path builds through build-package.yml, which never got it. The post-merge run failed, so uipath 2.14.3 did not publish. Skips only the age gate; malware and every other Safe Chain check still run. - 2.14.3 never reached PyPI — its CD build died on the Safe Chain age gate that the previous commit fixes. Publishing under a fresh version rather than reusing 2.14.3 so that merging this PR touches packages/uipath/pyproject.toml and therefore triggers CD on its own, instead of needing a manual dispatch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Why
uipath-runtime0.13.1 addedruntime.splitOutputArguments(uipath-runtime-python#159): when set, a job's output arguments are written to their own file and the result envelope carries anoutputArgumentsFilePathpointer instead of the inlineoutputvalue, so a consumer can stream the payload instead of materializing it. In Serverless that is the difference between an ~80 MB job completing and OOMing the handler.An older runtime does not recognise the key and silently ignores it — the payload stays inline and the consumer gets exactly the blowup the split exists to avoid, with no error to explain it. Raising the floor turns that silent no-op into a resolution failure.
What
uipath-runtime>=0.13.0→>=0.13.1uipath2.14.2 → 2.14.3uv.lockregenerated (resolvesuipath-runtime0.13.1)No source changes.
Also here: a Safe Chain exemption (
3665a522)Safe Chain 403'd the eight jobs that install
uipath— the sixTest (uipath, …)plusLint uipathand theLintgate — because 0.13.1 is under 48h old.pyproject.tomlalready exemptsuipath-runtimefrom uv's ownexclude-newerwindow, but Safe Chain runs outside the project and cannot see that. The two workflows now setSAFE_CHAIN_MINIMUM_PACKAGE_AGE_EXCLUSIONS: uipath-runtime, asuipath-agents-pythonand cli#2195 already do.Scope, read from the upstream source and confirmed by running it:
uipath-runtimebut never remove anyone else's protectionuipath_runtimeand nothing beyond84d5d0d9(bump only) failed on403 … minimum package age (uipath_runtime@0.13.1);3665a522adds nothing but the twoenv:blocks and CI is green. Kept as its own commit so it can be dropped if you would rather wait the window out.Keeping it in
pyproject.tomlinstead was tried on this branch and does not work — same eight jobs, same 403. Safe Chain shimsuvand blocks on the wheel download, so it never reads[tool.uv.exclude-newer-package]; its own error message names the env var as the remedy. That is whyuipath-agents-pythoncarries both: pyproject for uv's window, yml for Safe Chain's.Testing
2375 passed, 1 skipped;uv lock --check, ruff and full mypy (324 files, src + tests) all clean.Chain
This is 2 of 4. Each link can only open once the previous one publishes.
uipath-runtime-python— the split itself (published as 0.13.1)uipath-agents-python— three ceilings currently exclude both new versionshdens— consume the pointer and stream the file into the blob upload