Skip to content

Releases: Synergex/CodeGen

CideGen 5.6.6

05 Feb 18:02

Choose a tag to compare

CodeGen Release Notes

  • We fixed an issue with the field loop expressions <IF EXPLICIT_GROUP>, <IF GROUP> and <IF_IMPLICIT_GROUP> which would previously evaluate to true for explicit group fields, but not explicit group overlay fields. Now it evaluates to true for both.
  • We fixed an issue that could cause the parsing of some complex expressions to incorrectly report a problem parsing <IF IF>.
  • This version of CodeGen was built with Synergy/DE 11.1.1f and requires a minimum of version 10.1.1 to operate.

CodeGen 5.6.5

24 Jan 01:07

Choose a tag to compare

CodeGen Release Notes

  • We added a new command-line option -ncp that suppresses the features of the <STRUCTURE_PLURAL> and <STRUCTURE_NOPLURAL> tokens, making them behave the same as <STRUCTURE_NAME>.
  • We modified the non-Synergy data types returned by field loop expansion tokens such as <FIELD_CSTYTPE>, <FIELD_OCTYPE>, <FIELD_SNTYPE>, <FIELD_SQLTYPE> and <FIELD_VBTYPE>for decimal fields with an overall size of over 18 characters. For example, previously <FIELD_CSTYPE> would return long and now returns decimal. And because any field larger than a D28 will overflow even decimal fields in .NET, we now throw an error if any such field is encountered in a structure.
  • We added a new type of key loop called a <PARTIAL_KEY_LOOP> that can be used to process subsets of the segments of multi-segment keys.
  • We added a new generic expansion token <DAYNAME>.
  • We added new field loop expansion tokens <FIELD_CLASS>, <FIELD_DISPLAY_LENGTH>, <FIELD_GROUP_MEMBER_PREFIX>, <FIELD_GROUP_STRUCTURE>, <FIELD_INPUT_JUSTIFICATION>, <FIELD_OVERLAY_FIELD>, <FIELD_OVERLAY_OFFSET>, <FIELD_OVERLAY_SPEC>, <FIELD_PAINTCHAR>, <FIELD_PAINTFIELD>, <FIELD_POSITION_COL>, <FIELD_POSITION_MODE>, <FIELD_POSITION_ROW>, <FIELD_REPORT_JUSTIFICATION>, <FIELD_SELECTIONS_COL>, <FIELD_SELECTIONS_HEIGHT>, <FIELD_SELECTIONS_ROW>, <FIELD_USER_TYPE>, <FIELD_VIEW_LENGTH>, <PROMPT_POSITION_COL>, <PROMPT_POSITION_MODE> and <PROMPT_POSITION_ROW>.
  • We renamed some field loop expression tokens that were introduced in the previous release, changing <IF UNFLATTENED_GROUP> to <IF GROUP>, <IF UNFLATTENED_EXPLICIT_GROUP> to <IF EXPLICIT_GROUP> and <IF UNFLATTENED_IMPLICIT_GROUP> to <IF IMPLICIT_GROUP>. We apologize if this breaks existing code, but if so that code was written in the last few days and we figured it would not be a big deal!
  • We added new field loop expression tokens <IF GROUP_MEMBER_PREFIX>, <IF GROUP_MEMBER_PREFIX_COMPILER>, <IF GROUP_OVERLAY>, <IF NAME_LINK>, <IF OVERLAY_OFFSET>, <IF PAINTFIELD> and <IF USER_TYPE>.
  • We changed the behavior of the field loop expansion tokens <FIELD_ENUMBASEVAL>, <FIELD_ENUMLENGTH> and <FIELD_ENUMSTEPVAL>. Previously these tokens would insert 0 for unenumerated fields. Now nothing is inserted for unenumerated fields.
  • We changed the behavior of the field loop expansion tokens <FIELD_SELECTIONS> and <FIELD_SELECTIONS1>. Previously these tokens would insert "" for fields with no selection list values. Now nothing is inserted for fields with no selection list values.
  • We added a new structure expansion token <STRUCTURE_TYPE>.
  • We added a new key loop expression <IF PRIMARY_KEY>.
  • We added a new command line option -pa which causes array fields not to be expanded into individual fields.
    WARNING: This is an experimental feature and may currently cause unexpected side effects with some expression tokens. Please let us know if you encounter anomalies.
  • We enabled code generation for structure fields, enum fields and binary fields. Code generation for these types of fields was previously artificially blocked.
    WARNING: This is an experimental feature. While the <FIELD_SPEC>and other basic field loop tokens will behave as intended, some tokens may not behave as expected with these types of fields. Please let us know if you encounter anomalies.
  • We removed the field loop expression tokens <IF COERCEBOOLEAN> and <IF NOCOERCEBOOLEAN>. There is a slight chance that this could break existing templates, in which case you can use <IF COERCE_BOOLEAN> and <IF NOT COERCE_BOOLEAN> as direct replacements.
  • We fixed an issue that was causing a failure during the processing of very complex expressions.
  • We fixed an issue that could cause counter tokens to be incorrectly processed as expressions.
  • We addressed a bug that was present in all versions of the RepositoryAPI whereby the RpsField.PaintCharacterSpecified property actually indicated whether the field was a paint field, not that a custom paint character was specified. This has now been corrected, and we have added a new property RpsField.PaintField (boolean).
  • We moved the implementation of several early Harmony Core specific expansion and expression tokens into the Harmony Core Extensions library.
  • We started what will be an ongoing process to reformat and improve this documentation, hopefully making it easier to use, and also easier to maintain. The most significant change is that expansion tokens were previously documented on individual pages within an overall category, but in the future will be documented on a single page for each category (for example all field loop expansion tokens). We also started to use manually entered and meaningful topic IDs, which will be a positive change when using the on-line documentation at https://codegen.synergex.com because URL's will now be based on meaningful names rather than generic topic numbers.
  • This version of CodeGen was built with Synergy/DE 11.1.1f and requires a minimum of version 10.1.1 to operate.

