protocol_rfcs/README.md
This directory contains information about the process of making Delta protocol changes via RFCs and all the RFCs that have been proposed since this process was adopted.
Here is the history of all the RFCs propose/accepted/rejected since Feb 6, 2024, when this process was introduced.
| Date proposed | RFC file | Github issue | RFC title |
|---|---|---|---|
| 2023-02-26 | column-mapping-usage.tracking.md | https://github.com/delta-io/delta/issues/2682 | Column Mapping Usage Tracking |
| 2023-04-24 | variant-type.md | https://github.com/delta-io/delta/issues/2864 | Variant Data Type |
| 2024-04-30 | collated-string-type.md | https://github.com/delta-io/delta/issues/2894 | Collated String Type |
| 2025-03-13 | checkpoint-protection.md | https://github.com/delta-io/delta/issues/4152 | Checkpoint Protection |
| 2025-03-18 | iceberg-writer-compat-v1.md | https://github.com/delta-io/delta/issues/4284 | IcebergWriterCompatV1 |
| 2025-05-06 | variant-shredding.md | https://github.com/delta-io/delta/issues/4032 | Variant Shredding |
| 2025-11-20 | materialize-partition-columns.md | https://github.com/delta-io/delta/issues/5555 | Materialize Partition Columns |
| Date proposed | Date accepted | RFC file | Github issue | RFC title |
|---|---|---|---|---|
| 2025-04-07 | 2026-02-17 | catalog-managed.md | https://github.com/delta-io/delta/issues/4381 | Catalog-Managed Tables |
| 2023-02-28 | 2023-03-26 | vacuum-protocol-check.md | https://github.com/delta-io/delta/issues/2630 | Enforce Vacuum Protocol Check |
| 2023-02-02 | 2023-07-24 | in-commit-timestamps.md | https://github.com/delta-io/delta/issues/2532 | In-Commit Timestamps |
| 2023-02-09 | 2025-01-28 | type-widening.md | https://github.com/delta-io/delta/issues/2623 | Type Widening |
| Date proposed | Date rejected | RFC file | Github issue | RFC title |
|---|---|---|---|---|
| 2023-02-14 | 2025-04-07 | managed-commits.md | https://github.com/delta-io/delta/issues/2598 | Managed Commits |
Create a Github issue of type [Protocol Change Request].
After creating the issue and discussing with the community, if a basic consensus is reached that this feature should be implemented, then create a PR to add the protocol RFC before merging code in master.
template.md and create a new RFC markdown doc.Note:
-dev. This will communicate to the users that are about to use experimental feature with no future compatibility guarantee.For a RFC to be accepted, it must satisfy the following criteria:
When the success criteria are met, then the protocol can be finalized by making a PR to make the following changes:
[ACCEPTED] to make it obvious how the proposal was resolved.protocol.md.accepted subdirectory, and update the state in index.md.-dev in the table feature name from all the code.However, if the RFC is to be rejected, then make a PR to do the following changes:
[REJECTED] to make it obvious how the proposal was resolved.rejected subdirectory.index.md.