Changelog Companion for Delivery

5.4.3

Released on 2024-08-21

Bug fix

  • Potential failure of c4d license offline usage

5.4.2

Released on 2024-02-16

Bug fix

  • XML elements having the same tag are now sorted using their attributes.
  • The documentation and decompiler goals now exports nodes present inside the export configuration.

5.4.0

Released on 2023-11-03

Compiler has been improved to recompile only modified files

The way the compiler works has been revised to allow only files that have been modified to be compiled, thus saving a very important time factor when compiling again.

Three things have been put in place to achieve this:

  • the compiler now cleans the output directory /target/classes/step between compilations in order to support perimeter changes.
  • the compiler generates files in a buffer directory /target/companion-generated/output before copying the necessary files to the output directory in order to have a cache between different compilations.
  • the compiler is now able to determine which files a .companion.[xlsx|xlsm|csv|xml] file depends on. This makes it possible, for example, to recompile if a javascript file is modified.

To take advantage of this improvement, simply stop performing mvn clean between two compilations.

Adding parameterised tests

It is now possible to run parameterised tests in Companion for Delivery tests.

Developer -> Tests -> Parameterized Tests

Improvements

  • A new twirl extension has been added @files(path) which allows you to import all the files in a directory
  • The decompiler and portal splitter have been modified to use the @files extension to import screens. This eliminates the need to list screens in the .companion.template.xml file.

Bug fix

  • Warnings were present when using the latest version of maven. This is no longer the case with version 3.9.4 of maven.

5.3.0

Released on 2023-09-01

New features

Decompiler can generate file using Companion twirl templates

Companion for Delivery now depends on version 4.0.0 of Companion Templates, this version can still be overridden in the pom.xml

This new dependency allow to add an option useTemplate in the Decompiler to generate .companion.xml files that use templates when it's possible.

If you are already using an older version of Companion Twirl Templates, you must upgrade to at least version 4.0.0 to use this feature. See Companion Twirl Templates changelog.

Developer -> Decompiler

Decompiler without using hierarchy for directories

A new option flattenByType allows you to decompile without using the STEP hierarchy to distribute decompiled elements in different directories.

Developer -> Decompiler

Improvements

  • Excel sheets that are hidden are no longer taken into account in compilation without the need to comment them.

Bug fix

  • Decompiling assets into XML produced spaces around the content, which is not supported on import and produced an error.
  • The STEPWorkflowProfiles objects were decompiled in .companion.csv or .companion.xlsx files and produced non-readable content. It is now done in .companion.xml files with readable content.
  • The presence of \u in a .companion.xml file now throws an exception to warn of the lack of support for unicode characters. A new section has been written in the troubleshooting for this.
  • Compiling a ListOfValue without values raised an error and stopped compilation.

5.2.0

Released on 2023-07-04

New features

Support for XLSM Excel files

Excel files containing macros can now be compiled in the same way as standard Excel files. To do this, they must have the extension .companion.xlsm and the cell values must have been calculated before compilation.

Support of Business Function in tests

Business functions can now be called in unit tests in the same way as business rules in order to perform tests.

Improvements

  • During compilation, temporary files generated by Excel are no longer taken into account in order to avoid crashes.
  • Multiple improvements in the archetype : Addition of VSCode autocompletion, updated version of twirl templates and correction of incorrect files.
  • Improved error messages from the diff goal, with an example of how to use the goal

Bug fix

  • The documentation goal failed when it was run outside the project root folder.
  • In some error cases, the message "no body" was displayed even if the server returned a response.
  • The diff goal failed if some files were not in UTF-8 format.

5.1.0

Released on 2023-01-09

New features

Decompiler add BOM

Decompiler has a new parameter to add a BOMopen in new window to the generated CSV files so that Excel opens the files with the correct encoding : addBOM (false by default)

Deploy status

Deploy has a new parameter to test the status of the environment for deployment instead of deploying : -Dstatus

Improvements

  • The version of scala embedded in the twirl files (.companion.xml and .companion.template.xml) has been increased to version 2.13. If the Twirl Templates dependency is used in your project, you must use at least version 2.2.0
  • The .companion.template.xml files are no longer compiled when you choose a perimeter that includes nothing for the module
  • A cache has been added to avoid recompiling too many files when compiling .companion.xml and .companion.template.xml files

