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 2026

    This 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-android version
    • 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-android 9 through 15, and Capacitor

    The image is built by running a real build for every supported cordova-android version and for Capacitor, so the npm and Gradle caches are already warm when your build starts.

    Three things worth knowing:

    git is 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-android 9. 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 in config.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-packageName again. This had regressed at some point. When android-packageName is present it takes precedence.

    Added

    • iosDevAppleId and iosDistAppleId let 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/app uploads now return stable, documented reasons when a submission is rejected, instead of a bare status code. See the API specification.
    • An API-Version header 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_SUBSCRIPTION reason 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.

Join Our Newsletter
Stay up to date on all of the latest news and updates for VoltBuilder