OGE logoOGE

Versioning and deprecation

How OGE UI numbers its releases, what an upgrade inside a major may change, how a deprecation reaches you before anything is removed, and which versions still get fixes. The same policy covers the Angular packages, the React packages and the framework-free engines.

semver lockstep releases v1.1.3

Version numbers

  • One version for the whole suite. Every @oge-ui/* package — Angular, React, engines, locales — is released together with the same number, and the packages depend on each other at that exact version. Keep all of them on one version; a mixed install pulls in two copies of @oge-ui/core and @oge-ui/behavior.
  • Small, frequent patch releases. The 1.x line ships as 1.1.1, 1.1.2, 1.1.3, … — new components and new members arrive in these releases too, instead of waiting for a minor. The compatibility rules below are what such a release promises.
  • The docs site is always the latest release (v1.1.3). The 0.13 line stays readable as a frozen copy at v0-13.ogeui.com; there is no per-patch archive.
# every @oge-ui package releases together — keep them on one version
npm install @oge-ui/grid@1.1.3 @oge-ui/inputs@1.1.3

# a mixed install shows up as two copies of the shared engines
npm ls @oge-ui/core @oge-ui/behavior

What a release may contain

What each kind of release may change
ChangeWithin 1.xOnly in a major (2.0)
Bug and security fixes Yes — every release —
New components, packages, inputs, outputs, props, methods Yes —
New message keys (with English defaults) Yes — a partial catalog keeps working —
A changed default or behaviour Rarely — listed under Migration notes with the setting that restores it Yes
Deprecating a member Yes — announced, still working —
Removing or renaming an export, input, prop or message key No Yes, after a deprecation
Dropping a supported Angular, React or Node major No Yes

Behaviour changes inside 1.x are rare and never silent: each one is listed under Migration notes / behaviour changes in that release of the changelog, with the one-line setting that restores the old behaviour (1.1.2: columnHidingMode="hide", adaptiveMode stays 'none' unless you opt in).

Deprecations

A member is deprecated before it is removed, never removed directly:

Where a deprecation is announced
ChannelWhat you see
TSDoc @deprecated Your editor strikes the member through and names the replacement.
Dev-mode console warning Once per key, for deprecated message keys that are still honoured ( [oge] the "…" message is deprecated… ). Production builds stay silent.
Changelog The release that deprecates it says so, with the replacement.
API reference The member stays documented until it is removed.
// @oge-ui/behavior — OgeGridMessages (excerpt)
rowCountAnnouncement: string;
/**
 * @deprecated Put the singular into `rowCountAnnouncement` as an ICU plural
 * branch. Still honoured for exactly one row (with a dev-mode warning)
 * until the next minor.
 */
rowCountOneAnnouncement?: string;

A deprecated member keeps working for at least one minor release and is removed no earlier than the release after that. Every member deprecated so far still works in v1.1.3:

Deprecated members and their replacements
DeprecatedSinceUse instead
rowCountOneAnnouncement (grid, tree list messages) 1.1.2 An ICU one {…} branch in rowCountAnnouncement
rowsSuffix (grid, tree list messages) 1.1.2 pagerInfo
validationSummaryTitleOne (forms messages) 1.1.2 An ICU one {…} branch in validationSummaryTitle
OGE_PIVOT_FIELD_DRAG_TYPE , OgePivotDragLike 1.1.2 Nothing — field chips use a pointer drag; kept so imports compile
buildSearchHighlightHtml ( @oge-ui/core ) 0.13.1 buildSearchHighlightSegments — real text nodes and <mark> elements

Supported versions

Release lines, platforms and support status
OGEAngularReactNode (tooling)Status
1.x 22 – 23 18 – 19 ≥ 22.22 Supported — fixes land on the latest 1.1.x
0.13.x 22 — ≥ 22.22 Security fixes only, until 2027-04-01
< 0.13 — — — End of life — upgrade (migration notes in the changelog)
  • Fixes, security fixes included, ship as a patch of the latest release; older 1.x patches are not back-ported to. Report vulnerabilities as described in SECURITY.md.
  • Peer ranges are declared, not implied: Angular packages accept @angular/core >=22.0.0 <24.0.0, React packages react ^18.0.0 || ^19.0.0. A new framework major is added to the range once the suite passes on it; dropping one is a major-only change.
  • Browsers: the last two versions of Chrome, Edge, Firefox and Safari, plus iOS Safari and Chrome for Android (.browserslistrc).

How the promise is checked

CI gates behind the compatibility promise
GateFails when
api-check A public signature of @oge-ui/core or @oge-ui/behavior changes without an updated API report (API Extractor).
package-check A package breaks a resolution mode ( publint , Are the Types Wrong).
size-check An entry point grows by more than 10 % gzip over its baseline.
license-boundary-check An MIT package depends on, or imports, a commercial one.
docs-tools:parity The Angular and React API tables of a family stop matching without a recorded reason.

Decision records

Changes to the platform strategy are written down as architecture decision records before they ship: