Skip to content

[Deprecation] Old Command Versions (Accepted But Deprecated) #209

Description

@silug

Summary

Command-processing supports a broader set of command versions than HTTP submission accepts; non-latest supported versions are warned as deprecated.

Evidence

  • src/puppetlabs/puppetdb/command/constants.clj:15 defines wide supported-command-versions sets.
  • src/puppetlabs/puppetdb/http/command.clj:22 defines stricter min-supported-commands for API submission.
  • src/puppetlabs/puppetdb/command.clj:602 defines warn-deprecated for deprecated command versions.
  • src/puppetlabs/puppetdb/command.clj:605 warning text: command version is deprecated, use latest.
  • documentation/versioning_policy.markdown:69 states deprecated API versions should retire on next major boundary.

Proposed OpenVoxDB 9 Change

  • Retire deprecated command versions from runtime command processor support.
  • Align accepted processing versions with supported submission policy.

Compatibility / Risk

  • High risk for integrations submitting older command payload versions via queues/initial sync paths.
  • Requires clear compatibility matrix and migration path.

Implementation Notes

  • Inventory actual producers of old versions before removal.
  • Optionally stage via warnings + metrics in OpenVoxDB 9, removal next major.

Acceptance Criteria

  • Deprecated command versions are no longer accepted once policy cutoff is reached.
  • Versioning docs and API behavior are aligned.
  • Command metrics/events clearly indicate rejected retired versions.

Suggested Tests

  • Command validation tests per command/version pair.
  • Integration tests for accepted latest versions and rejected retired ones.

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

    deprecationThis issue pertains to an item/topic which has been deprecated

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions