JSONFoundation 2.1.2
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