Repository navigation
Resolve final 0.26 feedback and complete the upgrade guide - #534
Merged
Merged
Conversation
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.
Bodyless HTTP requests stop adding Content-Type, and requests send a default User-Agent while preserving explicit overrides. Command stdout and stderr can write directly to files, so a long-running child can log independently of the Roc application without capturing output in memory.
Cmd.StdoutModeandCmd.StderrModeacceptFile(path, mode, options), reusingFile.WriteModeandFile.WriterOptions, including exclusive creation and enforced permissions. Relative paths use command cwd. Merged stderr shares stdout's open file description and append mode. Files are opened before spawn; failed starts may leave created/truncated files. Pending stop requests are checked before file opens. File-backed streams do not use capture or pending-output budgets.Validation: full native source/build/runtime suite passed on macOS, including 194 host tests, 688 platform tests, real HTTP wire-header cases, and cross-platform Roc command cases for append/truncate/exclusive creation, command cwd, merged output, separate stderr, and large uncaptured logs under tiny capture budgets. Ownership tests cover redirected path cleanup on failed conversion and a pending stop preserving an existing log. Native and Linux ARM64 Clippy pass with warnings denied; generated ABI verification, formatting, generated docs, and all release-note examples pass. Generated Rust ABI was regenerated with the pinned compiler. The pinned compiler can emit invalid cached loop code after check/test warm-up: a controlled Linux comparison reproduced the crash with caching and passed the same original stress case with
--no-cache(diagnostic run). A temporary, version-gated workaround disables the build cache only for x64musl/x64mac with compiler 2664a27; Unix check/test stages and other targets retain caching, and the existing Windows behavior is unchanged. A linked TODO calls for removing the workaround after the cached reproduction passes on an updated compiler. Repeated-write and large-block tests verify exact file contents. All 30 native five-target and release bundle checks pass on the scoped workaround, including cached ARM builds and all four packaged bundle smoke suites.Closes #531.
Closes #532.
Documents the package boundary discussed in #533. No timestamp parser or additional formatting API is added to the native platform.