Stoneware v0.1.5 — Deployment & Runtime Fixes
What's fixed
🐛 Portable production builds
Fixed an issue where generated Stoneware bundles could contain the absolute filesystem path of the machine that built the application.
This caused deployments to environments such as Vercel to start successfully but fail to resolve routes and assets at runtime.
Stoneware now resolves its runtime root from the deployed bundle instead of relying on the original build-machine path.
🐛 Relocatable route handling
Routes are now represented in the generated build artifact instead of requiring the original routes/ source directory to be present at runtime.
This makes production artifacts portable across build and runtime environments.
🐛 Island hydration in relocated builds
Fixed an issue where interactive islands could silently lose their JavaScript when the source islands/ directory was unavailable at runtime.
The generated island registry is now preserved in the build artifact.
🐛 Development port handling
Improved development-server port detection so Stoneware detects ports already occupied on either IPv4 or IPv6 loopback addresses and automatically selects the next available port.
Production continues to use the exact assigned port and does not silently move to another port.
Verification
- 317+ tests passing
- Typecheck passing
- Relocated production artifact tested
- Route matching tested without the original source tree
- Island hydration verified
- IPv4/IPv6 port collision tested
Upgrade
npm install stoneware@0.1.5