github AlexGustafsson/cupdate v0.23.0-beta.1

pre-release10 hours ago

Thanks to everyone who created feature requests, bug reports and tested fixes. Your help is instrumental to continue to improve Cupdate!

Features

Version identification

image

When using tags like latest, there's no immediate way of knowing what version a containerized application is. Some image authors include standardized annotations. Cupdate will now use these annotations if available to better convey the version in use.

Thanks @tomelgato for reporting #398!

New stay-below label

Some projects like Linux Server's Jellyfin image and qbittorrent image have moved from using calendar versioning (e.g. 2025.11.25) to semantic versioning (e.g. 5.1.2). In doing so, they made it impossible for tools like Cupdate to easily identify the latest release semantically.

This release comes with a new label, stay-below, which helps mitigate this issue by letting you configure Cupdate to ignore "higher" versions than 2000.0.0, for example.

See the updated configuration documentation in docs/config.md for more information.

Thanks @santimar for reporting #434!

Check for platform changes

When running in Kubernetes, Cupdate automatically receives events whenever new containers are started or stopped. In Docker, however, Cupdate needs to poll for changes. This can be frustrating when you want to see your newly deployed services in the UI.

This release comes with a new button to immediately check the platform for changes.

image

The button is located on the dashboard, next to the layout controls.

Note that right now, it doesn't perform any additional image processing. New images are however queued for processing immediately. If you want to process an existing image, you can instead use the button on the image's page, in the workflow card.

Thanks @santimar for reporting #440!

Static file support

In cases where a user can't or doesn't want to have Cupdate automatically discover images in use, a static file containing OCI references can now instead be used.

The static file is an alternative to the existing support for Kubernetes, Docker and Podman and uses references in a text file instead of auto-discovery.

This is useful if, for example, you have images running in an unsupported platform, an air gapped platform, for testing or when you're running customized images but want to track their base images instead.

See the new configuration in docs/static/README.md.

Thanks @5Chips for reporting #425!

Graceful shutdown improvements

There's been several improvements to how Cupdate deals with ensuring its start procedure and shut down procedure is safe and graceful. When asked politely, Cupdate will now better guarantee that pending requests are handled and databases are synced before shutting down.

New tests have been written to guarantee a safe lifecycle for Cupdate, including unexpected shut downs of the database.

If you're using Kubernetes, please update your manifests to specify a termination grace period of at least 120 seconds. Though the shutdown is typically less than a second, it is not guaranteed.

The manifests in this repository have been updated, if you're using them, it's sufficient to update your references / kustomizations.

Improvements and fixes

  • Improved web load time by loading optional modules lazily
  • Database migration improvements, testing improvements
  • CI/CD improvements for better coverage, improved security
  • RSS feed improvements - items are now ordered and stateful
  • Workflow rerun button now puts the image at the front of the processing queue instead of in the back
  • Dependency updates, go updates, node updates, action updates

Breaking changes

  • osv-scanner is now a runtime dependency - if you're not running Cupdate using an official container image, see cff6a32 for more details.

Full Changelog: https://github.com/AlexGustafsson/cupdate/compare/v0.22.2..v0.23.0-beta.1

Don't miss a new cupdate release

NewReleases is sending notifications on new releases.