Skip to content

[Deprecation] Legacy Routes Service (legacy-routes) #212

@silug

Description

@silug

Summary

Legacy 3.x compatibility routing is still implemented via dedicated legacy-routes service and adapter logic. Comments indicate this compatibility is intended to be removed.

Why This Is Soft / Inferred

No single explicit runtime deprecation warning is emitted for the service itself, but code comments repeatedly frame it as a temporary compatibility hack.

Evidence

  • src/clj/puppetlabs/services/master/master_service.clj:182 comment says old route-config hack can be removed when legacy routes are removed.
  • src/clj/puppetlabs/services/master/master_core.clj:1315 comment repeats removal condition for legacy routes support.
  • src/clj/puppetlabs/services/legacy_routes/legacy_routes_service.clj implements dedicated legacy routing service for compatibility endpoints.

Proposed Plan

  • OpenVox Server 9:
    • Add explicit startup warning when legacy-routes service is enabled.
    • Publish migration guidance to modern routes only.
  • Next major release:
    • Remove legacy-routes service and compatibility route rewrites.

Compatibility / Risk

  • High risk for older/legacy agent traffic still requiring v3/legacy path behavior.
  • Requires compatibility matrix validation before final removal.

Implementation Notes

  • Instrument legacy-route hit counts to assess real usage before hard removal.
  • Coordinate with agent support policy.

Acceptance Criteria

  • OpenVox Server 9 emits explicit deprecation signal when legacy routes are active.
  • Removal target and timeline are documented.
  • Follow-up major release issue is created for actual deletion.

Suggested Tests

  • Startup/logging tests for deprecation warning.
  • Route compatibility tests retained in 9; removal tests in next major.

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