github PerryTS/perry v0.5.155

latest releases: v0.5.1182, v0.5.1181, v0.5.1180...
2 months ago

Highlights

  • Tier-2 iOS simulator CI gaterelease-packages.yml now waits on both Tests and Simulator Tests (iOS) green on the exact tag-commit SHA before publishing to brew / apt / npm. New await-tests job polls gh run list --commit <sha> every 30s with a 45-min deadline. Test workflow trigger extended to tags: ['v*'] so the Tests run actually exists on the tag. workflow_dispatch emergency-republish bypass preserved.
  • Doc-examples test harness + cross-compile matrix — Every docs/examples/ snippet now compiles under CI against macOS / Linux / Windows (blocking) and iOS / tvOS / watchOS / Android / WASM / Web (advisory until baselines blessed, now blocking on macOS+Linux). Simulator runs use PERRY_UI_TEST_MODE=1 + self-exit timer for bundle-launches smoke signal.
  • watchOS end-to-end--target watchos[-simulator] compiles and bundles; adds --features watchos-game-loop (Metal surface) and --features watchos-swift-app (SwiftUI host) plus perry.nativeLibrary.targets.<plat>.metal_sources for .metallib bundling (closes #124).
  • perry dev watch mode — New subcommand auto-recompiles on save (v0.5.143).
  • perry/ui gap closurealertWithButtons, string values in preferencesGet/Set, onTerminate / onActivate lifecycle hooks, and LazyVStack backed by NSTableView virtualization (v0.5.151).

Features

  • feat: gate release-packages on Tests + Simulator Tests (v0.5.155)
  • feat: close all 4 remaining perry/ui gaps (v0.5.151)
  • feat: metal_sources manifest field for .metallib bundling (v0.5.146, closes #124)
  • feat: compile-only banner + Fastify #125 regression check (v0.5.144)
  • feat: perry dev — watch-mode subcommand for auto-recompile on save (v0.5.143, #126)
  • feat: big doc-tests push — blessings + UI docs + xcompile + Android + PNG compress (v0.5.140)
  • feat: tier-2 follow-ups — watchOS test mode + iOS-sim fix + simctl CI (v0.5.137)
  • feat: wire PERRY_UI_TEST_MODE into perry-ui-ios + perry-ui-tvos (v0.5.135)
  • feat: split xcompile into blocking (wasm+web) + advisory (v0.5.133)
  • feat: bless gallery baselines + flip macOS+Linux blocking (v0.5.131)
  • feat: doc-tests cross-compile matrix (iOS/tvOS/Android/WASM/Web) (v0.5.125)
  • feat: doc-examples test harness + widget gallery (v0.5.123)
  • feat: add --features watchos-swift-app for SwiftUI-hosted rendering (v0.5.122, #118)
  • feat: add --features watchos-game-loop for Metal-surface apps (v0.5.114, #106)

Fixes

  • fix: drop run_with_timeout from simctl launch path (v0.5.154)
  • fix: drop --console-pty from simctl-tests (v0.5.152)
  • fix: honor --app-bundle-id on ios-simulator/ios full-app (v0.5.150)
  • fix: ios-simulator Info.plist platform keys (v0.5.149)
  • fix: simctl env vars via SIMCTL_CHILD_ prefix (v0.5.148)
  • fix: simctl --setenv arg syntax (v0.5.147)
  • fix: simctl-tests — detect timeout/gtimeout + fallback (v0.5.145)
  • fix: async arrow/closure returns — wrap in js_promise_resolved (v0.5.142, closes #125)
  • fix: cross-platform fs/roundtrip path (v0.5.142)
  • fix: Ubuntu gtk4 border symbols + Windows png encoder borrow (v0.5.141)
  • fix: PowerShell arg-splitting, round two — repeat xcompile flag (v0.5.139)
  • fix: PowerShell arg-splitting on Windows xcompile step (v0.5.138)
  • fix: three follow-ups from v0.5.135 CI run (v0.5.136)
  • fix: Windows Picker parent HWND for WS_CHILD (v0.5.132)
  • fix: force async-runtime feature when UI backend is linked (v0.5.130)
  • fix: diagnose why --whole-archive didn't surface on Ubuntu (v0.5.129)
  • fix: use --whole-archive for stdlib on Linux UI links (v0.5.128)
  • fix: Linux link order + Windows MSVC env (v0.5.127)
  • fix: merge stdout + stderr in doc-tests compile-fail detail (v0.5.126)
  • fix: watchos bundle step copies project assets into the .app (#123)
  • fix: platform-split HEAP_MIN for android/linux (v0.5.125)
  • fix: doc-tests CI follow-ups after first run of v0.5.123 (v0.5.124)
  • fix: reject silent perry/ui API misuse at compile time (v0.5.119, #114)
  • fix: drop libc: ["glibc"] from glibc Linux npm manifests (v0.5.118, #116)
  • fix: wire URL/URLSearchParams through LLVM backend (v0.5.117, #111)
  • fix: animateOpacity/animatePosition signature, units, and reactivity (v0.5.116, #109)
  • fix: console.log on Windows by gating MSVC subsystem on needs_ui (v0.5.114, #108)
  • fix: find_native_library target_key honors watchos (v0.5.115, #107)
  • fix: make --target watchos[-simulator] compile end-to-end (v0.5.113, #105)
  • fix: perry-ui-ios StringHeader.length migrated to byte_len
  • fix: ios-game-loop entry point for iOS/tvOS targets

Infrastructure / Docs

  • docs(skill): rewrite /release to tag HEAD, not commit uncommitted work
  • chore: simctl-tests per-phase trace + explicit timeouts (v0.5.153)
  • docs: correct stale version strings + TabBar platform caveat
  • docs: port-npm-to-perry skill + porting guide (experimental, re #115)
  • docs: add CONTRIBUTING, CoC, and issue/PR templates
  • docs: carve out "no version bumps in external PRs" rule
  • docs: add perry dev to CLI commands reference
  • docs: rewrite ui/widgets.md against the real API (v0.5.134)
  • docs: document @perryts/perry npm install path in README + mdBook

Don't miss a new perry release

NewReleases is sending notifications on new releases.