Repository navigation
feat: show image created dates and versions in updates - #4665
Merged
Merged
Conversation
- Store current and latest image created timestamps on image updates (migration 105) - Resolve the latest version label and created date from the remote image config on digest updates - Carry latest version and created date forward only when the digest is unchanged - Include current and latest versions in image update notification emails
- Fetch remote image configs for the local image's platform, not linux/GOARCH only - Keep current and latest created dates and versions when a check fails or after a pull - Clear stale update flags when the latest digest is unchanged - Escape HTML and Slack code spans and strip backticks in Markdown notifications - Show a version change only when the latest version differs from the current one
kmendell
force-pushed
the
feat/version-update-logic
branch
from
November 6, 2026 00:37
5a154be to
fb83dbd
Compare
greptile-apps
Bot
dismissed
their stale review
November 6, 2026 00:37
Dismissed because a newer commit was pushed; Greptile will re-review the current head.
- Render current and latest versions in ntfy transitions via formatNotificationCode - Replace hardcoded backticks in writeNtfyTransition
- Batch image update emails now show `type: current → latest` per image, or the update type alone when no versions are known. - Export `UpdateVersions` from `pkg/notifications` so the email template and message builders share one version resolver.
greptile-apps
Bot
dismissed
their stale review
November 6, 2026 01:02
Dismissed because a newer commit was pushed; Greptile will re-review the current head.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checklist
mainbranchm.*())What This PR Implements
Rolling tags such as
:latestreported updates as digest pairs (sha256:8978d2f5 → sha256:3eb277ac), which doesn't show what changed. When a digest update is found, Arcane now reads the new image'sorg.opencontainers.image.versionlabel and its created date, and shows a version change such as2.3.6 → 2.3.7with a build date. Images without the label keep the digest display.The digest comparison still decides
HasUpdate. The tag-policy path is unchanged.Fixes:
Addresses discussion #4266
Changes Made
ImageLabelsis nowImageConfig, which returns the full config (labels and created date). The cache stores configs. All callers are updated. The lookup accepts the update check's registry credentials. Release notes and self-upgrade lookups pass none, as before.LatestVersion,CurrentVersion,LatestCreated, andCurrentCreated.00105_add_image_update_createdaddscurrent_createdandlatest_created, with a down migration. A savedLatestVersionandLatestCreatedcarry over only when the latest digest is unchanged. The project container merge dropsLatestCreatedwhen the latest version, digest, or update type changes.CurrentCreatedandLatestCreatedonImageUpdateResponseandImageUpdateInfo, mirrored in the TypeScript types.frontend/messages/en.json.Testing Done
just format allthenjust lint all: exit 0, 0 issues. After removing comments fromtypes/, format and lint were re-run ontypes/only: 0 issues.svelte-check: 817 files, 0 errors.imageupdate(and its children),registry,version,project,database,notification,pkg/notifications, and the CLI'spkg/images/updates.AI Tool Used (if applicable)
N/A
Additional Context
imageupdatefake the digest lookup but now make one real config fetch. The fetch fails and the tests still pass, but they need network access.Disclaimer Greptiles Reviews use AI, make sure to check over its work.
To better help train Greptile on our codebase, if the comment is useful and valid Like the comment, if its not helpful or invalid Dislike
To have Greptile Re-Review the changes, mention
greptileai.

Confidence Score: 5/5
The PR appears safe to merge; the missing version details in normal update emails are now included.Summary
Adds image versions and build dates to update details while keeping digest checks responsible for finding updates.
Reviews (4) · Last reviewed commit: "feat: show version transitions in batch ..." · Reviewed by Greptile