Changes since 24.9.0
Fixes
-
Ensure to add feature-flags import at the start of bundle (#22329)
Commit · Pull request · IssueThe feature flags import in dev mode with the hot reload disabled ends up after the custom elements definition. This is problematic for cases, like the
layoutComponentsImprovements
, where the feature flag value is checked at the definition time to decide whether some CSS styles should be added or not. This change moves the appending of the feature flags import to the end of the method, and adds it at the start of the file. -
Remove pinned async dev dependency from default package.json (#22321)
Commit · Pull request · IssueThe async dependency was originally added in PR #13547 to fix a Prototype Pollution security vulnerability. This is no longer needed as the vulnerability has been resolved in newer versions and there are no direct dependencies requiring async.
-
Use frontend instead of generated (#21860) (#22326)
Commit · Pull request -
Add try-catch to removing UIs (#22200) (#22323)
Commit · Pull request -
Create missing directory before writing dev bundle README (#22309)
Commit · Pull requestensure src/main/bundles directory exists before creating README file
-
Fix npm assets for dev bundle (#22266)
Commit · Pull request · Issuetiming when making a devBundle.
-
Copy all frontend resources from JAR files (#22264)
Commit · Pull request · IssueFrontend resources in JAR files are filtered to only copy a hard-coded set of file types like JS, TS, CSS, etc. Since the resources are collected only from specific folders, the filter is most likely unecessary and also makes it impossible to use fronted frameworks that rely on custom extensions (e.g. Vue). This change removes the file extension filter, allowing all files in META-INF/frontend and META-INF/resources/frontend to be copied in the frontend generated folder.
-
Handle ArrayNode in MapPutChange to fix ReactAdapterComponent.setState() (#22265)
Commit · Pull request · IssueWhen setState() is called with a String array in ReactAdapterComponent, the array gets converted to Jackson's ArrayNode. MapPutChange.populateJson() did not handle ArrayNode, causing it to fall through to the else clause which uses the old Elemental JsonCodec that doesn't recognize Jackson types. This resulted in: IllegalArgumentException: Can't encode class com.fasterxml.jackson.databind.node.ArrayNode to json The fix adds a specific case to handle ArrayNode values by converting them to Elemental JSON.