Skip to content

JSONFoundation 2.1.2

Choose a tag to compare

@odrobnik odrobnik released this 27 Jun 07:30
1afa8e8

JSONRPCSubprocess: honor ProcessLaunch.environment in the child transport.

The swift-subprocess child transport hardcoded environment: .inherit, silently dropping any caller-supplied ProcessLaunch.environment. The Foundation.Process transport already applies it, and ACP/MCP clients rely on that to inject auth vars (e.g. promoted ACPX_AUTH_* / credentials) into the agents they spawn — so the two transports disagreed and swift-subprocess lost the injected environment.

launch.environment now maps to a full Environment.custom(...) replacement (nil => .inherit); a reduce (not uniqueKeysWithValues) avoids a duplicate-key trap on case-folding platforms. Adds a test spawning a shell with a custom var and checking it round-trips as a JSON-RPC message.

Also: CI deterministically awaits peer replies in tests; Android pinned to 6.3.1.

Full Changelog: 2.1.1...2.1.2