v4.0.0
What's Changed
[!CAUTION]
Breaking Changes
- The
OverlayAPI has been updated. The optiondismissablehas been renamed todismissible. If you are using thedismissableoption in your code, you will need to update it todismissibleto avoid errors.
๐ฅ 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
windowglobal is available. See theopenmct-hellorepository 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.htmlis 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
- refactor: migrate to ESM by @LeoDog896 in https://github.com/nasa/openmct/pull/7331
- Table performance paging by @jvigliotta in https://github.com/nasa/openmct/pull/7399
- Make Tabs eager loading configurable but default to false by @davetsay in https://github.com/nasa/openmct/pull/7199
- Support telemetry batching and move WebSocket handling to worker by @akhenry in https://github.com/nasa/openmct/pull/7391
- Remove all logic around auto centering and scrolling the timelist by @shefalijoshi in https://github.com/nasa/openmct/pull/7474
- chore: remove
type: module, createopenmct-e2esubpackage by @ozyx in https://github.com/nasa/openmct/pull/7590 - chore: remove all usage of deprecated Time API methods by @ozyx in https://github.com/nasa/openmct/pull/7688
๐ 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
idproperty in order to enable this feature.
- Plan activities must contain a unique
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());
Commits
- feat(#7367): ProgressBar for
ExportAsJSONActionby @ozyx in https://github.com/nasa/openmct/pull/7374 - feat(#7394): Incorporate Status Indicators into the main Vue app by @ozyx in https://github.com/nasa/openmct/pull/7395
- Allow specification of swimlanes via configuration by @shefalijoshi in https://github.com/nasa/openmct/pull/7200
- New action to reload an individual view and all of its children by @scottbell in https://github.com/nasa/openmct/pull/7362
- Add filtering by metadata by @shefalijoshi in https://github.com/nasa/openmct/pull/7388
- Activity state display for plans in Gantt and Time list views by @shefalijoshi in https://github.com/nasa/openmct/pull/7370
- Add support for multiple CouchDB databases, multiple namespaces, and
readOnlyconfigurations by @scottbell in https://github.com/nasa/openmct/pull/7413
๐ 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
- [Flexible Layouts] Flexible Layout styling fixes by @khalidadil in https://github.com/nasa/openmct/pull/7319
- Timelist centering algorithm change and duration formatting change by @shefalijoshi in https://github.com/nasa/openmct/pull/7194
- Change Imagery positional freshness label from 'POS' to 'ROV' by @charlesh88 in https://github.com/nasa/openmct/pull/7409
- Table CPU Performance Improvements by @jvigliotta in https://github.com/nasa/openmct/pull/7392
- Fix constrast for accessibility by @charlesh88 in https://github.com/nasa/openmct/pull/7315
- Add Collapse to Recent Objects by @rukmini-bose in https://github.com/nasa/openmct/pull/7502
- Improve performance of JSON import and add progress bar by @scottbell in https://github.com/nasa/openmct/pull/7654
๐ง Maintenance
Commits
- chore(deps-dev): bump eslint from 8.53.0 to 8.54.0 by @dependabot in https://github.com/nasa/openmct/pull/7250
- [Build] Update to Node 20 and remove 16 (EOL) by @unlikelyzero in https://github.com/nasa/openmct/pull/7260
- chore(package.json): fix warning during npm publish by @ozyx in https://github.com/nasa/openmct/pull/7253
- [CLA Received] wrote an e2e test for can create a notebook object by @saram7619 in https://github.com/nasa/openmct/pull/7236
- chore: bump version to
3.3.0-nextby @ozyx in https://github.com/nasa/openmct/pull/7273 - chore(deps-dev): bump @vue/compiler-sfc from 3.3.8 to 3.3.10 by @dependabot in https://github.com/nasa/openmct/pull/7270
- fix: define main entry point in
package.jsonby @ozyx in https://github.com/nasa/openmct/pull/7298
โก Performance
Commits
- chore: upgrade eventemitter to v5.0.2 by @ozyx in https://github.com/nasa/openmct/pull/7709
- Destroy canvas in plots if not visible by @scottbell in https://github.com/nasa/openmct/pull/7263
- When searching, build the path objects asynchronously while returning the results by @scottbell in https://github.com/nasa/openmct/pull/7265
- Defer intersection monitoring until needed to prevent race conditions by @scottbell in https://github.com/nasa/openmct/pull/7278
๐ Bug Fixes
Commits
- fix(#7234): Fix frame deletion in Flexible Layouts by @ozyx in https://github.com/nasa/openmct/pull/7244
- Provide visibility based rendering as part of the view api by @scottbell in https://github.com/nasa/openmct/pull/7241
- Prevent rubber-banding in Telemetry Table filter input by @scottbell in https://github.com/nasa/openmct/pull/7248
- chore: bump
d3-scaleand use ESModule imports by @ozyx in https://github.com/nasa/openmct/pull/7245 - Update API documentation for Visibility-Based Rendering by @scottbell in https://github.com/nasa/openmct/pull/7262
- Inconsistent behavior with multiple annotations in imagery by @scottbell in https://github.com/nasa/openmct/pull/7261
- Handle aborted get requests and null domain objects when using ObjectAPI by @scottbell in https://github.com/nasa/openmct/pull/7276
New Contributors
- @saram7619 made their first contribution in https://github.com/nasa/openmct/pull/7236
- @LeoDog896 made their first contribution in https://github.com/nasa/openmct/pull/7029
- @skrobchik made their first contribution in https://github.com/nasa/openmct/pull/7247
Full Changelog: https://github.com/nasa/openmct/compare/v3.2.1...v4.0.0