Skip to content

Allow excluding specific plugins from updateAll #102

Description

@Dawsson

Summary

Add a per-plugin way to exclude selected plugins from /pp updateAll, while keeping them tracked by Plugin Portal for listing, recognition, and manual updates.

Credit to Zoriot for the report.

Problem

Some server owners need to hold back a specific plugin version even when newer marketplace versions exist. Today /pp updateAll considers every tracked local plugin and has no per-plugin skip/pin mechanism. The only workaround is to stop tracking the plugin in Plugin Portal metadata, which is not ideal because it also loses normal Plugin Portal management context.

A concrete example is a plugin releasing an update that breaks worlds or server behavior, where the owner still wants to update other plugins safely.

Proposed behavior

  • Add a per-plugin update exclusion or pin flag for locally tracked plugins.
  • /pp updateAll should skip excluded plugins by default.
  • Single-plugin /pp update <plugin> should still allow a deliberate manual update, or should require an explicit force flag if that is safer.
  • The skipped plugins should be shown in updateAll output so operators understand why they were not updated.

Possible command surface

One of these would work:

  • /pp update ignore <plugin> and /pp update unignore <plugin>
  • /pp pin <plugin> and /pp unpin <plugin>
  • /pp updateAll --include-ignored for deliberate override

Implementation notes

  • Store the setting with the local plugin tracking data, for example an updateIgnored or pinned boolean on LocalPlugin.
  • Preserve backwards compatibility with existing plugins.json entries that do not include the new field.
  • Filter ignored plugins before building the /pp updateAll update plan.
  • Keep the plugin visible in /pp list, recognition, import/export, and manual update flows.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions