github nasa/openmct v4.0.0

latest release: v4.1.0-alpha-2024-09-10
8 days ago

What's Changed

💥 Notable Changes

openmct-e2e subpackage

The Open MCT e2e testing framework has been separated into a standalone package, openmct-e2e, in
preparation for distribution as a dependency for consumers of Open MCT.

Importing Open MCT

module, main, import and require fields have been added to the package.json so that the
openmct main bundle can be imported using either CommonJS or ESModule syntax.

Note

Open MCT is published in a UMD module format. Although this allows for flexibility in consumption,
the framework is still intended to be used within a browser environment where the window global
is available. See the openmct-hello repository for an
example of using or extending the Open MCT framework.

Accessibility

  • The default theme "Espresso" is now WCAG 2.0 AA and Section 508 compliant. This is automatically enforced through our visual accessibility testing suite, which runs on every commit.

API

TelemetryAPI
  • [EXPERIMENTAL] Add support for telemetry batching when using WebSockets
Misc
  • index.html is no longer published as part of the distribution.
  • The Timelist object no longer automatically scrolls to the current event.
  • Tab Displays no longer eager-load by default (tabs are now lazy-loaded by default).
Commits

🏕 Features

Actions

Reload

A new action "Reload" has been added to the context menus for all components that provide a view. Triggering this action will reload the view and all of its children. This is useful for reloading an individual view without needing to refresh the entire page.

JSON Import / Export
  • JSON import and export feature now shows a progress bar when using external persistence storage

Plan

  • Swimlanes can now be ordered based on the Plan JSON
  • Activities within a plan may now have their "state" set in the inspector view.
    • Plan activities must contain a unique id property in order to enable this feature.

Timelist

  • Activities may now be filtered by any of their metadata values.

CouchDB Plugin

  • Support for using multiple CouchDB databases at once
  • Support for read-only database configurations
  • See the CouchDB plugin documentation for more details

Themes

  • Add "Darkmatter" theme
openmct.install(openmct.plugins.DarkmatterTheme());

Note

Migrating from v3.x.x

Despite the major version bump, there are no known breaking changes between v3.x.x and v4.0.0. Projects consuming openmct should be able to upgrade to v4.0.0 without issue.

Commits

🎉 Enhancements

  • Flexible and Stacked Plot layouts styling behavior is now consistent
  • JSON import performance has been significantly improved
  • Recent objects panel is now collapsible
Commits

🔧 Maintenance

Commits

⚡ Performance

Commits
  • chore: upgrade eventemitter to v5.0.2 by @ozyx in #7709
  • Destroy canvas in plots if not visible by @scottbell in #7263
  • When searching, build the path objects asynchronously while returning the results by @scottbell in #7265
  • Defer intersection monitoring until needed to prevent race conditions by @scottbell in #7278

🐛 Bug Fixes

Commits

New Contributors

Full Changelog: v3.2.1...v4.0.0

Don't miss a new openmct release

NewReleases is sending notifications on new releases.