Changelog Companion for Delivery
5.4.4
Released on 2024-11-15
Bug fix
- Fixed cyclical dependencies detection in tests.
- Fixed a false positive test results that could occur in very specific conditions.
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.
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.
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 BOM 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 thexlsx2csv
goal - Fixed Decompiler error message when there is no
input
orexportConfiguration
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 ofID
. - 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
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 theKey
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.
Improvements
- Merge
Product
,Classification
andAttributeLink
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
- Fix Companion.LockOwner size from 100 to 1000. An issue occurred when lock owner id is greater than 100. As result as
skipLock
option was removed. If you useskipLock
you should re-import following file companion-init.step.xml (See Companion for Delivery -> Installation -> Deployment)
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 valueNone
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
byaliases
to support array of alias when a business rule is composed of multiple Javascript plugins
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 rootobject 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.
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 intoUserType
file. This information is ignored in StepXML import. UseUserTypeLink
inAttribute
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
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/
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