Providers
New
- Node: TanStack Start apps are detected via
@tanstack/react-startand are no longer treated as static Vite SPAs. If nostartscript is defined, Railpack installssrvxand starts withsrvx --prod -s ../client dist/server/server.js; for production Node deploys, configure Nitro per TanStack's hosting guidance. by @iloveitaly in #672 - Node: the default Node version is now
ltsinstead of a fixed major, and non-semver aliases such asltsresolve correctly through mise. Pin a version withRAILPACK_NODE_VERSION,engines.node, or a version file as described in the Node versions docs. by @iloveitaly in #650 - Node: projects with a
package-lock.jsonare detected as npm when no other package manager is configured. Prefer pinning Node and package manager versions for reproducible builds; see the dependency recommendations. by @iloveitaly in #677 - Rust: rust-toolchain.toml is honored as an idiomatic version file (including channel, profile, components, and targets). Add a root
rust-toolchain.tomlsuch aschannel = "1.85.0"and Railpack will install that toolchain via mise. by @iloveitaly in #676 - .NET: global.json is honored as an idiomatic version file so
sdk.versionselects the .NET SDK. Add a rootglobal.jsonsuch as{ "sdk": { "version": "8.0.100" } }to pin the SDK. by @iloveitaly in #675
CLI
New
- Build context:
.dockerignorepatterns (and top-levelexcludeinrailpack.json) are applied when the local source is first loaded into BuildKit, so large ignored directories likenode_modulesare no longer transferred during local builds. Configure exclusions in.dockerignoreor via top-levelexcludein railpack.json. by @iloveitaly in #373
Fixed
- Config: explicit
deploy.inputswith include filters are no longer overridden by an implicit full-step deploy output, preserving selections such as Next.js standalone output. by @radiantjade in #562 - Secrets: CLI
--envsecrets are preserved when a config file also defines secrets, instead of being dropped. by @cadeljones in #460
Mise Upgrades
Updated mise from v2026.7.15 to v2026.8.3.
- Precompiled Ruby: when
ruby.compileis unset, mise installs precompiled Ruby binaries by default and falls back to source builds only when no binary is available. (v2026.8.0) - Release-age filters:
minimum_release_ageand related filters use GitHub'spublished_attimestamp so newly published releases of older commits no longer bypass age gates across Aqua, GitHub, Ubi, and related backends. (v2026.8.3) - npm lockfile installs: packages pinned in
mise.lockare trusted through the low-download popularity gate, so locked npm tool installs no longer requireallow_low_downloads. (v2026.7.16) - Idiomatic version files: disable individual idiomatic files per tool with
idiomatic_version_file_disable_files(for examplenode:package.json) while keeping others active. (v2026.7.17)
Full Changelog: v0.35.0...v0.36.0
Internal improvements to testing, documentation, CI, and maintenance by @iloveitaly.