Update output limit semantics: 0 means unlimited#12
Merged
Conversation
Previously the default output limit was 10 MB and -1 was used as a sentinel for unlimited. This was error-prone because the guard that rejects invalid values would reject -1 unless callers knew the internal convention. New semantics: - 0 (the new default) = unlimited (no cap on captured output) - positive value = byte cap (exceeding raises outputLimitExceeded) - negative value = rejected with invalidConfiguration error This is a breaking change for consumers that relied on -1 as unlimited. They should now pass 0 or omit the parameter entirely (default is 0). Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
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.
Summary
Changes the default output limit from 10 MB to unlimited (0), and redefines the semantics:
outputLimitExceededinvalidConfigurationerrorBreaking Change
Consumers that previously passed
-1to mean "unlimited" must now pass0or omit the parameter (default is unlimited).Motivation
ShipItSwifty's
xcodebuild archivestep was failing with "exceeded output limit of 10485760 bytes" because the 10 MB default was too low for archive output. Making the default unlimited removes this footgun — consumers can still opt into a cap if desired.Tests
All 79 existing tests pass with updated expectations.