All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add
tracetracking to SDK messages for debugging and analytics - Added
TraceEntryinterface for the tracing information model
- Define and "publish" new model
SettingsRequest - Enhance
getSettingsRequest_v1_schemato support multiple keys as well as nested keys
- Add optional
sandboxPoliciesproperty toModalOpenRequestV2model and schema
- Make models GetFeatureFlagRequest and GetFeatureFlagResponse public by adding them to the index file
- Create and "publish" new model GetFeatureFlagsRequest to have an interface for an array request payload
- Update docs by enhancing description for GET_FEATURE_FLAG event and fixing some typos
- Fix schema outletsRequestDynamicContextResponse_v1_schema to apply draft-06 and draft-07 JSON validation standards
- Enhance schema getFeatureFlagRequest_v1_schema to support array next to object as correct request payload
- Add unit test to make sure that all schemas are valid and follow draft-04, draft-06 and draft-07 JSON validation standards (besides outletsRequestDynamicContextResponse_v1_schema)
- outletsRequestDynamicContextResponse_v1_schema has an optional array property called "plugins", which contains objects with an optional array property called "sandboxPolicies". Draft-04 does not support this "optional array" inside "optional array", while draft-06 and draft-07 do.
- Enhance model OutletsRequestContextResponse and OutletsRequestDynamicContextResponse by defining property plugin(s) better
- Update typescript version to avoid warnings during execution of unit tests
- Context with deploymentId for extensions only works in case the respective outlet has a target extension-assignment-id. Execute logic to retrieve deploymentId only in case respective outlet has a target.
- Implement internal V2.REQUIRE_PERMISSIONS
- Implement V3.GET_PERMISSIONS
- readd V1.CLOSE Event, since it is still used internally
- added V2.MODAL.OPEN
- updated V1.MODAL.OPEN modal name to specify it is V1
- added 'INVALID_EXTENSION' to ErrorType enum
- added 'isPreviewMode' property to OutletsRequestContextResponse type
- added 'isPreviewMode' property to OutletsRequestDynamicContextResponse type
- added 'data' property to ModalOpenRequest type
- removed unused Version1.CLOSE event
- isInsideShellModal() method always returning false
- Make property areDynamicOutletsEnabled from OutletsRequestDynamicContextResponse optional. It will be first removed from outlets package and later from Shell as multi-extension outlets are going to be always enabled.
- Add isScrollbarHidden field as part of modalSettings in payload for MODAL.OPEN event
- Add backdropClickCloseable field as part of modalSettings in payload for MODAL.OPEN event
- Validate max depth for OUTLETS.REQUEST_DYNAMIC_CONTEXT event
- outletSettings field in payload for OUTLETS.REQUEST_DYNAMIC_CONTEXT event
- outletSettings field in payload for OUTLETS.REQUEST_CONTEXT event
- Enhance fsm-shell to support dynamic outlets
- Json schemas for event payload validation
- Logic for event payload validation against json schemas
- Documentation updated to include event versioning guide.
- Fixed unit tests
- Messages to handle MODAL open and close event
- Add
isInsideShellModal()method to know if app is running inside Shell Modal
- Context with deploymentId for extensions only works in case the respective outlet has a target (name), which is optional. Execute logic to retrieve deploymentId only in case respective outlet has a target.
- Support context with deploymentId for extensions
- Make fsm-shell repository reuse compliant
- Update karma to newest version to fix security issue
- Add the possibility to ignore messages from a specific origin
- V1.RESTORE_TITLE event support
- V1.SET_TITLE event support
- Update dependencies to fix vulnerabilities
- Dependencies to fix security vulnerability
- REQUIRE_CONTEXT event enhanced to support extension authenticatiopn
- REQUIRE_AUTHENTICATION event for extension authentication support
- Validate iFrame origing against postMessage event origin when proxing events from outlets
- Added ability to dynamically add/remove allowed origins
- Update dependencies to fix potential security vulnerabilities
- Downgrade fsm-shell dependency typescript to make it compatible with the current outlet package
- Replace error message for the usage of V1.SET_VIEW_STATE event to a warning
- Support V1.GET_FEATURE_FLAG event
- Cypress compatibility issue for isInsideShell method
- Update dependencies to fix security breach
- Allow
OutletsRequestContextRequestmessage to show/hide mocks onV1.OUTLET.ADD_PLUGINevent
getTarget()method to access ShellSdk target object- Nested page within fsm-shell documentation
- Implement V2.GET_PERMISSIONS
- Implement V2.GET_STORAGE_ITEM
- Restore V1.GET_STORAGE_ITEM as cockpit use none shellSdk interface and need same syntax
- Fix
.joincrash onGET_STORAGE_ITEMevent. from shell-host
- Special rule to expose
keyvalue onGET_STORAGE_ITEMevent, with legacy support.
setAllowedOrigins()method now allows to filter events based on its origin.
- New ErrorType
OUTLET_HTTPS_ERROR. - Add
isRootNodeHttpsinOutletsRequestContextResponseinterface.
- Return
SHELL_EVENTS.Version1.OUTLET.LOADING_FAILif reached maximum depth
- Add
ShellSdk.isInsideShell()to verified if an application is running with or without Shell
- New
OutletsDeleteAssignmentRequestandOutletsDeleteAssignmentResponsemodels for messages - Propagate
SHELL_EVENTS.Version1.OUTLET.REQUEST_CONTEXTto all outlets if only update configurationmode state
- Implement CI with travis, badges, and coveralls
- Specify typescript version as dependency to avoid fix conflict
- Remove alert security by updating all dependencies
- Block
setViewStatefrom plugins
- Outlet feature
setViewStateandonViewStatemethodsTO_APPandREQUIRE_CONTEXT_DONEevents- Changelog file
- FLOW APIs have been removed