Pre-flight checklist
Problem or use case
view is the declarative rendering layer and is still Beta, despite being central to authoring. Its directive contract changed materially just one minor ago: 1.14.0 added bq-once, bq-init, bq-pre, bq-cloak, bq-html-safe, and bq-memo, plus a full bq-on modifier system. Known rough edges remain (e.g., bq-for duplicate-key fallback warnings and object-expression parsing edge cases). A templating contract that just grew and still has parsing edge cases is not yet a stable foundation.
Proposed solution
Freeze the directive set and its expression grammar for at least one minor cycle, resolve the documented edge cases (duplicate-key handling in bq-for, object-expression parsing), and publish a complete, versioned directive reference with the SSR support status of each directive (coordinating with #128). Define view exit criteria: frozen directives, documented grammar, resolved parser edge cases, and full SSR/client behavior parity documented per directive.
Possible API or UX shape
## Stability: targeting Stable in 1.15.0
Frozen directives: bq-text, bq-html, bq-html-safe, bq-if, bq-show, bq-for,
bq-class, bq-style, bq-bind:*, bq-model, bq-on(+modifiers), bq-once, bq-init,
bq-pre, bq-cloak, bq-memo
Exit criteria:
- [ ] Directive set + expression grammar frozen for one minor
- [ ] bq-for duplicate-key + object-expression edge cases resolved
- [ ] Per-directive SSR support documented (#128)
Alternatives considered
Promoting view while parser edge cases remain — risks shipping a "stable" surface that still surprises users. Continuing to add directives before freezing — fine for Beta, but it must stop for one cycle to earn Stable.
Relevant area
view
Additional context
The declarative transitions in #137 and the optional compiled path in #138 are view enhancements that can land before or after promotion; this ticket is specifically the freeze-and-stabilize tracking issue.
Pre-flight checklist
Problem or use case
viewis the declarative rendering layer and is still Beta, despite being central to authoring. Its directive contract changed materially just one minor ago: 1.14.0 addedbq-once,bq-init,bq-pre,bq-cloak,bq-html-safe, andbq-memo, plus a fullbq-onmodifier system. Known rough edges remain (e.g.,bq-forduplicate-key fallback warnings and object-expression parsing edge cases). A templating contract that just grew and still has parsing edge cases is not yet a stable foundation.Proposed solution
Freeze the directive set and its expression grammar for at least one minor cycle, resolve the documented edge cases (duplicate-key handling in
bq-for, object-expression parsing), and publish a complete, versioned directive reference with the SSR support status of each directive (coordinating with #128). Defineviewexit criteria: frozen directives, documented grammar, resolved parser edge cases, and full SSR/client behavior parity documented per directive.Possible API or UX shape
Alternatives considered
Promoting
viewwhile parser edge cases remain — risks shipping a "stable" surface that still surprises users. Continuing to add directives before freezing — fine for Beta, but it must stop for one cycle to earn Stable.Relevant area
viewAdditional context
The declarative transitions in #137 and the optional compiled path in #138 are
viewenhancements that can land before or after promotion; this ticket is specifically the freeze-and-stabilize tracking issue.