feature:upgrade

Upgrade declared features to the latest version available on GitHub.


Usage

splent feature:upgrade [<feature_name>] [--yes]
Argument / Option Description
<feature_name> Optional. Upgrade only this feature (e.g. splent_feature_auth). If omitted, all declared features are checked.
--yes Skip the confirmation prompt.

Examples

Check and upgrade all declared features.

splent feature:upgrade

Upgrade a specific feature.

splent feature:upgrade splent_feature_auth

Non-interactive upgrade (CI/scripts).

splent feature:upgrade --yes

Example output

  Checking latest versions on GitHub...

  Features to upgrade (2):

    splent_io/splent_feature_auth    v1.0.2 → v1.2.7
    splent_io/splent_feature_mail    editable → v0.9.1

  Proceed with upgrade? [y/N]: y

  ⬇️  Cloning splent_io/splent_feature_auth@v1.2.7...
  ✔  splent_io/splent_feature_auth → v1.2.7
  ✔  splent_io/splent_feature_mail → v0.9.1

  Done. Run 'splent product:resolve' to reinstall pip dependencies.

Description

Queries the GitHub API to find the latest tag for each declared feature, then upgrades any that are behind.

  1. Calls the GitHub tags API to resolve the true latest version.
  2. Clones the new version into .splent_cache if not already present.
  3. Updates the version reference in pyproject.toml (name@old_vername@new_ver).
  4. Replaces the symlink in {product}/features/{namespace}/ to point to the new cached version.

Features declared without a version (editable) are always offered for upgrade to the latest tagged release.

After upgrading, run splent product:resolve to reinstall pip dependencies with the new versions.


Notes

  • Set GITHUB_TOKEN to raise the API rate limit from 60 to 5,000 requests per hour.
  • To check what versions are available without upgrading, use feature:outdated.
  • To upgrade all outdated features at once, use feature:outdated --upgrade.
  • To pin a specific version (not the latest), use feature:attach instead.

Pairs well with

  • feature:outdated. Check for newer versions across all pinned features.
  • feature:outdated --upgrade. Upgrade all outdated features at once.
  • product:resolve. Reinstalls pip dependencies after an upgrade.
  • feature:pull. Keeps editable features up to date via git pull.

Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es