5.0.5

Released on 2022-12-16

Bug fix

  • When the parameter Restapi.Integrationendpoints.Upload.Autoinvoke is set to false in the STEP server configuration, IIEPs are not automatically invoked after uploading a file. A parameter has been added to handle this case.

This fix has also been made in version 4.2.2

5.0.4

Released on 2022-12-02

Bug fix

  • The diff feature only generates a report file for the first difference encountered
  • The diff could be in error if it detected the addition of a file
  • The number of added and deleted lines displayed in the diff was wrong
  • When duplicate insensitive case IDs are detected, we now put both objects in the same file instead of extracting only one

5.0.3

Released on 2022-10-06

Bug fix

  • Fix wrong line number in CSV file compilation errors if the file contains data on multiple lines
  • Updating the Companion Ext version to use the latest version (10.3.1)

5.0.2

Released on 2022-09-20

Bug fix

  • Fixed Companion unit tests that could no longer be run with the Rest API V2
  • Fixed the Companion for Delivery archetype, which contained unit test examples from an older version

5.0.1

Released on 2022-09-19

Improvements

  • Correction of the Companion for Delivery archetype which had not been fully migrated following the 5.0.0 breaking change and which no longer respected all the good practices.
  • Extraction of views on AttributeGroups that were illegible in the CSV/XLSX file
  • Displaying business rule execution errors when running unit tests
  • Adding the missing import to the decompilation and portal splitter in the .companion.template.xml file of the portals

Bug fix

  • A velocity.log file was created in the root of the project with no content when using c4d:diff.
  • Withdrawal of the correction made in version 5.0.0 on test files containing too many tests. This causes another error.
  • Correction of the order of the business libraries embedded in the tests.

5.0.0

Released on 2022-09-12

Breaking Change

Companion for Delivery 5.0.0 is not retro-compatible with previous versions.

To use version 5.0.0 of Companion for Delivery you must follow the migration procedure. Most of the migration has been automated.

How to migrate from 4.2.1 to 5.0.0

New features

Documentation

The documentation job has been completely reworked to address the authentication and performance issues we were experiencing.
This redesign was also an opportunity to completely revise the UI of the generated site.

The documentation section in the c4d-maven-plugin configuration has been removed.
The portal documentation is not part of the scope of this redesign.

More information on how to use the documentation goal

Diff

A new goal has been developed to allow easy comparison of 2 STEPXML.
It can be a file or directly an export from an environment.

More information on how to use the diff goal: Developer -> Diff

Test

Companion for delivery testing capacibilities have been enhanced :

  • Support Javascript testing RESTAPI from Step configuration management component. Improves testing time and allows to roll back all changes made by the tests
  • Possibility to integrate business libraries directly into your tests. By default a business library is provided by the Step environment, to use the right version you must compile and deploy it before launching the tests
  • Display of test logs in C4d console, usefull for debugging Business Rules
  • Support for Jasmine API autocompletion inside companion tests (Jasmine is a javascript testing framework embedded by c4d)
  • Supply of Companion customized Jasmine matchers adapted to the STEP api

More information about new test features : Developer -> Tests -> Companion for Delivery tests -> Rollback

Improvements

  • Further modification of sorting during decompilation to ensure a more consistent order and to reduce false modifications when using the diff
  • Added a specific way to decompile UserGroups. Privileges and SetupGUI are now placed in separate files
  • Addition of level 2 of STEPXML in order to be able to fill in the attributes present on it
  • Added the possibility to fill in attribute values in the headers of CSV/XLSX files. See Sheet2Xml -> Attribute value in tag
  • Files opened by the Xlsx2Csv command no longer appear as modified
  • Modification of the goal Xlsx2Csv with the use of an outputDirectory
  • Added a warning if Xlsx2Csv produces a file with the same name

Bug fix

  • Fix a bug when a test file contained too many tests (about 150), its execution ended with a StackOverflowError

4.2.2

Released on 2022-12-19

Bug fix

  • When the parameter Restapi.Integrationendpoints.Upload.Autoinvoke is set to false in the STEP server configuration, IIEPs are not automatically invoked after uploading a file. A parameter has been added to handle this case.

