Skip to content

Release notes

February 2023

This release focuses on Flutter support, improvements to icon handling and usability improvements.

New features

  • Flutter support. Flutter apps can be packaged and distributed more easily than with the default tools. See the sample Flutter app on GitHub to learn how to cross-compile the app using GitHub Actions and then package it.
  • MSVC++ redistributables. Apps often require these DLLs, but they don't come with the OS. You can now easily bundle them. The CMake C++ sample was updated to use this feature.
  • YubiKey support. As used by ssl.com and similar CAs. You may also now specify the key alias used in your HSM.
  • Site consistency checks. Catches cases where you're changing your signing certificates or where you're overwriting already published packages with different contents. This can help avoid broken updates.
  • SVG icons. Conveyor can now render an SVG file to icons using the appropriate style for Windows, macOS and Linux, with a rounded rectangle+drop shadow background compliant with Apple's guidelines being used automatically. Run conveyor make rendered-icons to see the results for each platform.
  • Icon resampling. Icons of missing sizes will be generated by resizing the existing images.
  • Synthetic icons. Conveyor can now make icons for you. This reduces the required effort to quickly package apps like internal tools, dashboards and demos where drawing an icon would be too much effort. The generated icon has a one or two character label on a gradient background.
  • Setting Windows icons. You can now forcibly override the EXE icon used on Windows, if you're using a framework that supplies an inappropriate default.

Improvements for JVM apps

  • In-place signing for JVM apps. Native libraries are now signed inside JARs when app.jvm.extract-native-libraries is false (which is the default for new projects). This avoids creating problems with third party libraries that don't use System.loadLibrary before attempting to do extraction. Native library extraction is still available and still recommended to improve your app's user experience.
  • In version 1.4 of the Conveyor Gradle plugin the appResourcesRootDir property is now imported from the Jetpack Compose Gradle plugin.
  • Improved the protection against JVM argument injection via environment variables.
  • You are now warned if using a JavaFX version lower than 19 on Windows, as earlier versions can fail to start on some Windows installs.
  • Rolled the JVM client enhancements config into the defaults as some are necessary for apps to run successfully when packaged.
  • EXEs added to the app inputs will be moved to the bin directory and added to the PATH automatically.

Small improvements

  • Sparkle was updated to version 2.3.1
  • Windows update metadata no longer allows downgrades when conveyor.compatibility-level >= 7. Downgrades aren't allowed by Sparkle on macOS and require admin intervention on Linux, so it's better to be consistent and disallow them on Windows too. This has the advantage that you can distribute packages of a higher version than the update stream it's connected to, e.g. to distribute one-off patched versions to specific users. They will return to the mainline when you next do an upgrade past the version used for the one-off builds.
  • Removed unexpected/unnecessary default symlinks from Linux packages (when conveyor.compatibility-level >= 7).
  • A new app.linux.main-binary key was added that controls the expected name of the primary entry point launcher.
  • Tweaked the colors used for code blocks in printed Markdown messages to improve readability on different background colors.
  • The Windows installer now gives more helpful error messages in some cases, e.g. if your web server doesn't support range requests.
  • The default cache size has been restricted.

Bug fixes

  • Fixes to aggressive updates mode:
    • Don't hang (macOS) or show an error (Windows) when running a version newer than the one on the update site (a downgrade).
    • It now works with administrator UAC elevations on Windows.
    • Fixed an error that could occur on Windows 10 only when using version numbers with four components.
  • On macOS the LSMinimumSystemVersion value is set to the max of what the app requests and what Conveyor/Sparkle itself needs.
  • Improved UNIX flavor detection. Don't delete static Linux binaries from the package due to thinking they're not for Linux.
  • Improved file type detection to avoid mis-classifying .class files as Mach-O binaries if the extension has been changed (they share magic numbers).
  • Don't ask for a passphrase unless it's needed by one of the executing tasks.
  • Updated the Gradle plugin used in the JavaFX sample to resolve an issue using gradle run on ARM macOS.
  • Accept timestamping authority URLs that lack the http:// prefix.
  • Resolved a crash that could occur if the jlink command line got too long for Windows to handle.

Note

For older release notes please use the version picker in the top bar.