CodeGen 5.6.4

16 Dec 23:25

Choose a tag to compare

CodeGen Release Notes

  • In addition to the existing command line option -g i that prevents the flattening of IMPLICIT groups into individual fields, we added a new command line option -g e that prevents the flattening of EXPLICIT groups. An implicit group is a group that has its members (fields and/or other groups) defined by another repository structure, where an explicit group is a group that has locally defined members.
  • We added new field loop expression tokens <IF UNFLATTENED_GROUP>, <IF UNFLATTENED_EXPLICIT_GROUP> and <IF UNFLATTENED_IMPLICIT_GROUP>.
  • We added a new structure expansion token <STRUCTURE_FILES> that evaluates to the number of repository file definitions that the current structure is assigned to.
  • This version of CodeGen was built with Synergy/DE 11.1.1f and requires a minimum of version 10.1.1 to operate.

CodeGen 5.6.3

04 Dec 02:14

Choose a tag to compare

CodeGen Release Notes

  • We added a key loop expression token named <IF LITERAL_SEGMENTS> that indicates whether the key being processed in a key loop includes one or more literal value segments.
  • This version of CodeGen was built with Synergy/DE 11.1.1f and requires a minimum of version 10.1.1 to operate.

CodeGen 5.6.2

09 Nov 21:07

Choose a tag to compare

CodeGen Release Notes

  • We added a parameter loop expansion token named <HARMONYCORE_BRIDGE_PARAMETER_DEFINITION> to the Harmony Core Extensions library.
  • This version of CodeGen was built with Synergy/DE 11.1.1f and requires a minimum of version 10.1.1 to operate.

CodeGen 5.6.1

30 Oct 22:25

Choose a tag to compare

CodeGen Release Notes

  • We added a new field loop expression <IF RELATION> that can be used to determine whether the current field is associated with the only segment of a relations FROM key. In other words, whether there is a direct outbound relation from the field to another structure.
  • We added a new generic expression <IF ENUMS> that can be used to determine whether any enumerations are defined in the repository.
  • We changed the way that CodeGen behaves while processing various types of loops. Previously, if certain types of loop had no supporting data, then an error would be generated and code generation would fail. For example, if a key loop was encountered when processing a structure that had no keys, code generation would fail. Now code generation will continue, and the loop in question will be ignored. The loops affected by this change are key loops, unique key loops, alternate key loops, unique alternate key loops, primary key blocks, unique key blocks, relation loops, enumeration loops, structure enumeration loops, and file loops.
  • We added a new command line option -elf which overrides the behavior described in the previous item, reverting to the original behavior of failing if a loop is encountered with no supporting data.
  • This version of CodeGen was built with Synergy/DE 11.1.1f and requires a minimum of version 10.1.1 to operate.

CodeGen 5.5.9

21 Oct 22:57

Choose a tag to compare

CodeGen Release Notes

  • We added a new structure expression token called <IF STRUCTURE_DISPLAY_FIELD>.
  • We added a new relation loop expression token <IF TO_DISPLAY_FIELD>, and a new relation loop expansion token <RELATION_TOSTRUCTURE_DISPLAY_FIELD>.
  • This version of CodeGen was built with Synergy/DE 11.1.1f and requires a minimum of version 10.1.1 to operate.

CodeGen 5.5.8

02 Oct 21:08

Choose a tag to compare

CodeGen Release Notes

  • We added two new field loop expansion tokens <FIELD_ENUMBASEVAL> and <FIELD_ENUMSTEPVAL>.
  • This version of CodeGen was built with Synergy/DE 11.1.1f and requires a minimum of version 10.1.1 to operate.

CodeGen 5.5.7

09 Sep 23:35

Choose a tag to compare

CodeGen Release Notes

  • We fixed a bug that could cause a null-reference exception in some situations when using some of the Harmony Core extensions associated with structure relations.
  • This version of CodeGen was built with Synergy/DE 11.1.1e and requires a minimum of version 10.1.1 to operate.

CodeGen 5.5.6

27 Aug 00:11

Choose a tag to compare

CodeGen Release Notes

  • We added two new generic expression tokens to the Harmony Core extensions assembly. These are <HARMONYCORE_RELATIONS_ENABLED> and <HARMONYCORE_RELATIONS_VALIDATION_ENABLED>.
  • This version of CodeGen was built with Synergy/DE 11.1.1e and requires a minimum of version 10.1.1 to operate.