4.2.1

Released on 2022-05-31

Bug fix

  • Fixed the display of the Background Process result during a companion:deploy. It only displayed: [ERROR] Unsupported message type: Info

4.2.0

Released on 2022-05-23

Companion for Delivery release 4.2.0 offers supports of Java 17, remove support of Java 8 and add some other little improvements

New features

Java 17 supports

Companion for Delivery now supports Java 17 but is no longer compatible with Java 8

Json goal reports

The different goals generate a new json report that can be parsed to display readable messages. This feature has been developed in anticipation of the Companion for Business update

Decompiler list of value split

Decompiler has a new parameter that allows you to choose if lov are placed in several files : splitLov (true by default)

Improvements

  • The commented portal screens are now extracted correctly
  • Improved XML tag merge to ignore unnecessary spaces

Bug fix

  • Fixed decompilation of XSLT, the initial file generated could not be compiled
  • Fixed replacement of quotes other than " when running the xlsx2csv goal
  • Fixed Decompiler error message when there is no input or exportConfiguration set

4.1.1

Released on 2022-04-01

Bug fix

  • Fix bug on tag merging at compile. Tags with same attributes were incorrectly merged when using KeyValue instead of ID.
  • Fixed a bug where using a column comment would result in an empty tag and cause the XSD validation to fail.

4.1.0

Released on 2022-03-14

Companion for Delivery release 4.1.0 offers improvements for compiling and decompiling.

New features

Compiler ParentID sort

The compilation takes into account the values of the ID and ParentID attributes in order to sort the tags of the same type to avoid import dependency problems

Decompiler force XML

It is now possible to ask the decompiler to extract all elements in XML or SPLIT_XML format

Developer -> Decompiler

Keep Companion for Delivery up to date

Companion for Delivery now display a message when using a goal if a newer version is available. Check is done once a week

A newer version of Companion for Delivery is available : 4.1.0. See documentation https://companion.cantor.fr/c4d/changelog/companion-for-delivery.html

4.0.2

Released on 2022-03-11

Improvements

  • Merge all tags with same attributes and content at compile to remove duplicate tags.

Bug fix

  • Fix bug on tag merging at compile. Tags without ID were merged by mistake. These tags are no longer merged and the merge is now also done using the Key

4.0.1

Released on 2022-02-10

Bug fix

  • Fix compilation of inline references : <ref> were escaped
  • Fix MatchingAlgorithm decompilation to be in XML instead of CSV

4.0.0

Released on 2021-11-30

Companion for Delivery release 4.0.0 offers new license handling and reworked autocompletion system.

A new license is required to use versions higher than 4.0.0

New features

New license management system

New goals have been added to handle licenses: installation, activation, etc...

Companion for Delivery -> Project -> Maven goals -> License handling

Reworked autocompletion

The autocomplete system has been reworked to be compatible with other systems than IntelliJ like Visual Studio Code

Developer -> STEP API Autocomplete

Bug fix

  • Fixed an error when a file containing the companion:AssetBinaryContent tag contains empty values

3.7.0

Released on 2021-08-17

New features

Rest API V2 support for documentation from STEP

Step Rest API V2 support have been added to companion:documentation goal. Can only be used from STEP 10.0.

Devops -> Documentation -> Documentation from STEP

Decompile from STEP

exportConfiguration parameter have been added to goal companion:decompile to allow export and decompile from a Step environment.

Developer -> Decompiler

Improvements

  • Merge Product, Classification and AttributeLink tags at compile. Useful for replacement rule with STEPXML generated by Companion (See FAQ -> How to -> Replacement Rules).
  • Merge ListOfValue tags at compile. Useful to decompile ListOfValues files compiled by companion.

Bug fix

3.6.3

Released on 2021-08-11

Bug fix

  • Fix javascript encoding in business rule decompiler
  • Fix missing escape when using predefined business rules
  • Add a warning for Icon file when decompiling two object types with the same ID case-insensitive
  • Fix paths in the JSDoc documentation to fill a markdown and its images

3.6.2

Released on 2021-05-10

Bug fix

  • Tests: handling of XML special characters inside parameter values of a business rule.

3.6.1

Released on 2021-04-09

Bug fix

  • Fix < and > error when deploying in STEP. To keep compatibility with existing files Companion escapes them following this behavior: < becomes <lt/> and > becomes <gt/> only if they are not used to import an html tag.

3.6.0

Released on 2021-02-26

Companion release 3.6.0 offers partial compilation feature and a new twirl extension.

New features

Partial compilation

New parameters have been added to goal companion:compile to allow to specify the perimeter of files to compile for each module.

csvRecords extensions

A new twirl extension has been added allowing to parse a csv file and transform it into a list of maps that can be used as variables in a .companion.xml file.

Developer -> Twirl -> Extensions -> csvRecords

3.5.2

Released on 2021-02-04

Improvements

  • Error management improved when calling the STEP REST API to avoid NullPointerException
  • Auto add an escape during STEPXML decompilation for special character @

Bug fixes

  • Fix product or classification display in the hierarchy when the ID contains a space

3.5.1

Released on 2021-01-13

Improvements

The duration of the Maven build process in a Unix/Linux environment has been drastically reduced.

3.5.0

Released on 2021-01-08

Companion release 3.5.0 offers new documentation features, deterministic decompilation and other improvements.

New features

Document generation

The documentation content has been enriched :

  • Product and classification hierarchies are now displayed as a tree like the workbench
  • Keys definition have been added

Deterministic decompilation

When decompiling two STEPXML containing the same information in different tag orders, the result of the decompilation is now the same. This is a required step for enabling our next feature : the environment comparison.

Improvements

  • Better documentation generation performance
  • Add error message in unit test when using bad ID inside @BusinessRule
  • Enhancement of error message when compiling CSV/Excel files
  • Enhancement of message when trying to update twirl constructor inside .companion.xml file

Bug fixes

  • Fix compilation error when using characters other than the default encoding
  • Fix filter issue in documentation list arrays
  • Fix missing LOV values in documentation when using multi-context file
  • Fix compilation of Excel file containing empty trailing columns
  • Fix calculated attribute decompilation containing escaped characters
  • Fix error when decompiling IIEP with empty SampleFileName

3.4.1

Released on 2020-09-11

Improvements

  • Decompiler attributeGroupBy parameter has new default value None to get all attribute in a single file

Bug fixes

  • Fix unit test exception when plugin_applies_if_config only contains XML declaration
  • Fix unit test exception when ErrorMessage parameter is missing in business rule
  • Fix derived attribute decompiler: XML Element was companion:ValueTemplate instead of companion:ValueTemplateFile
  • Fix workflow decompiler when there is inline code inside SCXML file

3.4.0

Released on 2020-07-07

Companion for Delivery release 3.4.0 with new documentation features, first version of GUI and other improvements.

New features

Documentation

  • Generating JsDoc from a step XML is now possible.
  • Documentation can now be generated from a STEP instance.

Graphical User Interface (GUI)

The new GUI for C4B is now available. This intuitive user interface now allows non-technical users to benefit from Companion for Delivery features to manage the data model and documentation generation.

Improvements

  • Version of the Twirl templates can be defined when creating a project with the Maven Archetype Plugin.

3.3.2

Released on 2020-06-18

Bug fixes

  • Fix extension of generated STEP XML files when deploying in a repository like Nexus

3.3.1

Released on 2020-06-15

Bug fixes

  • Fix compilation of calculated attributes defined in a CALC file
  • Fix compatibility with Maven Deploy Plugin 3.0.0-M1

3.3.0

Released on 2020-04-17

Companion for Delivery release 3.3.0 with online documentation multilingual support, Java 11 compatibility and other improvements.

New features

Documentation from STEPXML

Companion for Delivery documentation can now be generated from a STEPXML file. At the moment the JsDoc documentation is ignored. Devops -> Documentation -> Documentation from StepXML

Documentation multilingual support

Companion for Delivery documentation now supports multilingual definitions based on your STEP context implementation. As a result, all context dependent data are now rendered in the data model documentation.

Java 11 compatibility

Companion for Delivery now supports the Java 11 JDK.

Bug fixes

  • Xlsx2Csv can now be launched from the root module
  • Fix IIEP decompilation when sample file contains spaces in file name. This resulted in a compilation error

