Skip to content

Tags: jeremiah-c-leary/vhdl-style-guide

Tags

3.26.0

Toggle 3.26.0's commit message
Announcements

-------------

None at this time.

New Features
------------

  None

Bug Fixes
---------

  Issue #1207
  Issue #1214
  Issue #1216
  Issue #1220
    Documentation updates.

  Issue #1210
    Filename printed if an error is encountered when parsing a file.

  Issue #1212
  Issue #1219
  Issue #1227
    Fixed issue with generates crashing VSG.

  Issue #1223
    Fixed deprecation warning when running tests.

  Issue #1226
    vsg_rule_doc_gen script was not running.

Retired Issues
--------------

  Issue #1201

  Issue #1205

  Issue #1206

  Issue #1211

Acknowledgements
----------------

  I would like to thank the following contributors:

    @alonbl
    @JHertz5

  I would like to thank the following bug finders and feature requestors:

    @ciarantoner
    @larshb
    @JvWesterveld

3.25.0

Toggle 3.25.0's commit message
Announcements

-------------

None at this time.

New Features
------------

  Issue #911
    Rule whitespace_013 does not operate on logical unary operators.

  Issue #1171
    Rule whitespace_100 enforces spaces around operators.

  Issue #1176
    Added options to rule instantiation_005 to enforce newlines before port map keywords.

  Issue #1178
    Added rule component_022 to enforce component simple names.

  Issue #1182
    Added regex option to case rules.

  Issue #1186
    Additional rules to enforce spacing:
      * generic_map_100
      * port_100
      * port_101
      * port_map_100
      * variable_101
      * variable_102
      * variable_103

  Issue #1189
    Improved error reporting for invalid indent configurations.

  Issue #1190
    Added <= option to whitespace rules.

  Issue #1196
    Added rule function_020 and procedure_014 to add/remove option function/procedure name.

Bug Fixes
---------

  Issue #1177
    Fixed prefix and suffix checks to allow either if both are enabled.

  Issue #1188
    Comments with */ would be mistaken for block comments.

  Issue #1198
    Added regex to rule port_map_002.

Retired Issues
--------------

  Issue #1184

  Issue #1195

Acknowledgements
----------------

  I would like to thank the following bug finders and feature requestors:

    @abyszuk
    @domWalters
    @maltaisn
    @tossegus
    @ungultig1

3.24.0

Toggle 3.24.0's commit message
Announcements

-------------

None at this time.

New Features
------------

  Issue #1059
    Performance improvements

  Issue #1135
    Added documentation for rules which can not be fixed.

  Issue #1145
    Updated JSON documentation on proper formatting of file rules.

Bug Fixes
---------

  Issue #1168
    Formal part mis-classification in prodecure/function arguments.

  Issue #1166
    Code tag did not work for rule length_003

Retired Issues
--------------

  None

Acknowledgements
----------------

  I would like to thank the following bug finders and feature requestors:

    @alonbl
    @el-coder-sb
    @SittingDuc
    @willkamp

3.23.0

Toggle 3.23.0's commit message
Announcements

-------------

None at this time.

New Features
------------

  Issue #1119
    Added documentation for developers.

  Issue #1159
    Prefix and Suffix exceptions now except regular expressions.

Bug Fixes
---------

  Issue #947
    Rule generate_015 coudl produce invalid code.

  Issue #1132
    Improved efficiency of interface_list classifier.

  Issue #1137
    Fixed rules variable_001 and variable_assignment_008 after merging.

  Issue #1143
    Fixed typo in pre-commit documentation.

  Issue #1141
  Issue #1149
    Adding quality of life improvements for development:
       tox, pre-commit, black, version capture update, release process update

  Issue #1146
    Fixed invalid escape sequences in strings.

  Issue #1150
    Fixed warnings in documentation generation.

  Issue #1160
    Fixed warnings while processing Manifest.in

  Issue #1163
    Fixed configuring use clause indenting yaml example.

Retired Issues
--------------

  Issue #353
  Issue #1139
  Issue #1142

Acknowledgements
----------------

  I would like to thank the following contributors:

    @alonbl

  I would like to thank the following bug finders and feature requestors:

    @avelure
    @jfcliche
    @LarsAsplund
    @vornkat-iis

3.22.0

Toggle 3.22.0's commit message
Announcements

-------------

In an attempt to be more consistent in the configuration files, the following options are changing from camelCase to snake_case:

+---------------+--------------+
| option        |  Changed To  |
+===============+==============+
| indentSize    | indent_size  |
+---------------+--------------+
| indentStyle   | indent_style |
+---------------+--------------+

An Error message will be generated if the old style is encountered.
A reminder to change the option to snake_case will be given.

New Features
------------

  Issue #866
    Added documentation which documents how to number future rules.

  Issue #1117
    Rules automatically assign their unique identifiers.

Bug Fixes
---------

  Issue #967
    Added options to rule signal_012 to allow for grouping of signals for alignment.

  Issue #1096
    Changed option indentStyle to indent_style
    Changed option indentSize to indent_size

  Issue #1097
    Fixed JUnit reporting failures in testsuite tag when there were no failures.
    Removed classname from testcase tag.

  Issue #1123
    VSG would hang on missing close parenthesis.

  Issue #1124
    Rule port_026 would drop close parenthesis in certain conditions.

  Issue #1127
  Issue #1129
    Documentation updates

  Issue #1130
    Rule procedure_call_003 now aligns parameters without a formal_part.

Retired Issues
--------------

  Issue #1122

Acknowledgements
----------------

  I would like to thank the following contributors:

    @JHertz5

  I would like to thank the following bug finders and feature requestors:

    @alonbl
    @allbydnco
    @maltaisn
    @MDXZ-delti
    @t-aras

3.21.0

Toggle 3.21.0's commit message
Announcements

-------------

The scoping of consistent case rules was significantly improved on this release.

New Features
------------

  Issue #1076
    Added ignore_single_line option to rule procedure_call_003.

  Issue #1081
    Added hierarchical alignment of => for rules constant_400, procedure_400 and sequential_400.
    Added ability to ignore single line aggregates.

  Issue #1103
    Added rules procedure_006 and function_300 to enforce the structure of the formal_parameter_list.

  Issue #1107
    Added option to allow alignment of close parenthesis of process sensitivity list.

  Issue #1110
    Added rules generate_601 and generate_602 to enforce prefix/suffix of the identifier in for_generate_statement.
    Added rules loop_statement_602 and loop_statement_603 to enforce prefix/suffix of the identifier in for loops.

Bug Fixes
---------

  Issue #551
  Issue #755
  Issue #998
  Issue #1023
  Issue #1062
    Updated scoping of consistent case rules to address greedy nature of current rules.

  Issue #1079
    Rule procedure_410 will now align on a file parameter.

  Issue #1082
    Additional whitespace and case rules for assert statements.

  Issue #1084
  Issue #1086
  Issue #1104
  Issue #1106
  Issue #1113
    Documentation spelling, grammar and clarification updates.

  Issue #1088
    Added support for conditional waveforms to rule process_400.

  Issue #1089
  Issue #1120
    Unittest cleanup.

  Issue #1091
  Issue #1100
    VSG would crash if a keyword was on the first line of a file.

Retired Issues
--------------

  Issue #1095
  Issue #1100

Acknowledgements
----------------

  I would like to thank the following contributors:

    @JHertz5

  I would like to thank the following bug finders and feature requestors:

    @alonbl
    @bae-pabr
    @masubious
    @nfrancque
    @t-aras
    @Timandrias

3.20.0

Toggle 3.20.0's commit message
Announcements

-------------

None at this time.

New Features
------------

  Issue #1047
    Added option 'upper_or_lower' to all case rules

  Issue #1065
    Added rules for blank lines above and below pragmas.
    Redefined pragmas into open, close, and individual

  Issue #1070
    Added keyword exception for prefix and suffix rules.

Bug Fixes
---------

  Issue #1066:
    Fixed default style of rule process_021.

  Issue #1069:
    Fixed improper comment alignment in rule component_020.

  Issue #1074:
    Rule procedure_call_003 now works on sequential procedure calls.

Retired Issues
--------------

  Issue #1073

Acknowledgements
----------------

  I would like to thank the following bug finders and feature requestors:

    @larshb
    @javValverde
    @SittingDuc

3.19.0

Toggle 3.19.0's commit message
Announcements

-------------

None at this time.

New Features
------------

  Issue #369
  Issue #999
    Assignment operator => in constant declarations are now aligned.

  Issue #924
    Added support for camelCase and PascalCase.

  Issue #1000
    ALPHA:  Added feature to apply rules to parts of a file which are valid.

  Issue #1053
    Rule reserved_001 added to check VHDL keywords used as identifiers.

  Issue #1054
  Issue #1061
    Added user classification of pragmas.

Bug Fixes
---------

  Issue #815
    Added several rules to assist with specific user formatting.
    NOTE:  These rules are disabled by default.

  Issue #882
    Moved rule concurrent_007 to conditional_waveforms_001.

  Issue #961
    Fixed indent of comments in return functions.

  Issue #966
    Fixed parsing of subtype_declaration with a subtype.

  Issue #994
    Fixed detection of function calls.

  Issue #1034
    Sub-arrays in arrays were not being detected correctly resulting in newlines being added.

  Issue #1057
    Slice definitions in targets of generic_map were triggering generic_map_001.

Retired Issues
--------------

  Issue #926

Acknowledgements
----------------

  I would like to thank the following contributors:

    @SittingDuc

  I would like to thank the following bug finders and feature requestors:

    @abyszuk
    @jhertz
    @JimLewis
    @mkuklewski
    @njm295
    @Scafir
    @t-aras
    @ungultig1

3.18.0

Toggle 3.18.0's commit message
Announcements

-------------

There were several alignment rules which were ignoring the `comment_line_ends_group` option.
Please be aware that some alignment rules may trigger from the previous release.
Refer to issue #988 for more details.

There was also an issue with YAML configurations with options using `yes` and `no`.
These options could be converted to booleans by PyYAML according to the YAML spec if they were not strings.
Due to this an effort was made to change all the `True` and `False` options to `yes` and `no` strings.
The original `True` and `False` are still supported, but going forward all options will be strings.
Refer to issue #1009 for more details.

Platform independent features were added in this release.
This includes line separators and file path separators.
The type of line separator can be based on the platform or hard coded.

New Features
------------

  Issue #896
    Ability to read VHDL file from standard input

  Issue #945
  Issue #949
    Adds rules for return keywords

  Issue #969
    Adds grouping of use clauses

  Issue #983
    Added alignment of concurrent selected signal assignments

  Issue #1003
    Added case rules for subtype_declarations

  Issue #1015
    Platform independent updates

  Issue #1016
    file_list option added to configurations

  Issue #1030
    Added more options for indenting use clauses

  Issue #1010
  Issue #1011
  Issue #1012
  Issue #1014
  Issue #1017
    Added pre-commit hook support
    Added line seperator configuration
    Added atomic write of files

Bug Fixes
---------

  Issue #942
    Moved instantiation_023 to port_map_010

  Issue #950
    procedure_012 could produce invalid code.

  Issue #988
    Fixing alignment rules which did not honor the comment_line_ends_group

  Issue #990
    constant_016 did not raise errors when a constraint was present.

  Issue #995
    architecture_025 did not provide a solution message

  Issue #992
  Issue #1001
  Issue #1005
  Issue #1006
  Issue #1008
  Issue #1035
    Documentation updates

  Issue #1009
    Fixed issue with yes and no being converted to booleans in YAML files

  Issue #1022
    function_018 could produce invalid code

  Issue #1033
    fixed rule conflict with selected assignments

  Issue #1041
    Coverage updates

Retired Issues
--------------

  Issue #908
  Issue #921

Acknowledgements
----------------

  I would like to thank the following contributors:

    @alonbl
    @cla5323
    @cschlaak
    @JHertz5
    @masubious
    @SethGower
    @t-aras

  I would like to thank the following bug finders and feature requestors:

    @avelure
    @flyinged
    @sibeov
    @zack-vii

3.17.0

Toggle 3.17.0's commit message
Announcements

-------------

  None

New Features
------------

  Issue #952
    Added case consistency for enumerated types.

  Issue #976:
    Added rule function_600 for function prefixes.
    Added rule function_601 for function suffixes.

Bug Fixes
---------

  Issue #947:
    Rule generate_015 could create invalid code.

  Issue #970:
  Issue #973:
  Issue #977:
  Issue #979:
    Documentation updates

  Issue #975:
    Added action option to rule generate_011.

  Issue #981:
    Updated block comment configuration to accept empty quotes instead of "None".

  Issue #982:
    Fixed issue with closing delimited comment not being detected.

  Issue #984:
    Clarified solution for rule package_body_003.

Retired Issues
--------------

  Issue #916
  Issue #946
  Issue #997

Acknowledgements
----------------

  I would like to thank the following contributors:
    @JHertz5

  I would like to thank the following bug finders and feature requestors:

    @el-coder-sb
    @flyinged
    @javValverde
    @JHertz5
    @olagrottvik