Sailfin 0.9.3
What's Changed
- fix(ci): generate valid Bluesky record keys by @mcereal in #2796
- chore(seed): pin cadence seed to 0.9.1 by @mcereal in #2795
- test(compiler): colocate StableHLO snapshot by @mcereal in #2798
- test(release): validate aarch64 installer and seed by @mcereal in #2800
- fix(build): replace a running image on Windows by @mcereal in #2799
- docs(sfep): rewrite SFEP-0002 as capsule distribution, retract model scope by @mcereal in #2801
- docs(sfep): rewrite SFEP-0003 as the toolchain surface, retract
sfn vetby @mcereal in #2802 - docs(sfep): rehost SFEP-0014 on sfn, record the phase ledger regression by @mcereal in #2803
- audit fix mcp npm packages by @mcereal in #2807
- fix(test): isolate compiler bench e2e work directories by @mcereal in #2808
- docs(gemini): update Gemini guidelines and workspace skills by @mcereal in #2809
- chore(agents): add official Linear remote MCP configuration by @mcereal in #2810
- chore(agents): add Sailfin MCP server configuration by @mcereal in #2811
- chore(agents): add type stdio to MCP server configurations by @mcereal in #2812
- ci(installer): resolve the smoke-tested release from the pinned seed by @mcereal in #2813
- docs(sfep): rewrite SFEP-0010 and SFEP-0011 as design records by @mcereal in #2814
- perf(release): prefer the native aarch64 seed after the first arm64 release by @mcereal in #2815
- docs(sfep): redistribute SFEP-0015, rewrite SFEP-0016 as a normative spec by @mcereal in #2816
- perf(build): record compiler decomposition baselines (SFN-705) by @mcereal in #2818
- feat(cli): reject private capsule publishing before side effects (SFN-714) by @mcereal in #2819
- fix(build): enforce private-capsule resolver provenance (SFN-715) by @mcereal in #2820
- docs(sfep): record SFEP-0020 implementation tracking by @mcereal in #2821
- refactor(strings): retire the compiler's private integer formatter (SFN-735) by @mcereal in #2822
- docs(sfep): add SFEP-0067 platform access ownership; extend SFEP-0020 correction 7 by @mcereal in #2823
- refactor(build): de-shell the determinism JSON pass (SFN-752) by @mcereal in #2824
- fix(agents): drop maxTurns caps that truncate subagents mid-task by @mcereal in #2826
- refactor(cli): de-shell cache enumeration and deletion (SFN-494) by @mcereal in #2825
- feat(crypto): X.509 DER/ASN.1 parse + RFC 6125 hostname matching — inspection only (SFN-504) by @mcereal in #2827
- feat(fs): add the fs.is_directory intrinsic sentinel (SFN-755) by @mcereal in #2828
- feat(crypto): RSA bignum modexp + RSASSA-PKCS1-v1_5 verify (SFN-656) by @mcereal in #2829
- chore(deps): bump @astrojs/mdx from 7.0.4 to 7.0.5 in /site by @dependabot[bot] in #2830
- chore(deps): bump astro from 7.1.4 to 7.1.6 in /site by @dependabot[bot] in #2831
- feat(crypto): TLS 1.3 server handshake state machine (RFC 8446 §4) (SFN-654) by @mcereal in #2833
- feat(crypto): RSASSA-PSS verify for TLS 1.3 CertificateVerify (SFN-658) by @mcereal in #2834
- feat(crypto): ECDSA-P256 signature verification (FIPS 186-4) (SFN-657) by @mcereal in #2835
- feat(crypto): X.509 chain verification + system trust store (SFN-340) by @mcereal in #2836
- chore(deps): bump @astrojs/starlight from 0.41.4 to 0.41.6 in /site by @dependabot[bot] in #2832
- docs(proposals): route SFEP-0048 Phase D into deliverable slices by @mcereal in #2837
- spike(runtime): prove the runtime emit path lowers Result/match (SFN-766) by @mcereal in #2838
- feat(crypto): real-world peer authentication — sigalg offer, CertificateVerify dispatch, chain retention (SFN-767) by @mcereal in #2839
- design-note(runtime): route native TLS via a runtime→capsule dependency edge by @mcereal in #2841
- fix(llvm): box a struct-typed local passed as a generic enum payload (SFN-770) by @mcereal in #2840
- feat(build): SFEP-0068 +
sfn build --target=<triple>triple axis (SFN-774) by @mcereal in #2842 - perf(runtime): pointer-idiom TLS 1.3 record layer — the per-byte hot path (SFN-768) by @mcereal in #2844
- feat(build): runtime→capsule dependency edge — mangling step 2 for runtime modules + driver plumbing (SFN-773) by @mcereal in #2843
- test(e2e): subprocess coverage for --target rejection and target env-var precedence (SFN-778) by @mcereal in #2845
- docs(sfep): accept non-elidable secret zeroization as SFEP-0069 (SFN-703) by @mcereal in #2847
- fix(lowering): resolve imported modules at minimum depth so re-exports survive emit (SFN-779) by @mcereal in #2846
- fix(test-pool): budget the parent runner and size the per-job reserve to a test child (SFN-781) by @mcereal in #2848
- refactor(compiler): make compiler capsule private (SFN-734) by @mcereal in #2849
- fix(agent-report): re-sync check phase ledger to its real producers (SFN-724) by @mcereal in #2850
- fix(agent-report): never report a killed run as a pass, and give the warmer headroom for 2-job runs by @mcereal in #2851
- feat(cli): sfn dev verify — native pipeline supervisor that emits its own verdict (SFN-725) by @mcereal in #2852
- fix(release): probe seed assets with a ranged GET, not HEAD (SFN-798) by @mcereal in #2854
Full Changelog: v0.9.1...v0.9.3