3.2.1

Released on 2020-03-19

Improvements

Sheet to Xml

  • Supports file containing a BOM (Byte order mark)
  • Supports merge cells in commented lines
  • Allows you to ignore an Excel sheet with name starting by # (can be used as documentation)

Developer -> Sheet to Xml -> Comments

Xlsx2Csv

  • Allows you to ignore an Excel sheet with name starting by # (can be used as documentation)

Decompiler

  • Added deletion of temporary files used during decompilation
  • Added a sort in the decompilation of Excel and CSV

Bug fixes

  • Fix compilation of XSLT Stylesheet
  • Fix compilation of IIEP containing binary sample file. The command to include the sample file has been changed. Decompiling again will update the .companion.xml file
  • Fix duplication of @ when decompiling

3.2.0

Released on 2020-03-12

Companion for Delivery release 3.2.0 with portal documentation, support of Excel formula on calculated cells, support of asset content and other improvements

New features

Documentation

Companion for Delivery documentation now generates Portal documentation. This is an experimental feature, you can disable it in configuration.

Devops -> Documentation -> Configuration

Excel compilation

It is now possible to use calculated cells. Support of integer value has been enhanced to remove the added decimal

Xlsx2Csv

Update of Xlsx2Csv to support same features as Excel compilation

Sheet to Xml

Add new Companion for Delivery custom element : companion:AssetBinaryContent to support import of Assets

Developer -> Sheet to Xml -> Header Section -> companion:AssetBinaryContent

Improvements

Unit tests

  • Business rules bindings are now automatically added to unit test function
  • Business rules localizable template messages are now automatically added to unit test function
  • Suppression of annotations: bindings, errorMessages
  • Replace annotation: alias by aliases to support array of alias when a business rule is composed of multiple Javascript plugins

Developer -> Tests

3.1.4

Released on 2020-02-25

Bug fixes

  • Fix decompilation issues with 10 000 elements in list of values

3.1.3

Released on 2020-01-20

Improvements

Xlsx2Csv

  • Change name convention for Csv generated file
  • Add new option to specify an output folder
  • Clean all .companion.generated.csv files before generation

Companion for Delivery -> Project -> Xlsx2Csv

Bug fixes

  • Fix JSDoc generation fail when project path contain spaces
  • Fix build success when import contains critical errors

3.1.2

Released on 2019-12-18

Improvements

Documentation

  • Improve header responsiveness
  • Add attribute links documentation

Bug fixes

  • Fix null in file inclusion when using portal splitter without package name
  • Fix encoding in search bar for datamodel documentation

3.1.1

Released on 2019-11-21

Improvements

Twirl Extension

  • Add new twirl extension absolutePath to get absolute path from relative path

JSDoc documentation

  • Increase the search depth of JS files in the project from 10 to 20

Bug fixes

  • Fix object type type unknown in datamodel documentation for root object type

3.1.0

Released on 2019-11-15

Companion for Delivery release 3.1.0 with documentation, support of rest api v2 and other improvements

New features

Documentation

New Companion for Delivery goal that create Datamodel and JSDoc documentation. This documentation can be automatically upload online.

Devops -> Documentation

Rest Api V2 Support

Companion for Delivery now support deploy and test via Rest Api V2. With STEP 9.2, Rest Api V1 has been deprecated.

Devops -> Maven configuration -> Plugin configuration -> Rest Api Version

Extract Calculated Attribute Formula in decompiler

Decompiler now extract calculated attribute formula in attribute STEPXML in a new file.

Improvements

Error message

  • Update error message when @file annotation use an no existing file
  • Add line number in error message when there is error in CSV / XLSX validation

Decompiler

  • Remove AttributeLink field into UserType file. This information is ignored in StepXML import. Use UserTypeLink in Attribute file instead.

Templates

  • Update twirl template inside archetype to avoid update message in StepXML import when nothing has been updated.

3.0.2

Released on 2019-10-10

Bug fixes

  • Fix workflow decompilation, twirl import of a local business rule wasn't present

3.0.1

Released on 2019-09-12

Bug fixes

  • Fix decompiler exception when there is no context and workspace filled

3.0.0

Released on 2019-08-05

Companion for Delivery release 3.0.0 with compilation performance, test and change tracking improvements

