November 29, 2021 (v4.6.18)
Fixes
Renaming an SAP SDK project no longer causes the BAPI Fetcher to fail.
October 06, 2021 (v4.6.17)
Fixes
Fixed an Error that was thrown when SAP API was deployed on Kubernetes Environment.
...
Info |
---|
The old implementation of HTTPRequestCustomizer methods have been deprecated. It is recommended to change your implementation to use the new one. The old implementation will be removed in version 4.7.0. |
Fixes
MQ Consumer
Password decryption during Runtime
Setting the ‘sync’ to True in the .yaml configuration prevents redundant messages from being sent to the queue
Fixed repeating errors in the console log
The producer connection remains open after first message
IndexOutOfBoundsException is no longer thrown when a message is received with less than 140 characters
Problems with User/Pass authentication were corrected
SOAP
Models are now generated correctly for complex WSDLs
Daisy-chained namespaces in a WSDL (one namespace imports a second namespace) now work correctly
AS/400 parser now recognizes
PIC -9(5)
CTG API projects no longer throw errors for the extended CTG entity
...
Core version was upgraded to v4.6.66
SSL Support was added to the IMS TCP connector
The number of producers in a Kafka SDK can now be controlled through a designated parameter
The message body in an HTTP Request can now be adjusted according to a value in the message header
MQ SDK can now access JKS from a public URL by checking SSL definitions
Users can now define the order in which files will be consumed in Runtime, by setting the strategy (by Name, Creation Date or Last Modification Date - ascending or descending)
Users can now define the number of times (instances) a CICS program can be called in a single MF transaction
File consumers can now process the same message a predefined number of times before moving or deleting it, according to the Error Handling strategy
Fixes
Kafka consumer projects now run correctly following correction of a bean exception
License utility now recognizes end projects that do not run as SpringBoot jars
The MF CTG connector now handles timeouts correctly
...
OpenAPI Parser now generates HTTP headers in the response when generating REST SDK models from Swagger specifications
The REST connector now maps HTTP headers in the responses
VSAM record metadata can now be loaded to the VSAM Record Registry
The VSAM file name property for datasets can now be read from the application.yml file
Fixes
MQ Consumer Input fields generated with correct annotations
CICS-VSAM Orchestration now operates correctly
...
A Transaction ID field has been added to the superclass that can be updated through mapping
Logical Unit Pools can now be loaded to Mainframe Screen projects from external JSON files
Error handling strategies can now be configured for Kafka endpoints to ensure no loss of data
Upgrades
Springboot was upgraded to v2.4.4
Fixes
Contract First service generation for multiple services fixed
REST SDK model generates correctly from Swagger with patch requests
Field selection issues with T24 Services corrected
Computational fields are now correctly recognized by COBOL parser
Sybase fetcher was updated to correctly handle nested stored procedures
...
JUnits are no longer generated for API project RPC entity parsers
Core version upgraded to 4.6.54
MQ Consumers
COBOL and PCML files can now be parsed for MQ Consumers
Users can now close MQ Consumers with greater control
Vertx -
OData performance has been improved following the switch to Vertx-based clients
REST RPC performance has been improved following the switch to Vertx-based clients
Fixes
T24 projects now handle different application versions correctly
...
IDE Core was upgraded to v4.6.46
Temenos (T24) Improvements
Parts with single fields are no longer generated
During runtime, if a user overrides the Temenos transaction info, it is not overridden with the Action properties
User and Password are now retrieved from the Application yaml
The Internal Debug feature was added to VSAM, allowing the buffer (to/from the mainframe) to be read, similar to CICS functionality
Kafka Consumer performance was improved by registering it as a vertical
The tn5250j screens connector was upgraded to the latest core version
A Kafka flow Spring Boot auto configuration module was added
Upgrades 3rd parties
kotlin 1.4.20 → 1.4.21
kotlin-coroutines 1.4.1 → 1.4.2
go-offline-maven-plugin 1.2.5 → 1.2.8
ktlint 0.39.0 → 0.40.0
kaml 0.26.0 → 0.27.0
kotlin-logging 1.12.0 → 2.0.4
vertx 4.0.0 → 4.0.2
spring cloud 2020.0.0-M4 → 2020.0.1
spring-security-oauth2-autoconfigure 2.3.4.RELEASE → 2.4.0
swagger-parser 1.0.52 → 1.0.54
swagger-parser-v3 2.0.23 → 2.0.24
swagger-ui 3.40.0 → 3.43.0
springdoc 1.5.3 → 1.5.4
openapi4j 1.0.4 → 1.0.5
odata-client-core 4.7.1 → 4.8.0
grpc 1.33.1 → 1.35.0
grpc-spring-boot-starter 4.2.2 → 4.4.3
protobuf-java 3.13.0 → 3.14.0
jprotobuf 2.4.4 → 2.4.6
protoc 3.13.0 → 3.14.0
cxf-spring-boot-starter-jaxws 3.4.1 → 3.4.2
guava 30.0 → 30.1
testcontainers 1.15.1 → 1.15.2
aws-sdk-v1 1.11.898 → 1.11.954
aws-sdk-v2 2.15.26 → 2.15.81
Removed:
spring-data-hazelcast
JCL JUnit tests were aligned to work with new users and custom JCLs
SSL parameters can now be enabled in the SDK YAML to secure the connection to the legacy
Fixes
If the contract defines the first returned status without any model, a controller is generated with an empty response
An unnecessary import to the entity part `import org.openlegacy.core.xml.XmlConstants` was removed
The Emulation service sign in was fixed to support older passwords
...
When parsing Contract-First, duplicate structures are no longer created for each method, thus creating fewer classes than before
Fixes
New projects are now created properly
Contract First now generates names that are in the correct length for Eclipse IDE
...
The core version was upgraded from 4.6.29 to 4.6.31
Contract generation now supports parsing ‘oneOf’ and then flattening the structure using JsonUnwrapped
Generating a REST SDK now supports parsing ‘oneOf’/'allOf' keywords in a Swagger specification
VSAM default entities were updated to comply with the V4 adapter
The IDE Flow Engine now supports Type Conversions automatically, according to the model ref
Support was added for the MQCIH header, to allow MQ-CICS communication
Support was added for the MQIIH header, to allow MQ-CICS communication
Support was added for the UserIdentifier header to allow MQ0CICS communication
SOAP Connector HTTP requests can now be customized before they are sent
The IMS Connector can now automatically identify the payload offset
Fixes
Adapter Errors can no longer get converted to gibberish text when using code pages other than CP037
Service generation now uses the correct business entity name
Arrays are now generated correctly when generating REST SDKs from certain Swagger specifications
SAP projects can now be created in the IDE correctly on Macs
REST RPC entities with a list-type field are now generated correctly from certain Swagger specifications
Error dialog is not longer displayed when generating APIs from certain Swagger specifications
IDE now displays option to “Prepare for OpenShift Deployment”
Support added for Rest HttpRequestCustomizer to allow asynchronous responses
User and Password properties for CICS were removed from the root level
Support added to avoid reprocessing an event if the same message is received later on a different thread (asynchronous messages)
Kafka ,MQ and File consumer endpoints no longer run as web services
MF Screen projects now generate correctly using TerminalPoolAction
...
The Queue Topic input field is displayed empty, to prevent errors
The VSAM Connector was updated to comply with the new VSAM V4 adapter function. The connector still supports V3 VSAM adapter, as well
Fixes
Swagger parser bug fixes for objects of type:array
Swagger parser now supports string formatting
JsonProperty Annotation is now generated properly when a Swagger specification is imported during the Contract First API Generation
...
Upgrades
Core version was upgraded to v4.6.20 to support Temenos fixes
Springboot was upgraded to v2.4.0
The following 3rd Party components were upgraded:
kaml 0.25.0 -> 0.26.0
spring cloud Hoxton.SR8 -> Hoxton.SR9
swagger-parser 1.0.51 -> 1.0.52
swagger-parser-v3 2.0.22 -> 2.0.23
springdoc 1.4.6 -> 1.4.8
openapi4j 1.0.3 -> 1.0.4
bouncycastle 1.66 -> 1.67
commons-net 3.7.1 -> 3.7.2
io.grpc 1.32.1 -> 1.33.1
grpc-spring-boot-starter 4.0.0 -> 4.2.2
protoc-gen-grpc-java 1.32.1 -> 1.33.1
cxf-spring-boot-starter-jaxws 3.4.0 -> 3.4.1
powermock 2.0.7 -> 2.0.9
guava 29.0-jre -> 30.0-jre
google-compile-testing 0.18 -> 0.19
testcontainers 1.15.0-rc2 -> 1.15.0
sqs-sdk-v2 2.14.16 -> 2.15.26
sqs-sdk-v1 1.11.860 -> 1.11.898
Single lists can be retrieved, even if the list is split into multiple chunks
BRM Connector now allows using previously established connections, rather than requiring a new connection for each request
Field Validations:
All required fields are now validated for populated values before the request is sent
String request values are now validated according to the RPCField annotation’s regularExpression property before being sent to the host
Numeric request values are now validated according to the Min Max annotation, before being sent to the host
Fixes
Concurrent connections are now supported in ZVSE
Service Helper classes are now created correctly when parsing a
yaml
file in the generation of a Contract First API projectThe io.ol.provider.ctg.CtgConstants class is now defined correctly
Kafka Consumer dead letter queue functions properly
Angular was upgraded to v1.0.2 and now parses curly brackets in Screen projects correctly
The RPCDateField pattern was fixed to recognize months correctly
Services generated from Business entities in Kafka Consumer are now generated with the correct field name that matches the Business Entity name
Internal properties no longer leak to the resulting XML after adding the Property annotation to the date field and executing the API
Binder now accepts empty lists as input without throwing ‘Source must not be Null’ exception
...
Upgrades
The SAP jco connector was upgraded to v3.1.3
The Eclipse platform was upgraded to 2020-12 (M2)
Reliability - The exceptions to be thrown for Connectivity Errors were defined for MQ, MSSQL , AS/400 and DB2
Kafka
Error handling strategies were defined for Kafka endpoint API projects
The default number of producers for a Kafka SDK has been set to 1. This improves performance. Additional instances can be added, if necessary
Performance of the Kafka Producer was improved by initializing the bean in the Start function
File API Project
CSV files can now be parsed as business entities in File API projects
XSD files can now be parsed as business entities in File API projects
Graphtalk Performance was improved by switching to Vertex-based clients
Fixes
Mainframe
All editable MF screens are now available for API projects
All service helpers are now available for Kafka API projects
The Sybase fetcher date pattern has been corrected
The validation annotation generated for Float fields has been corrected
RPC fields are now generated from COBOL copybooks with the correct name
Entity helpers are now generated with the correct setters for number fields after generating API from swagger specification
...
SDK Projects can now be defined to support BIDI text on the project level . Specific fields can be defined to override project level behavior. This improves Runtime handling of BIDI text to/from the legacy system
Regex validations have been removed for all field types except String
When generating an API from an SDK Kafka endpoint project, the user can configure the base path and the filename pattern for the file trigger
The screen entity name has been added to the Screens debugging messages to allow users to easily identify which screen the session in on
Fixes
Oracle Stored Procedures - Fetch systimestamp as vCreditDateTime
...
Entities can now be created from specifically formatted CSV files.
Get designated Excel file and instructions here: CSV Parser - Generating CSV from Designated Excel File
Fixes
As of this version, the versioning of the runtime components and the IDE have been decoupled. Runtime components will evolve with their own versioning using semver (MAJOR.MINOR.PATCH). The IDE will continue to evolve in the same bi-weekly release schedule, also using semver.
Oracle Stored Procedures - CLOB fields were being generated as string fields with VARCHAR db type.
...
Added parameters to Temenos Core banking application fetcher required for successful execution (version, function, gts, and company). These parameters will no longer need to beset in code
CSV parser format has changed to include an additional field “Original Name” that conveys the name of the field on the backend side
Fixes
Code generation now compiles correctly with $ value in itemNum
CLOB fields are now handled correctly in Stored Procedure connector
SOAP requests now support WSS passwords correctly
Flat fields in Contract First models are now validated correctly in Design Time model generation
Design Time API model now supports long values, in line with the @Value annotation
...
The following 3rd party application versions were updated:
Kotlin 1.0.0-RC -> 1.0.0
kaml 0.19.0 → 0.24.0
spring-security-oauth2-autoconfigure 2.3.3 → 2.3.4
kotlin-logging 1.11.3 → 1.12.0
swagger-parser-v3 2.0.21 → 2.0.22
commons-net 3.7 → 3.7.1
frontend-maven-plugin 1.10.0 ->1.10.3
grpc-spring-boot-starter 3.5.7 → 4.0.0
vertx 3.9.3 → 3.9.4
The REST Provider can now be configured to support trusted certificates
The File connector has been refactored to comply with the new infrastructure
Sybase Stored Procedure Improvements
Some Stored Procedures can now be parsed automatically to create an entity
Stored Procedures can now be fetched from Sybase DB
IBM MQ Improvements
IBM MQ Projects can now be set to send only requests without waiting for a response in Design Time and Run Time
Dynamic Parameters Support
Dynamic parameters can now be used in defining a new SDK project. This will allow assigning the appropriate values to the parameters, per SDK project needs
Dynamic parameters can now be used in defining API projects. This will allow assigning the appropriate values to the parameters, per API project needs
The PLI parser now recognizes a prefix used in a field name as a differentiator between fields whose names are otherwise identical (e.g.,
@YOBI CHAR(32)
and#YOBI CHAR(34)
)The Temenos Design Time parser has been updated to work with the latest provider. The provider itself was updated to support the new RPC infrastructure
The OpenLegacy Actuator was refactored to support Annotation Processing. This allows Audit data to be collected during compilation
Fixes
Timeouts over 30 seconds are now accepted
SLF4J errors are no longer thrown during compilation
APIs can now be generated from Swagger specifications that use mixed character codes (Japanese)
...
The CICS TS connector now supports multiple output structures for different Status codes. This allows defining default message success values per value returned in the response
The Mainframe CICS TS connector performance was significantly improved after switching to Vertx-based clients
The Dynamic field function was improved by allowing the implementation of only specifically defined functions using @JVMDefault
Maven Clean and Update are now automatically run after an entity field is updated in the entity editor. This will prevent errors by updating the EntityHelper in sync with the entity edit
The AS/400 RPC Connector now supports the *.SRVPGM extension to support calls to Service Programs
The CICS connector can now load certificates from an external file
The following 3rd party applications were updated
SpringBoot to v2.3.4
Vert.x to v3.9.3
Fixes
Payload Length property in the CICS TS Connector is now recognized. This allows padding the buffer
ContractFirst now generated correctly, without NullPointException error
Setting sapjco in SAP projects now persists after restart
API Projects can now be generated correctly from template zip files
Explore AS/400 Sources now functions correctly when creating AS/400 PCML projects
DB Fetcher used in Stored Procedures now displays correct text
...
String Field - Users can now define Left/Right Padding for string fields and determine the padding character
MQ Connector - AS/400 legacy types are now supported in IBM MQ SDK, In addition , the ability to browse messages by their contained value has been added for use when a correlation ID has not been used
Stored Procedure Mapper yml - Allows users to modify the entity action path and DB types without requiring an entity class update. This is useful when an entity was generated for a test environment, but is be used in production
As part of an infrastructure change , we’ve replaced our dependency on SpringFox with SpringDoc ,this allows our Swagger parser to support OpenAPI 3. Swagger 2 is no longer supported
Dynamic fields were redesigned to achieve even more flexibility
Fixes
OpenLegacy’s Swagger UI displays Japanese characters properly
When generating CICS Copybooks, IDE sometimes created a cyclic reference that was not identified as such
...