@mashroom/mashroom
Advanced tools
Changelog
1.7.8 (May 31, 2021)
Changelog
1.7.7 (May 20, 2021)
Changelog
1.7.6 (May 10, 2021)
Changelog
1.7.5 (April 20, 2021)
Changelog
1.7.3 (March 17, 2021)
Changelog
1.7.2 (March 10, 2021)
Changelog
1.7.1 (March 10, 2021)
Changelog
1.7.0 (March 9, 2021)
Build under windows fixed
Problems with Node 15.x fixed
Http Proxy: Fixed encoding of query parameters (already URL encoded parameters were encoded again)
Portal: Added the possibility to define a default proxy config for Portal Apps. This is useful if you want to enable the permissions header for all Apps
Moved out some example plugins to the new https://github.com/nonblocking/mashroom-plugin-demos repo
Renamed mashroom-portal-demo-remote-messaging to mashroom-portal-remote-messaging-app because it's more a test util than a demo, just like the sandbox app
Admin UI (under /mashroom) polished up
Added a new plugin type admin-ui-integration to register an arbitrary web-app or static plugin as panel in the Admin UI (will be integrated via iframe)
Remote App Registry Kubernetes: BREAKING CHANGE: Since it uses ow the new background job scheduler to scan the k8s cluster, you also need to add mashroom-background-jobs to your dependencies, and the configuration slightly changed. Checkout the README in mashroom-portal-remote-app-registry-k8s.
Remote App Registry: BREAKING CHANGE: Since it uses ow the new background job scheduler to scan for remote apps, you also need to add mashroom-background-jobs to your dependencies, and the configuration slightly changed. Checkout the README in mashroom-portal-remote-app-registry.
Added a background job plugin (mashroom-background-jobs) that allows it to schedule arbitrary jobs based on cron expressions
HTTP Proxy: Added a second proxy implementation based on node-http-proxy, since request is deprecated. It can be enabled like this in the config:
{
"Mashroom Http Proxy Services": {
"proxyImpl": "nodeHttpProxy"
}
}
Default is still the request based implementation.
Migration to TypeScript completed (but flow types are still available).
The type aliases for express (ExpressRequest, ExpressResponse) are no longer required, so you can directly use the express types. E.g. in a middleware plugin:
import type {Request, Response, NextFunction} from 'express';
import type {MashroomMiddlewarePluginBootstrapFunction} from '@mashroom/mashroom/type-definitions';
const myMiddleware = (req: Request, res: Response, next: NextFunction) => {
const logger = req.pluginContext.loggerFactory('my.middleware');
logger.info('woohoo');
// TODO
next();
};
const bootstrap: MashroomMiddlewarePluginBootstrapFunction = async (pluginName, pluginConfig) => {
return myMiddleware;
};
export default bootstrap;
Error Pages: Added the possibility to add default messages if mashroom-i18n is not (yet) available
LDAP Security Provider: Under all circumstances prevent a login with an empty password since some LDAP servers accept it and allow a simple login
Portal: Load the JS resources for apps sequentially, because if there is more than one bundle they typically depend on each other
LDAP Security Provider: Add all roles from the groupToRoleMapping and userToRoleMapping to the known roles to improve the autocomplete in the Admin UI
Simple Security Provider: Add all roles from users.json to the known roles, to improve the autocomplete in the Admin UI
Changelog
1.6.4 (February 1, 2021)