Changelog
What has changed in VoltBuilder, newest first. Longer-form posts are on the blog, and you can subscribe to this changelog by RSS.
-
September 2026
02 Oct 2026This is the first entry in our changelog. From here on, updates land here as they ship. This one covers roughly the last month.
Most of it went into the upload and sign-in paths. We added front-end error monitoring in September, and it surfaced a long tail of problems nobody had reported to us — a browser silently blocking storage, a session expiring mid-upload, a large project timing out on a slow connection. Each one is rare on its own. Together they were enough to cost someone their first build. Most of what follows came out of working through that list.
Android build agent beta
The Android build image has been rebuilt from the ground up. It is now built directly on Ubuntu 26.04 with the toolchain versions pinned explicitly, replacing an image layered on top of a third-party Android SDK base.
- JDK 8, 11, 17 and 21, selected automatically for your
cordova-androidversion - Gradle 8.14.5 on the path, with 6.5, 7.1.1, 7.4.2, 7.6, 8.7, 8.13, 8.14.2 and 8.14.3 also cached, so whichever version your project’s Gradle wrapper asks for is already on the machine
- Kotlin 2.4.20
- Node 24, npm 12.2.0, Cordova 13
- Android build-tools 30.0.3 through 36.1.0; platforms android-29 through android-36.1
- Supports
cordova-android9 through 15, and Capacitor
The image is built by running a real build for every supported
cordova-androidversion and for Capacitor, so the npm and Gradle caches are already warm when your build starts.Three things worth knowing:
gitis now installed in the build image. Plugins referenced by a git URL should install correctly.npm’s git and install-script permissions have been restored. npm 12 tightened its defaults around git dependencies and packages that run install scripts, which broke some plugins. The image restores the previous behaviour.
A note on
cordova-android9. Apache’s last 9.x release was 9.1.0, in April 2021, and it resolves its dependencies through JCenter/Bintray, which has since shut down — so a stock cordova-android 9 project no longer builds anywhere. We maintain our own engine with that repaired, and it is the only way to build a 9.x project on VoltBuilder. It has to be requested explicitly inconfig.xml:<engine name="android" spec="https://github.com/voltbuilder/cordova-android#9.1.1" />A plain
spec="9.0.0"is rejected; the minimum numeric engine is 10.0.0. We keep 9.x working rather than developing it, so if you are still on it, moving up is worth the time.This is a beta. To take part, email support@volt.build to request access, then select the beta agent on the upload page.
Uploads
Fixed
- Submitting with no file selected, or with a file that is not a zip, now fails immediately with a clear message instead of starting a build that cannot succeed.
- Raised upload timeouts. Large projects on slower connections were timing out before the transfer finished.
- An upload interrupted part-way through now returns a clear incomplete-upload error rather than a server error.
- Fixed a server error when uploading from an account that had never run a build.
- Fixed an upload failure when the build ID was missing from the page, and made status polling continue correctly afterwards.
- Authorization problems during upload — an expired subscription, or a plan that does not allow the requested build — now report what actually went wrong.
Added
- Upload progress tracking, so a slow upload looks slow rather than stalled.
- When an upload fails because of a problem on our end, you now get a retry option and a direct route to support.
- Every upload carries a correlation ID. If you report a failed upload we can find that exact attempt in our logs rather than asking you to reproduce it.
Signing in
Fixed
- An expired session now returns you to the page you were on after signing back in, instead of dropping you at the start.
- Browsers that block storage access are now detected and reported clearly rather than failing silently.
- When the authentication service is slow or unreachable, the upload page degrades gracefully instead of breaking.
- Fixed several JavaScript errors that could leave a page unusable after a failed sign-in.
Builds
Fixed
- Android builds read the application ID from
android-packageNameagain. This had regressed at some point. Whenandroid-packageNameis present it takes precedence.
Added
iosDevAppleIdandiosDistAppleIdlet you specify which Apple ID is used for App Store Connect validation and upload. This matters if your developer account is associated with more than one Apple ID.
API
Added
/v1/appuploads now return stable, documented reasons when a submission is rejected, instead of a bare status code. See the API specification.- An
API-Versionheader on every response, plus a documented versioning and release policy. - Windows platform support is now documented.
Fixed
- An expired subscription now returns a clear
EXPIRED_SUBSCRIPTIONreason up front, rather than accepting the upload and rejecting it afterwards.
Behind the scenes
- Added front-end error monitoring across the site, which is where most of the fixes above came from.
- Routine dependency and security updates across all services.
Next
iOS builds are the current focus, along with further usability and reliability work, and something to help you work out which plugins will work with your project before you build.
- JDK 8, 11, 17 and 21, selected automatically for your