linkedin/coral

Version Deprecation Features in Coral

Open

#535 opened on 2024年9月23日

GitHub で見る
 (0 comments) (0 reactions) (1 assignee)Java (215 forks)auto 404
help wanted

Repository metrics

Stars
 (906 stars)
PR merge metrics
 (PR metrics pending)

説明

Background

Coral currently lacks a structured approach to version deprecation. This feature is needed to help drive new version adoption and allow developers to deprecate known breaking versions. This issue is related to the problems described in #534 , where unintended configuration overrides are causing authentication failures.

Objectives

  1. Implement a version deprecation system to encourage adoption of new versions.
  2. Allow developers to manually deprecate known breaking versions.
  3. Automate the deprecation process for older versions based on configurable criteria.

Proposed Features

1. Manual Deprecation

  • Ability for developers to deprecate specific versions through a GitHub Actions workflow.
  • Update GitHub release notes to mark deprecated versions.
  • Update Maven Central metadata (if applicable) to indicate deprecated versions.

2. Automatic Deprecation

  • Implement a scheduled task to automatically deprecate versions based on:
    • Age (e.g., versions older than 12 months)
    • Version difference (e.g., versions more than 10 minor versions behind the current release)
  • Allow configuration of deprecation criteria through GitHub Actions inputs.

Implementation Considerations

  • Create a separate GitHub Actions workflow for deprecation tasks.
  • Modify the build.gradle file to include deprecation-related tasks.
  • Ensure that the deprecation process doesn't interfere with the existing CI/CD pipeline.
  • Consider the impact on existing users and provide a grace period before full deprecation.

コントリビューターガイド