New features

Performance improvements and decompiler adaptation

Improve Companion for Delivery compilation performance by a factor of 3:

  • Update CSV / Excel compilation
  • Change Companion for Delivery XML file inclusion
  • Change portal configuration

Decompiler have been updated to follow new file inclusion syntax

Portal decompile as .xml files

Decompiler and PortalSplitter now generate .xml file instead of .companion.template.xml file to follow new file inclusion syntax and improve compilation performance

Transformer Xlsx to Csv files

New Companion for Delivery job to transform .companion.xlsx file to .csv files to improve change tracking

Companion for Delivery -> Project -> Xlsx2Csv

Extract Sample File in decompiler

Decompiler now extract sample file in Integration Endpoints STEPXML.

Unit tests

  • Business rules dependencies are now automatically added to unit test business rule dependencies
  • Suppression of deprecated annotation @ExecutionPlatform
  • Suppression of useless annotation and fields
  • Copying .js files in test resources is not needed anymore for testing business rules

You can find how to migrate your test in How to migrate from 2.1.2 to 3.0.0

Workflow tests generator

New Companion for Delivery job to generate test has been added

Companion for Delivery -> Project -> Generate Test

Bug fixes

  • .xml, .js and .txt are no longer compiled for inclusion, in order to avoid compilation error
  • Fix XML decompilation in TagList
  • Fix Csv decompilation to use Csv Companion for Delivery configuration separator and quote
  • Fix compilation error when project path contains special characters
  • Fix collection decompilation for flattened files
  • Fix collection decompilation to not create Groups directory when there is no collection group
  • Fix product, classification, entities, assets decompilation for hierarchical export
  • Fix Csv decompilation to remove empty columns

Others

  • Dependency companion-xml-processor is not longer needed for compilation
  • URL of Cantor licence controller has been updated to: https://ccs-licenses.cantor.fr

Breaking changes

Companion for Delivery 3.0.0 is not retro-compatible with previous versions. This means all your files must have been updated before trying to use Companion for Delivery 3.0.0, and each file inclusion using previous syntax will result in compilation error.

How to migrate from 2.1.2 to 3.0.0

2.1.2

Released on 2019-04-17

New features

Module version control in STEP

New option allow Companion for Delivery to deploy the version and compilation date in STEP

Devops -> Maven configuration -> Plugin configuration -> Include Module Version

Bug fixes

  • Decompiler Fix encoding error when escaping HTML entities without quotes
  • Fix issue where unit tests were not executing with maven verify
  • Fix issue when decompiling a LOV with the same cleanId than another LOV

2.1.1

Released on 2019-03-27

Bug fixes

  • Fix issue when compiling a CSV or Excel file containing custom Companion for Delivery type like companion:ConfigurationFile

2.1.0

Released on 2019-03-04

New features

Specify STEP version

Dependencies between Companion for Delivery and STEP have been rework. This mean that you can now specify which STEP version to use when compiling and decompiling

Devops -> Maven configuration -> Specify STEP version

Specify package name when using the Decompiler

We have added a new parameter for the Decompiler, this parameter allow us to specify the package name used during the decompilation of STEPXML files

Developer -> Decompiler

STEP API autocomplete improvement for IntelliJ

STEP API autocomplete for IntelliJ is now accessible through a maven dependency and have been extended with Sitbo API documentation.

Developer -> STEP API Autocomplete

Companion for Delivery online documentation

The Companion for Delivery documentation have been improved and it's now online. https://companion.cantor.fr/open in new window

Bug fixes

  • Fix FileNotFound exception when decompiling an xml containing empty xml tag
  • Remove the console message "No templates to compile & No sources to compile" when processing Companion for Delivery's files
  • Fix compilation when CSV files were using CR end of line

2.0.11

Released on 2019-01-24

New features

STEP 9.1 compatibility

Companion for Delivery is now compatible with STEP 9.1

Import log when deploying

Deployment log have been improved by displaying the inbound integration endpoint logs as a result of the Companion for Delivery deploy goal

Bug fixes

  • Fix compilation error when a XLSX files have several tabs
  • Skiplock warning was displayed for no reason during Companion for Delivery Test processing
Last Updated: