An issue with ndson
data format loading was fixed.
DataWeave 2.5.0 Release Notes
DataWeave is the programming language designed by MuleSoft for data transformation. It is also the expression language Mule runtime engine uses to configure components and connectors.
For more detail, see DataWeave Language.
January, 2024
DataWeave 2.5.2 is bundled with the Mule 4.5.3 release. The Mule patch release addresses the following DataWeave issues:
Issue Resolution | ID |
---|---|
W-14471869 |
For details about the Mule release and patch updates, see Mule Runtime Engine 4.5.0 Release Notes.
November, 2023
DataWeave 2.5.1 is bundled with the Mule 4.5.1 release. The Mule patch release addresses the following DataWeave issues:
Issue Resolution | ID |
---|---|
Temporary files are now closed for inputs bigger than 1.5 MB. |
W-13868202 |
The cached function coercion now works correctly for a second time when an argument is constant. |
W-13763138 |
The DataWeave |
W-14086694 |
Reading Avro schema with an array of |
W-14252745 |
Inconsistent XML encoding detection no longer occurs between indexed and in-memory parsers. |
W-13805995 |
For details about the Mule release and patch updates, see Mule Runtime Engine 4.5.0 Release Notes.
October 3, 2023
DataWeave 2.5.0 is bundled with the Mule 4.5.0 release. For details about the Mule release, see Mule Runtime Engine 4.5.0 Release Notes.
What’s New
The 2.5.0 version of DataWeave introduces the following new features and enhancements:
Support for backward compatibility with previous 2.x versions of DataWeave:
-
Compatibility flags retain previous DataWeave behavior at the Mule application level. For details, see DataWeave System Properties.
-
Syntax of an earlier version of DataWeave is supported through the
%dw
directive (such as%dw 2.4
).Setting the directive to an earlier version of DataWeave avoids any syntax-breaking changes when the DataWeave runtime engine runs the script. This script-level setting enables you to retain earlier behavior in some scripts while using the latest behavior in others. DataWeave syntax did not change between DataWeave versions 2.1 through 2.4. See discussion of
%dw
in DataWeave Header.
Extended format support:
-
ProtoBuf format support is available. See Protobuf Format.
-
cXML
support in the XML format is available for reading and creating doctype directives (DTDs). See XML Format.
Extended type support:
-
Loading type definitions from Java classes, JSON schemas, and XML schemas, and using the definitions in DataWeave scripts is supported. See Selecting Types.
-
Creating new DataWeave types from existing types is supported. See Reuse Types.
-
Specifying type parameters (similar to generics in other programming languages) of a function at the call site is supported. For details and examples, see Type Parameters and Work with Functions and Lambdas in DataWeave.
-
Introducing a Metadata Assignment Operator (
<~
) which enables you to set the metadata of any value without using theas
operator. See Metadata Assignment Operator.
Memory management:
-
DataWeave now uses a centralized memory service provided by the Mule runtime when executing in that context.
DataWeave module features:
-
The Dtd module (
dw::xml::Dtd
) is new. -
The toString function adds the
locale
parameter. -
The Core annotation
@UntrustedCode()
changes to@UntrustedCode(privileges: Array<String>)
. -
The concatWith function is new.
-
The version function is new.
Compatibility
The following table specifies which version of DataWeave is bundled with each Mule runtime engine release:
Mule Version | DataWeave Version |
---|---|
4.8 |
2.8 |
4.7 |
2.7 |
4.6 |
2.6 |
4.5 |
2.5 |
4.4 |
2.4 |
4.3 |
2.3 |
4.2 |
2.2 |
4.1 |
2.1 |
3.9 |
1.2 |
3.8 |
1.1 |
3.7 |
1.0 |
Fixed Issues
The release addresses the following DataWeave issues and incorporates all patch updates from the 2.4.0 DataWeave release through September 2023:
Issue Resolution | ID |
---|---|
The |
W-10648848 |
The |
W-12036895 |
Memory usage is now improved when using |
W-12245438 |
DataWeave now loads the Java class methods in deterministic order. Setting the property |
W-13028728 |
Typed parameters validation now works properly when using generics. |
W-10671626 |
Support is now added for negative |
W-10989197 |
The |
W-11327185 |
The literal type checking over escaped |
W-11333111 |
The |
W-11343563 |
The intersection of |
W-11611304 |
Unnecessary materialization in pattern matching no longer occurs. |
W-11698394 |
Trailing zeroes after the decimal point are now removed by default for JSON, YAML, CSV, and DataWeave formats. Setting |
W-11750379 |
The |
W-12227568 |
The |
W-12475183 |
The |
W-13635914 |
The |
W-11811398 |
The exception handling at |
W-12558946 |
The support for BOM marker on |
W-12704857 |
The |
W-12622236 |
A new set of functions is added to coerce a |
W-12552422 |
The |
W-12513180 |
The YAML module support for multiple documents is now improved. |
W-12103386 |
The Java module support now avoids unnecessary input stream consumption. |
W-12005692 |
The inferred type on |
W-11404344 |
Pattern matching is now improved when dealing with |
W-11590136 |
Ranges now support numbers without integer limitations. |
W-11210592 |
Parsing of directives including comments now works correctly. |
W-11132728 |
Type checking phase now works correctly over annotations. |
W-11032792 |
DataWeave now ignores BOM marker on binary files. |
W-10650435 |
The YAML module support of empty |
DW-1093 |
Adding schema to |
DW-746 |
The function |
DW-882 |
Tail recursive function recognition now works correctly when using the |
DW-866 |
Coercion for |
DW-851 |
Data format resolver now works correctly to avoid unnecessary error messages. |
SE-18503 |
Warning messages are now improved when coercing |
DW-845 |
Upgrade
This version of DataWeave is bundled with Mule. DataWeave upgrades take place through Mule. See Mule Upgrades and Patch Updates.