All notable changes to this tool will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- We added the translate function to the preview arguments. This can be used to translate texts show in the widget preview.
- We upgraded rollup to version 3. Custom rollup.config.js files likely require changes.
- The renderMode property in the preview arguments is no longer considered optional.
- We updated the Mendix package to 10.18.54340.
- We added the property type AssociationMetaData which exposes useful metadata for filtering and sorting datasources.
- We updated the Mendix package to 10.16.49747.
- We added the property type AttributeMetaData which exposes useful metadata for filtering and sorting datasources.
-
We updated the Mendix package to 10.15.46408.
-
We updated dependencies with non-breaking security patches.
- We added the renderMode parameter to the preview arguments. This flag will give developers the ability to customize the preview for different render modes namely x-ray, structure and design.
- We fixed an issue regarding native navigation support.
- We updated the Mendix package to version 10.12.38909.
- We fixed an issue where the rollup process would sometimes hang and prevent the widget build/release script from completing.
- We fixed an issue where the rollup process would sometimes hang and prevent the widget build/release script from completing.
-
We moved Pluggable Widgets Tools dependencies marked as external in rollup configuration files to devDependencies in the package.json.
-
We synced the version of @types/react package.
-
We synced the versions of resolution and override packages.
-
We added a new configuration file named jest.enzyme-free.config.js that doesn't include enzyme as a dependency.
-
We improved the widget migration script to exclude web dependencies for native widgets and vice versa.
- We fixed an issue where rollup warnings about
use clientanduse serverwere causing bundling failures.
- We updated the Mendix package to version 10.7.26214.
- We fixed an issue where migration caused a misalignment between versions for react, react-dom, react-native packages and their corresponding @types packages.
- We updated the Mendix package to version 10.5.21627.
- We fixed a bug in rollup-plugin-assets causing assets url on windows to not have the correct path separator (Ticket 194099).
- We removed
watchoption from base config for typescript
- We updated the Mendix package to version 10.0.9976.
- The ability to call a linked property value directly as a function, which was deprecated in Mendix 9.0, has been removed from the widgets API.
-
We fixed few issues with Jest while executing unit tests
-
We fixed a few issues caused by missing dependencies on package.json
-
We fixed a jest setup issue causing enzyme.render not to work properly
-
We added support to the typings generator for the data source caption (
{caption: string}), introduced in version 9.24.0. This feature will give widget developers the ability to display the same caption for a data source, that Mendix uses in the Page Explorer, within a widget preview. -
We've added an option to automatically migrate known libraries to versions compatible with Studio Pro 9.24
-
We added
@types/react,@types/react-domand@types/react-nativeas direct dependencies of the Pluggable Widgets Tools
-
We updated the Mendix package to version 9.24.2965.
-
We bumped the pinned version of TypeScript to 4.9.5.
-
We updated the typings generator for icon properties to support icon collections, introduced in Mendix 9.24.
- We fixed the output of the typings generator for
actionproperties that are specified as theonChangeaction of anassociationproperty. In this case, theactionproperty is not exported as a separate property to the widget, but the typings suggested otherwise.
- We removed the dependency for react-hot-loader as it's not being used since Pluggable Widgets Tools v9.0.0.
-
Icon properties now use
undefinedinstead ofnullwhen no icon is selected. This change was done for compatibility with theIconcomponent in the pluggable widgets API. -
We've updated our library versions (React and React Native), please be aware this might break your widgets. New libraries versions: React: 18.0.2, React-Native: 0.70.7. This is necessary due to breaking changes introduced in Studio Pro 9.24.0.
- We fixed an issue with jest configuration which was causing
pluggable-widgets-tools test:unit,pluggable-widgets-tools test:unit:webandpluggable-widgets-tools test:unit:nativeto fail incorrectly.
- We fixed an issue that prevented pluggable-widgets-tools commands to execute on 9.23.0.
- We updated the Mendix package to version 9.23.621.
-
We updated the @author in the typings generator from
Mendix UI Content TeamtoMendix Widgets Framework Team. -
We updated babel-jest configuration to prevent warnings during unit test execution.
- We added support to the typings generator for the
assignableToreturn type of an expression property, introduced in Mendix 9.20. This feature allows the expected return type of the expression to be derived from an attribute property.
- We removed
cypressdependencies from the pluggable-widgets-tools and the scripttest:e2e. In case if you want to continue using Cypress, please install the dependencies manually.
- We've deprecated the
classNamepreview property. From now on, you have to useclassproperty instead.
- We added support for association properties linked to a data source, introduced in Mendix 9.17.
- We removed
webdriveriofrom our dependencies as we're using Cypress for e2e testing purposes. In case if you want to continue using WebDriverIO, please install the dependencies manually.
- We updated
cypressto version 10.
- We fixed an issue which caused CSS URL transforms to include paths with backslashes when running on Windows.
- We added set of helpers for conditional visibility of properties.
-
We updated required Node.js version to the current LTS version.
-
Update
rollupand@rollup/plugin-commonjs
- We fixed an issue with some packages were wrongly assumed to be externally available.
-
We added support for the new association property introduced in Mendix 9.13.
-
To meet the requirements of the FedRAMP regulation, we added a feature to generate
dependencies.txtanddependencies.jsonfiles in the release phase of a widget.dependencies.txtfile contains the license texts of all (transitive) dependencies and thedependencies.jsonfile contains all (transitive) dependencies and their versions for automated scanning purposes. -
We added a new feature to copy the
LICENSEfile if it exists in the widget source folder.
- We updated the Mendix package to version 9.13.43286.
- We fixed the way assets are handled inside widgets to comply with strict Content-Security-Policy.
- We increased the max SVG file size limit to 200 kB to accommodate SVGs of a bigger size used in structure preview mode for the native release build tool.
-
We added compatibility with node 15+ and npm 7+.
-
We added resolutions for
react,react-domandreact-nativein order to be compatible with node 15+ and npm 7+.
-
We updated version of
@wdioandreact-nativelibraries. -
We changed
eslint-plugin-reactto version7.28.0in order to fix this issue.
- We removed
@wdio/syncfrom our dependency.
- WebDriverIO has deprecated its sync version while using node 16. E2e tests needs to be migrated to async/await when using node 16 or manually add the dependency if not.
- We updated mendix library to 9.10.36429
- We bumped the version of rollup to 2.66.1 to fix a problem introduced in v2.67.0 causing builds to fail on Windows machines.
- We changed usage of
colorstoansi-colors.
- We fixed
colorsdependency version to 1.4.0.
- We added
@prettier/plugin-xmlplugin to fix xml code format and check for xml errors.
-
We fixed the typing generation for actions that are referenced by the
onChangeof an attribute. -
We fixed prettier configurations for
jsxBracketSameLine.
- We added support for dark icons (
widgetName.icon.dark.png andwidgetName.tile.dark.png).
-
We changed
wdio-image-comparison-servicefromdevDependenciestodependencies. -
We updated typescript and prettier versions.
- We fixed the typing generation for
editorPreviewfiles.
- We added a file containing all the dependencies licenses (dependencies.txt) in the release phase of a widget.
- We updated mendix library dependency.
- We added minification of CSS files inside generated widget MPKs (using
npm run release).
-
We fixed the compilation of CSS/SASS files imported from libraries (node_modules) (Ticket 133343).
-
We fixed an issue with
@importand@usenot working in CSS/SCSS files.
-
We've updated
@rollup/plugin-typescriptdependency to 8.3.0 -
We've updated
typescriptdependency to 4.4.4 -
We've updated
mendixdependency to 9.7.0
-
We reverted the feature introduced in 9.5.4 that automatically formatted each build as this caused builds to stall in certain cases.
-
We fixed an issue in Windows machine about missing dependencies (Ticket 132841).
- We added a feature where the code will be formatted automatically after each build.
- We fixed an issue with the native release build tooling by disabling code mangling that could cause runtime errors in certain cases.
- We fixed an issue where optional dependencies would cause a build error if not present.
-
We fixed an issue where the e2e test script overrides a local test project by default. To override the existing local test project, supply the following argument when calling the script:
--update-test-project. -
We improved error handling for e2e testing.
- We fixed an issue where optional peer dependencies would cause a build error if not present.
- We fixed an issue with paths containing spaces on windows causing tests (unit and e2e) to throw
Could not find a config file based on provided values.
- We added support for icon and tile images. Now you can use an image file instead of
<icon>in yourMyWidget.xml. In order to use, please make sure you follow the patternsrc/MyWidget.icon.png(24x24px) andsrc/MyWidget.tile.png(256x192px)
-
We fixed the formatting of Preview typings
-
We fixed the Preview typings for Icon property.
-
We defined a fixed version of
typescriptto 4.3.5 in order to prevent processes to be hanging after creates the widget mpk. See issue here -
We updated Mendix library to 9.5.0
- We've updated rollup & rollup plugins dependencies.
- We changed the behavior of commonjs plugin for rollup to identify the correct way to handle require (as default or not).
- We added an extra es6 module output (.mjs) for widgets in order to make widgets compatible with modern client.
-
Updated Mendix package to 9.4.
-
If a datasource property is optional and has not been configured by the user, any properties that are linked to that datasource property are automatically omitted from the props passed to the client component (even if they are marked as required). The generated typings have been updated to reflect this, marking such properties as optional.
- We added support to download a Mendix test project from a GitHub repository branch.
- We fixed the preview prop typing generation for data sources.
- We added support for testing components that make use of SVG images.
- We reintroduced the possibility to use
.envfile for environment variables (removed in v9 previously)
- Update Mendix package to version 9.2.
- We fixed an issue with external dependencies while code was being converted to CommonJS code.
-
Update webdriverio package to version 7.
-
Update Mendix package to version 9.1.
-
Replaced
@rollup/plugin-replacewithrollup-plugin-redue toUnexpected errorsbeing thrown while using Native class based libraries.
-
Allow only SVG files to be imported in the
editorConfig.tsfile of widgets. -
Set the file size limit of an imported SVG file to 100 kB.
-
Set required node version to v12 or higher.
-
Note in the README file that installation with NPM v7.x.x requires the flag
--legacy-peer-deps.