Skip to content

CEE 2.0.1

Choose a tag to compare

@martinjoconnor martinjoconnor released this 24 Aug 17:52
· 123 commits to main since this release

CEDAR Embeddable Editor 2.0.1 Release

We’re pleased to announce CEDAR Embeddable Editor (CEE) 2.0.1, the first stable release in the 2.x series.

This release makes CEE easier and safer to integrate into third-party applications. It introduces a simpler configuration model, richer lifecycle and change events, improved read-only rendering, compact YAML downloads, and numerous validation and reliability fixes.

CEE 2.0.1 is available from npm as cedar-embeddable-editor.

See the CEDAR Embeddable Editor documentation for setup, configuration, and usage guides.

What’s New

Improved Host Integration

CEE now renders when supplied with a template even if no configuration object is provided. Configuration may also be supplied after the template.

Two events give host applications better visibility into the editor:

  • ready fires after the initial render is complete.
  • change identifies the changed field, its template path, the new value, and the resulting validation and data-quality state.

The change event fires only when the serialized instance changes, allowing applications to track unsaved work without repeatedly comparing complete instances.

Better Forms and Read-Only Views

This release improves both data entry and presentation:

  • Template defaults are applied consistently to text, textarea, controlled-term, numeric, and temporal fields.
  • Controlled-term values retain their identifiers when navigating between occurrences.
  • Identifiers are rendered as links in read-only views.
  • Read-only temporal values respect the field’s declared granularity.
  • Occurrence controls and checkbox layouts have been improved.
  • Forms without an instance now describe each field’s cardinality, permitted values, pattern, unit, default, and terminology sources.
  • Template version and publication status are displayed in the header.

Compact YAML Downloads

The download menu now includes:

  • Compact YAML – Instance
  • Compact YAML – Template

These are available alongside the full artifact representations.

Configuration Changes

CEE 2.x introduces a smaller, strongly typed configuration surface. Unknown configuration keys are now reported by TypeScript instead of being silently accepted.

The principal migration changes are:

  • terminologyBaseUrl replaces terminologyIntegratedSearchUrl.
  • bridgeBaseUrl replaces extAuthBaseUrl.
  • trustTemplateRichText replaces trustTemplateMarkup.
  • showDownloadMenu replaces the individual diagnostic-panel settings.

Terminology and external-authority lookups are disabled when their corresponding base URL is not configured. This prevents an editor from silently contacting unintended services.

The following obsolete or unreliable options have been removed:

  • Per-authority endpoint and URL-prefix settings
  • iriPrefix
  • showHeader and showFooter
  • Input and output serialization panels
  • The sample-template loader
  • hideEmptyFields
  • showSpinnerBeforeInit
  • showAllMultiInstanceValues
  • collapseStaticComponents
  • showStaticText

CEE also no longer generates an @id for every element occurrence, producing stable output when the same template is instantiated more than once.

Reliability and Validation

This release includes a broad set of correctness improvements:

  • Invalid templates and configuration objects are rejected without preventing a corrected value from being supplied later.
  • Template, instance, and configuration inputs are processed as a single consistent state.
  • Language maps load correctly when configuration follows the template.
  • Empty occurrences clear their widgets instead of displaying values from another occurrence.
  • Multi-select fields validate their values individually.
  • Choice fields with no selection no longer record an empty string.
  • Host-supplied values are preserved in read-only mode.
  • Consecutive page breaks and several read-only layout cases now render correctly.
  • Widget timers and subscriptions are cleaned up when their components are destroyed.

Security and Privacy

The ROR logo is now bundled with CEE instead of being fetched from GitHub while a form is rendered. This avoids disclosing form activity and the embedding application’s origin to an external service.

External terminology and authority services also have no default endpoint in 2.x; applications must configure them explicitly.

Compatibility

CEE 2.0.1 requires cedar-model-typescript-library@1.0.2.

For the complete technical change history, see the CEE changelog.