Skip to content

Latest JFrog CLI version check no longer works #3331

Closed

Description

@stephanvantienen-keen

Describe the bug

When running the JFrog CLI the check that runs initially to see if there is a newer version no longer works.

Current behavior

Running JFrog CLI with CI set to True gives the following output:
[🟠Warn] failed while trying to check latest JFrog CLI version: json: unknown field "url"

For version v2.87.0 this output was given every time. For version v2.89.0 it is only given once per 6 hours.

Due to this the check for a newer version never works as expected.

Reproduction steps

  • Download the current (v.2.89.0) JFrog CLI - does not matter which platform, I tested it on Windows and Linux.
  • Configure an Artifactory server
  • Set environment variable CI to TRUE to have the JFrog CLI print output to stdout (or else inspect the log file that is created in the next step)
  • Run an Artifactory download command (or any other command)
  • Observe the output, it contains the warning message:
    [🟠Warn] failed while trying to check latest JFrog CLI version: json: unknown field "url"

Expected behavior

The new version check runs successfully.

JFrog CLI version

v2.89.0

Operating system type and version

windows/amd64 (Windows 11) and windows/amd64 (Ubuntu 24.04)

JFrog Artifactory version

N.A.

JFrog Xray version

N.A.

Activity

  1. stephanvantienen-keen commented on Jan 29, 2026

    @stephanvantienen-keen
    Author

    Looking at the code the bug seems to have been introduced in commit 95128d4, in the following code:
    // Use json.Decoder with DisallowUnknownFields for safer deserialization decoder := json.NewDecoder(bytes.NewReader(body)) decoder.DisallowUnknownFields() if err = decoder.Decode(&githubVersionInfo); err != nil { return
    The githubVersionInfo is a gitHubResponse which is defined as:
    type githubResponse struct { TagName string json:"tag_name,omitempty" }
    If you use the URL that is used to get the version info (https://api.github.com/repos/jfrog/jfrog-cli/releases/latest) directly the output is:
    `{
    "url": "https://api.github.com/repos/jfrog/jfrog-cli/releases/278947997",
    "assets_url": "https://api.github.com/repos/jfrog/jfrog-cli/releases/278947997/assets",
    "upload_url": "https://uploads.github.com/repos/jfrog/jfrog-cli/releases/278947997/assets{?name,label}",
    "html_url": "https://github.com/jfrog/jfrog-cli/releases/tag/v2.89.0",
    "id": 278947997,
    "author": {
    "login": "vitaliil-jfrog",
    "id": 93778055,
    "node_id": "U_kgDOBZbwhw",
    "avatar_url": "https://avatars.githubusercontent.com/u/93778055?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/vitaliil-jfrog",
    "html_url": "https://github.com/vitaliil-jfrog",
    "followers_url": "https://api.github.com/users/vitaliil-jfrog/followers",
    "following_url": "https://api.github.com/users/vitaliil-jfrog/following{/other_user}",
    "gists_url": "https://api.github.com/users/vitaliil-jfrog/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/vitaliil-jfrog/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/vitaliil-jfrog/subscriptions",
    "organizations_url": "https://api.github.com/users/vitaliil-jfrog/orgs",
    "repos_url": "https://api.github.com/users/vitaliil-jfrog/repos",
    "events_url": "https://api.github.com/users/vitaliil-jfrog/events{/privacy}",
    "received_events_url": "https://api.github.com/users/vitaliil-jfrog/received_events",
    "type": "User",
    "user_view_type": "public",
    "site_admin": false
    },
    "node_id": "RE_kwDOAnGP4M4QoGid",
    "tag_name": "v2.89.0",
    "target_commitish": "master",
    "name": "2.89.0",
    "draft": false,
    "immutable": false,
    "prerelease": false,
    "created_at": "2026-01-21T11:36:44Z",
    "updated_at": "2026-01-22T10:47:14Z",
    "published_at": "2026-01-22T10:47:14Z",
    "assets": [

    ],
    "tarball_url": "https://api.github.com/repos/jfrog/jfrog-cli/tarball/v2.89.0",
    "zipball_url": "https://api.github.com/repos/jfrog/jfrog-cli/zipball/v2.89.0",
    "body": "\r\n\r\n## What's Changed\r\n### Exciting New Features 🎉\r\n* feature: Automatically set CI VCS properties on uploaded artifacts by @bhanurp in https://github.com/jfrog/jfrog-cli/pull/3309\r\n### Other Changes 📚\r\n* JGC-489 - Fix release by @RemiBou in https://github.com/jfrog/jfrog-cli/pull/3305\r\n* RTDEV-73424 - Set TestReleaseBundleCreationFromMultipleSourcesUsingSp… by @rimapol in https://github.com/jfrog/jfrog-cli/pull/3315\r\n\r\n\r\n**Full Changelog**: v2.88.0...v2.89.0",
    "mentions_count": 3
    }`
    Using the DisallowUnknownFields has the Decode fail.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions