---
title: "Set up and monitor upstreams more effectively"
description: "We've made a series of usability improvements to Upstreams in the web app."
canonical_url: "https://cloudsmith.com/changelog/set-up-and-monitor-upstreams-more-effectively"
last_updated: "2026-04-19T19:33:42.252Z"
---
# Set up and monitor upstreams more effectively

We've made a series of usability improvements to [**Upstreams**](https://docs.cloudsmith.com/repositories/upstreams) in the web app.

**Connect to your first upstream faster: **If you haven't yet configured an upstream on a repository, a new streamlined setup makes it easy to connect to one in a single click.

```json
{
  "_key": "f13221ec834e",
  "_type": "image",
  "alt": "Upstream configuration in Cloudsmith",
  "asset": {
    "_createdAt": "2026-04-18T20:42:15Z",
    "_id": "image-b2a7c97f8c0f7142030d4e2a696e0ae0a54beef1-2048x809-jpg",
    "_rev": "bu3b2Jlczux7NdiAFz1ORK",
    "_type": "sanity.imageAsset",
    "_updatedAt": "2026-04-18T20:42:15Z",
    "assetId": "b2a7c97f8c0f7142030d4e2a696e0ae0a54beef1",
    "extension": "jpg",
    "metadata": {
      "_type": "sanity.imageMetadata",
      "blurHash": "D7Sija%K9c?GWE?ws*D+%1Rn",
      "dimensions": {
        "_type": "sanity.imageDimensions",
        "aspectRatio": 2.5315203955500616,
        "height": 809,
        "width": 2048
      },
      "hasAlpha": false,
      "isOpaque": true,
      "lqip": "data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAIABQDASIAAhEBAxEB/8QAFwABAAMAAAAAAAAAAAAAAAAAAAMECP/EAB0QAAICAgMBAAAAAAAAAAAAAAABAhESMQMEEyH/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/EABYRAQEBAAAAAAAAAAAAAAAAAAABEv/aAAwDAQACEQMRAD8A0/GKScqe9EuX1qnoAQrLpRlcvTlVu6yABW6Mx//Z",
      "palette": {
        "_type": "sanity.imagePalette",
        "darkMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#2e4159",
          "foreground": "#fff",
          "population": 0.01,
          "title": "#fff"
        },
        "darkVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#306488",
          "foreground": "#fff",
          "population": 0.02,
          "title": "#fff"
        },
        "dominant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#aebbcf",
          "foreground": "#000",
          "population": 0.23,
          "title": "#fff"
        },
        "lightMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#aebbcf",
          "foreground": "#000",
          "population": 0.23,
          "title": "#fff"
        },
        "lightVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#6cacfc",
          "foreground": "#000",
          "population": 0.03,
          "title": "#fff"
        },
        "muted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#946474",
          "foreground": "#fff",
          "population": 0,
          "title": "#fff"
        },
        "vibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#3f7cee",
          "foreground": "#fff",
          "population": 0.03,
          "title": "#fff"
        }
      },
      "thumbHash": "/fcBA4AHaoeTwDZpDcHDACw="
    },
    "mimeType": "image/jpeg",
    "originalFilename": "pasted-image.jpg",
    "path": "images/rafvlnhi/production/b2a7c97f8c0f7142030d4e2a696e0ae0a54beef1-2048x809.jpg",
    "sha1hash": "b2a7c97f8c0f7142030d4e2a696e0ae0a54beef1",
    "size": 393977,
    "uploadId": "3kC9XNrqo3pdIsbnqJUgqMEg2b7bcnlL",
    "url": "https://cdn.sanity.io/images/rafvlnhi/production/b2a7c97f8c0f7142030d4e2a696e0ae0a54beef1-2048x809.jpg"
  },
  "caption": "Upstream configuration in Cloudsmith",
  "link": {
    "_type": "link",
    "href": null,
    "openInNewTab": false
  },
  "markDefs": null
}
```

**Spot upstream errors at a glance: **An error tag is now displayed in the table if an upstream encounters a problem, such as invalid credentials or an unreachable address. Connectivity issues are also surfaced directly in the upstream status column.

```json
{
  "_key": "cfa01d7590bb",
  "_type": "image",
  "alt": "Improved error states in the upstreams table ",
  "asset": {
    "_createdAt": "2026-04-18T20:42:47Z",
    "_id": "image-d814d721f01215d18943abf4338ec3ce7f9ed548-810x550-jpg",
    "_rev": "bu3b2Jlczux7NdiAFz1QuS",
    "_type": "sanity.imageAsset",
    "_updatedAt": "2026-04-18T20:42:47Z",
    "assetId": "d814d721f01215d18943abf4338ec3ce7f9ed548",
    "extension": "jpg",
    "metadata": {
      "_type": "sanity.imageMetadata",
      "blurHash": "V7SsBH?H-qtkbb^*x]x]VtM{v:EKI.$+t7~XWUaLbbfk",
      "dimensions": {
        "_type": "sanity.imageDimensions",
        "aspectRatio": 1.4727272727272727,
        "height": 550,
        "width": 810
      },
      "hasAlpha": false,
      "isOpaque": true,
      "lqip": "data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAANABQDASIAAhEBAxEB/8QAGQAAAQUAAAAAAAAAAAAAAAAAAAECAwQI/8QAHhAAAgICAgMAAAAAAAAAAAAAAAECEQMhEhQxUWH/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABcRAQEBAQAAAAAAAAAAAAAAAAARAWH/2gAMAwEAAhEDEQA/ANTyjcfBU5ZFk3VfBzyy7PC9E1J7pFibwqba3BoAd+wEH//Z",
      "palette": {
        "_type": "sanity.imagePalette",
        "darkMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#07917b",
          "foreground": "#fff",
          "population": 0,
          "title": "#fff"
        },
        "darkVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#067d6b",
          "foreground": "#fff",
          "population": 0,
          "title": "#fff"
        },
        "dominant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#6aa48c",
          "foreground": "#fff",
          "population": 0.01,
          "title": "#fff"
        },
        "lightMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#acccbc",
          "foreground": "#000",
          "population": 0,
          "title": "#fff"
        },
        "lightVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#c8fcf4",
          "foreground": "#000",
          "population": 0,
          "title": "#000"
        },
        "muted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#6aa48c",
          "foreground": "#fff",
          "population": 0.01,
          "title": "#fff"
        },
        "vibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#0df1ce",
          "foreground": "#000",
          "population": 0,
          "title": "#fff"
        }
      },
      "thumbHash": "/vcBBYD6hJzIXFQZxOpnh5h+wJr3"
    },
    "mimeType": "image/jpeg",
    "originalFilename": "pasted-image.jpg",
    "path": "images/rafvlnhi/production/d814d721f01215d18943abf4338ec3ce7f9ed548-810x550.jpg",
    "sha1hash": "d814d721f01215d18943abf4338ec3ce7f9ed548",
    "size": 124741,
    "uploadId": "AbbAZQUCTEo7YqQjWsXBo0QzbC25tFvY",
    "url": "https://cdn.sanity.io/images/rafvlnhi/production/d814d721f01215d18943abf4338ec3ce7f9ed548-810x550.jpg"
  },
  "caption": "Improved error states in the upstreams table ",
  "link": {
    "_type": "link",
    "href": null,
    "openInNewTab": false
  },
  "markDefs": null
}
```

**See more detail on each upstream: **Each row in the upstreams table now shows the number of indexed packages, and can be expanded to reveal further detail — including the last indexed timestamp, GPG key details, and distributions.

```json
{
  "_key": "87b0172e7eca",
  "_type": "image",
  "alt": "An expanded row in the upstreams table ",
  "asset": {
    "_createdAt": "2026-04-18T20:43:20Z",
    "_id": "image-c99e5e4b48e57508d725f89cf5307b7a1a648040-2048x907-jpg",
    "_rev": "DiUsnK6TUj65f8IV11oiyr",
    "_type": "sanity.imageAsset",
    "_updatedAt": "2026-04-18T20:43:20Z",
    "assetId": "c99e5e4b48e57508d725f89cf5307b7a1a648040",
    "extension": "jpg",
    "metadata": {
      "_type": "sanity.imageMetadata",
      "blurHash": "M5S~#E%3Rk.7W:?^s:sCNGRjEMs:n+NGWB",
      "dimensions": {
        "_type": "sanity.imageDimensions",
        "aspectRatio": 2.2579933847850056,
        "height": 907,
        "width": 2048
      },
      "hasAlpha": false,
      "isOpaque": true,
      "lqip": "data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAJABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAgAI/8QAGxAAAgMAAwAAAAAAAAAAAAAAAAECERIxQWH/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oADAMBAAIRAxEAPwDUiWa9FhXZLoYSA4ohS5IpH//Z",
      "palette": {
        "_type": "sanity.imagePalette",
        "darkMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#296f53",
          "foreground": "#fff",
          "population": 0,
          "title": "#fff"
        },
        "darkVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#236048",
          "foreground": "#fff",
          "population": 0,
          "title": "#fff"
        },
        "dominant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#a0dcc4",
          "foreground": "#000",
          "population": 0.03,
          "title": "#fff"
        },
        "lightMuted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#cca4ac",
          "foreground": "#000",
          "population": 0.01,
          "title": "#fff"
        },
        "lightVibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#a0dcc4",
          "foreground": "#000",
          "population": 0.03,
          "title": "#fff"
        },
        "muted": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#74b4a4",
          "foreground": "#000",
          "population": 0.01,
          "title": "#fff"
        },
        "vibrant": {
          "_type": "sanity.imagePaletteSwatch",
          "background": "#44ba8b",
          "foreground": "#fff",
          "population": 0,
          "title": "#fff"
        }
      },
      "thumbHash": "/vcBA4Bjh0mQSEWJZZCSCTo="
    },
    "mimeType": "image/jpeg",
    "originalFilename": "pasted-image.jpg",
    "path": "images/rafvlnhi/production/c99e5e4b48e57508d725f89cf5307b7a1a648040-2048x907.jpg",
    "sha1hash": "c99e5e4b48e57508d725f89cf5307b7a1a648040",
    "size": 262507,
    "uploadId": "Gy6ywWWCsKYU3KsL2LgaAiLzPgo3HWqK",
    "url": "https://cdn.sanity.io/images/rafvlnhi/production/c99e5e4b48e57508d725f89cf5307b7a1a648040-2048x907.jpg"
  },
  "caption": "Each row in the upstreams table can be expanded to reveal additional information",
  "link": {
    "_type": "link",
    "href": null,
    "openInNewTab": false
  },
  "markDefs": null
}
```

### Additional improvements

- A reindex action is now available for each upstream.
- Upstreams can now be updated without re-entering a password when authentication is enabled.
- The upstreams table is now sorted in priority order.

For even greater insight into upstream activity, see [Track and troubleshoot upstream requests with logs](/changelog/track-and-troubleshoot-upstream-requests-with-logs).
