linkedin/coral

Version Deprecation Features in Coral

Open

#535 创建于 2024年9月23日

在 GitHub 查看
 (0 评论) (0 反应) (1 负责人)Java (215 fork)auto 404
help wanted

仓库指标

Star
 (906 star)
PR 合并指标
 (PR 指标待抓取)

描述

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.

贡献者指南