From 33cd95197b378a791096c48bd8e8e88f0b2e5720 Mon Sep 17 00:00:00 2001 From: Adrian Palacios Date: Wed, 27 Nov 2024 14:48:39 -0500 Subject: [PATCH] Pointers to v1 in timeline for committed RFCs Signed-off-by: Adrian Palacios --- text/0005-is-operator.md | 2 ++ text/0019-stricter-validation.md | 2 ++ text/0020-unique-record-keys.md | 2 ++ text/0021-any-and-all-operators.md | 2 ++ text/0024-schema-syntax.md | 2 ++ text/0032-port-formalization-to-lean.md | 2 ++ text/0034-precomputed-entity-attributes.md | 2 ++ text/0048-schema-annotations.md | 2 ++ text/0052-reserved-namespaces.md | 2 ++ text/0053-enum-entities.md | 2 ++ text/0055-remove-unspecified.md | 2 ++ text/0057-general-multiplication.md | 2 ++ text/0062-extended-has.md | 2 ++ text/0068-entity-tags.md | 2 ++ text/0070-disallow-empty-namespace-shadowing.md | 2 ++ text/0071-trailing-commas.md | 2 ++ text/0076-entity-slice-validation.md | 2 ++ text/0080-datetime-extension.md | 2 ++ text/0082-entity-tags.md | 2 ++ 19 files changed, 38 insertions(+) diff --git a/text/0005-is-operator.md b/text/0005-is-operator.md index 7026d572..b902d5cd 100644 --- a/text/0005-is-operator.md +++ b/text/0005-is-operator.md @@ -12,6 +12,8 @@ - Landed: 2023-11-08 on `main` - Released: 2023-12-15 in `cedar-policy` v3.0.0 +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary This RFC proposes to add an `is` operator to the Cedar language that allows users to check the type of entities. diff --git a/text/0019-stricter-validation.md b/text/0019-stricter-validation.md index d0b8d740..20a10375 100644 --- a/text/0019-stricter-validation.md +++ b/text/0019-stricter-validation.md @@ -12,6 +12,8 @@ - Landed: 2023-09-08 on `main` - Released: 2023-12-15 in `cedar-policy` v3.0.0 +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary Internally, strict validation of a policy is implemented as 1/ checking and transforming the policy using a _permissive_ validation mode; 2/ annotating the transformed policy with types, and 3/ checking the types against more restrictive rules. We would like to be able to at least _explain_ strict mode independently of permissive mode, but there is no easy way to do that. This RFC proposes to separate strict mode from permissive mode, making the implementation simpler and more understandable/explainable, though somewhat more strict. diff --git a/text/0020-unique-record-keys.md b/text/0020-unique-record-keys.md index 0d121e66..a149aeb6 100644 --- a/text/0020-unique-record-keys.md +++ b/text/0020-unique-record-keys.md @@ -12,6 +12,8 @@ - Landed: 2023-10-24 on `main` - Released: 2023-12-15 in `cedar-policy` v3.0.0 +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary Today, Cedar allows duplicate keys in record literals (and other record values, including `context`), with last-value-wins semantics. diff --git a/text/0021-any-and-all-operators.md b/text/0021-any-and-all-operators.md index ae100eca..26484750 100644 --- a/text/0021-any-and-all-operators.md +++ b/text/0021-any-and-all-operators.md @@ -11,6 +11,8 @@ - Accepted: 2023-11-08 (but later rejected, see below) - Rejected: 2024-05-21 +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary This RFC proposes extending the language with `all?` and `any?` operators that allow checking if all elements or any element in a set satisfies a given predicate. The `all?` operator returns `true` if the provided predicate is true for all elements in the set. The `any?` operator returns true if the predicate is true for any element in the set. diff --git a/text/0024-schema-syntax.md b/text/0024-schema-syntax.md index 89abd12b..16ffb527 100644 --- a/text/0024-schema-syntax.md +++ b/text/0024-schema-syntax.md @@ -12,6 +12,8 @@ - Landed: 2024-02-19 on `main` ([#557](https://github.com/cedar-policy/cedar/pull/557)) - Released: 2024-03-08 in `cedar-policy` v3.1.0 +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary This document proposes a custom syntax for Cedar schemas. The syntax was developed with the following goals in mind: diff --git a/text/0032-port-formalization-to-lean.md b/text/0032-port-formalization-to-lean.md index 013078a1..2e5c9467 100644 --- a/text/0032-port-formalization-to-lean.md +++ b/text/0032-port-formalization-to-lean.md @@ -12,6 +12,8 @@ - Landed: 2023-10-26 on `main` - Released: The Dafny formalization was deprecated in `cedar-spec` v3.1.0 (released 2024-03-08) +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary This RFC proposes to port our current Cedar models and proofs (written in [Dafny](https://dafny.org/)) to an alternative verification tool ([Lean](https://lean-lang.org/)) that is better suited for meta-theory proofs, like Cedar’s validation soundness proof. diff --git a/text/0034-precomputed-entity-attributes.md b/text/0034-precomputed-entity-attributes.md index a72b1b2d..3de5ea17 100644 --- a/text/0034-precomputed-entity-attributes.md +++ b/text/0034-precomputed-entity-attributes.md @@ -15,6 +15,8 @@ - Landed: 2023-11-16 on `main` - Released: 2023-12-15 in `cedar-policy` v3.0.0 +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary Internally, Cedar entity objects will store their attribute values as diff --git a/text/0048-schema-annotations.md b/text/0048-schema-annotations.md index be4eac8b..0b7b8d0e 100644 --- a/text/0048-schema-annotations.md +++ b/text/0048-schema-annotations.md @@ -9,6 +9,8 @@ - Started: 2024-02-05 +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary Like Cedar policies, users may want to associate arbitrary, machine readable metadata with Schema objects. diff --git a/text/0052-reserved-namespaces.md b/text/0052-reserved-namespaces.md index 70841944..9bba92ba 100644 --- a/text/0052-reserved-namespaces.md +++ b/text/0052-reserved-namespaces.md @@ -12,6 +12,8 @@ - Landed: 2024-07-15 on `main` ([#969](https://github.com/cedar-policy/cedar/pull/969)) - Released: TBD +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary This RFC extends the reservation of the `__cedar` namespace in schema in [RFC24](https://github.com/cedar-policy/rfcs/blob/main/text/0024-schema-syntax.md) and diff --git a/text/0053-enum-entities.md b/text/0053-enum-entities.md index b44a4a76..3e3c2ccc 100644 --- a/text/0053-enum-entities.md +++ b/text/0053-enum-entities.md @@ -7,6 +7,8 @@ - Landed: TBD - Released: TBD +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary Extend schemas to support declared enumerations of entity-typed values, analogous to how schemas can currently be used to enumerate a finite list of `Action`-typed values. diff --git a/text/0055-remove-unspecified.md b/text/0055-remove-unspecified.md index 42895c95..74b01f76 100644 --- a/text/0055-remove-unspecified.md +++ b/text/0055-remove-unspecified.md @@ -12,6 +12,8 @@ - Landed: 2024-06-19 on `main` ([#983](https://github.com/cedar-policy/cedar/pull/983)) - Released: TBD +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary Cedar currently supports _unspecified entities_, which are entities of a special, unique type that have no attributes, and are not ancestors or descendants of any other entity in the store. Unspecified entities are intended to act as placeholders for entities that don’t influence authorization (see examples below). diff --git a/text/0057-general-multiplication.md b/text/0057-general-multiplication.md index abe43f20..aee7e5a7 100644 --- a/text/0057-general-multiplication.md +++ b/text/0057-general-multiplication.md @@ -12,6 +12,8 @@ - Landed: 2024-03-20 in `cedar-policy` - Released: 2024-03-29 in `cedar-policy` v3.1.2 +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary Allow multiplication of arbitrary expressions (that evaluate to Long), not just diff --git a/text/0062-extended-has.md b/text/0062-extended-has.md index f0c59c13..a6afb393 100644 --- a/text/0062-extended-has.md +++ b/text/0062-extended-has.md @@ -12,6 +12,8 @@ - Landed: TBD - Released: TBD +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary This RFC proposes to extend the syntax of the `has` operator to check for the presence of all attributes in an access path. diff --git a/text/0068-entity-tags.md b/text/0068-entity-tags.md index 0d275882..4d471a88 100644 --- a/text/0068-entity-tags.md +++ b/text/0068-entity-tags.md @@ -12,6 +12,8 @@ - Accepted: 2024-07-26 - Rejected: 2024-09-11; see RFC 82 +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary This RFC proposes to extend the Cedar type system with the ability to include _embedded attribute maps_ (EA-maps for short) in entity types, with the primary goal of supporting a full-featured encoding for _tags_. For evaluation purposes, EA-maps have the same programming interface as records: keys are like record attributes and values are like attribute values. The difference is in how they are validated: the keys of EA-maps need not be enumerated in advance, as is required with record attributes, and all values must have the same type. Moreover, EA-maps are treated by the validator as second-class, meaning valid usage scenarios are somewhat restricted. diff --git a/text/0070-disallow-empty-namespace-shadowing.md b/text/0070-disallow-empty-namespace-shadowing.md index 0f15a3fe..7144eb1e 100644 --- a/text/0070-disallow-empty-namespace-shadowing.md +++ b/text/0070-disallow-empty-namespace-shadowing.md @@ -12,6 +12,8 @@ - Landed: 2024-08-26 on `main` ([#1147](https://github.com/cedar-policy/cedar/pull/1147)) - Released: TBD +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary In schemas, disallow definitions of entity types, common types, and actions that diff --git a/text/0071-trailing-commas.md b/text/0071-trailing-commas.md index 7f3738d7..27ff7057 100644 --- a/text/0071-trailing-commas.md +++ b/text/0071-trailing-commas.md @@ -12,6 +12,8 @@ - Landed: TBD - Released: TBD +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary The Cedar grammar (both policies and schemas) should accept trailing diff --git a/text/0076-entity-slice-validation.md b/text/0076-entity-slice-validation.md index 5a04c03f..c04c2ba7 100644 --- a/text/0076-entity-slice-validation.md +++ b/text/0076-entity-slice-validation.md @@ -9,6 +9,8 @@ * Started: 2024-08-01 +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary This RFC introduces "Entity Slicing Validation" (ESV), which consists of diff --git a/text/0080-datetime-extension.md b/text/0080-datetime-extension.md index e1ae9b56..1c43c2ca 100644 --- a/text/0080-datetime-extension.md +++ b/text/0080-datetime-extension.md @@ -12,6 +12,8 @@ - Landed: TBD - Released: TBD +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary Cedar currently supports extension functions for IP addresses and decimal values. diff --git a/text/0082-entity-tags.md b/text/0082-entity-tags.md index 99faf674..7886cb03 100644 --- a/text/0082-entity-tags.md +++ b/text/0082-entity-tags.md @@ -13,6 +13,8 @@ * Landed: TBD * Released: TBD +Note: These statuses are based on [the first version of the RFC process](./../archive/process-v1/README.md). + ## Summary This RFC proposes to extend the Cedar language, type system, and symbolic analysis to include full-featured *entity tags* for entity types. Tags are a mechanism used by cloud services to attach key-value pairs to resources. Cedar will allow them to be attached to any entities (not just resources).