23.2.29 (13 December 2023)
--------------------------


**Performance**

-  DVT-19768 Improve performance of generating compare reports for large HTML reports

**Features**

-  DVT-19004 Ability to import compare reports
-  DVT-19469 New Rule: R.1285 Create user defined configuration classes by extending the class uvm_object
-  DVT-19471 New Rule: R.1294 All configuration object instance names should match a naming pattern
-  DVT-19765 New Rule: R.1305 Do not use the replication operator for multi-bit X and Z values

**Enhancements**

-  DVT-19766 Add parameter to SVTB.19.6 to specify the allowed type of conditional pre-processing

**Bugfixes**

-  DVT-19735 R.1173 False failures for assertions
-  DVT-19754 R.1165 False failures for signals of type typedefs
-  DVT-19796 R.1148 False failures for imported interface class

23.2.28 (28 November 2023)
--------------------------


**Performance**

-  DVT-19697 Improve performance of rule R.1215
-  DVT-19738 Improve performance of rule SVTB.1.0
-  DVT-19739 Improve performance of SVTB.7.27

**Features**

-  DVT-10323 New Rule: R.1272 Name virtual sequences with a '_vseq' suffix
-  DVT-19332 New Rule: R.1274 Only instantiate sequence items from sequences
-  DVT-19341 New Rule: R.1281 Always use the semaphore/mailbox/event for pipeline drivers
-  DVT-19342 New Rule: R.1286 The driver should mark the item done in the first stage of the pipeline
-  DVT-19379 New Rule: R.1258 Use one SystemVerilog interface instance per DUT interface
-  DVT-19526 New Rule: R.1304 Use explicit prediction in a register model

**Enhancements**

-  DVT-19691 Add parameter to SVTB.1.1.1 auto-correct to replace tabs with the corresponding number of whitespaces to match the displayed tab width
-  DVT-19719 SVTB.1.5.3 Auto-correct should remove empty line

**Bugfixes**

-  DVT-19700 SVTB.5.2.7 False failures for case equality operators
-  DVT-19701 SVTB.5.2.7 allowTernaryConditionalChecks parameter should consider ternary conditionals as 2-state in complex expressions
-  DVT-19708 SVTB.31.3.0 should fail for empty statements after another statement
-  DVT-19709 R.1199 False failures inside macros
-  DVT-19714 R.1148 False failures for imported typedefs used as method return type
-  DVT-19730 R.1120 Should fail for hierarchical accesses
-  DVT-19763 SVTB.7.27 Should fail for variable accesses after comparisons of the same variable

23.2.26 (14 November 2023)
--------------------------


**Performance**

-  DVT-19698 Improve performance of generating compare reports

**CLEANUP**

-  DVT-19724 Rename VS Code "Waive failure" quick fix proposals to include the failure severity

**Features**

-  DVT-19329 New Rule: R.1284 If sequence calls raise/drop_objection then it must be named as a base sequence
-  DVT-19371 New Rule: R.1257 In the driver and monitor create a separate task for transaction read and write
-  DVT-19373 New Rule: R.1249 A monitor must make sure the collected sequence item is sent after each transaction is captured
-  DVT-19460 New Rule: R.1297 When making connections between components connect a port directly to an export without any intermediate FIFO
-  DVT-19468 New Rule: R.1269 Group the configuration parameters into a configuration object
-  DVT-19470 New Rule: R.1275 Check that there is a config class for each environment class
-  DVT-19473 New Rule: R.1283 Each component should get the configuration object associated with that specific component instance
-  DVT-19474 New Rule: R.1277 Do not use an absolute hierarchical path name as the second argument to uvm_config_db::set
-  DVT-19477 New Rule: R.1282 A component instance may be with one or no configuration object
-  DVT-19479 New Rule: R.1290 If a sequence is to be parameterized, the parameters should be put into an object in the configuration database
-  DVT-19480 New Rule: R.1293 The code that starts a sequence should get any configuration object from the configuration database
-  DVT-19481 New Rule: R.1267 Configuration database "set" operations should be done only in tests and virtual sequences
-  DVT-19527 New Rule: R.1287 The address map variable of the predictor in each child register block should be assigned to the corresponding address map of the top level register block
-  DVT-19591 New Rule: R.1288 Do not call randomize with constraints

**Enhancements**

-  DVT-19627 "Zero lines compiled" configuration error should be given on the build config file

**Bugfixes**

-  DVT-19654 R.1225 False failures for & binary operator
-  DVT-19655 R.1198 False failures for access of arrays with dynamic dimensions
-  DVT-19656 R.1120 False failures when covergroup argument is used as method call argument
-  DVT-19659 SVTB.27.5.7 False failures for enums with uvm\_ prefix
-  DVT-19668 R.1173 False failures for fork-join and begin end blocks
-  DVT-19677 SVTB.1.1.11, SVTB.1.1.20, SVTB.1.1.25 Wrong auto-correct for multiple failures on the same line
-  DVT-19680 Can't create the verissimo_waivers.xml file when the project path contains a symlink segment
-  DVT-19699 Thread Dump Collector: Profiling thread dumps are not generated

23.2.25 (1 November 2023)
-------------------------


**Features**

-  DVT-18802 Add support for Verissimo Auto-correct in VS Code
-  DVT-19323 New Rule: R.1251 Test classes must set the configuration object
-  DVT-19334 New Rule: R.1263 Use a virtual sequence to coordinate the behavior of multiple agents
-  DVT-19335 New Rule: R.1242 Define a base virtual sequence
-  DVT-19349 New Rule: R.1279 Do not start virtual sequences and normal sequences in parallel
-  DVT-19488 New Rule: R.1268 There should be a single top-level register block that instantiates the register blocks associated with the child environments
-  DVT-19489 New Rule: R.1273 The variable name and the UVM instance name of each child register block should correspond to the name of the associated env
-  DVT-19490 New Rule: R.1260 Any environment that uses a register model should have a variable named regmodel
-  DVT-19492 New Rule: R.1280 A UVM environment should only instantiate a register block if the variable regmodel is null
-  DVT-19533 New Rule: R.1266 Covergroups must be declared either in classes or packages

**Enhancements**

-  DVT-19472 Add parameter to R.1108 to allow uvm_config_db::get/set calls in body

**Bugfixes**

-  DVT-19312 R.1159 Should increase the indentation inside properties
-  DVT-19579 SVTB.5.2.7 False failures for method calls in expressions
-  DVT-19580 SVTB.5.2.7 False failures when using parameters
-  DVT-19584 Demoting the severity of check or a failure does not update the problem markers accordingly in VS Code

23.2.24 (17 October 2023)
-------------------------


**Features**

-  DVT-19301 New Rule: R.1238 Group multiple instances of the same agent
-  DVT-19326 New Rule: R.1253 Do not use variable delays in drivers
-  DVT-19336 New Rule: R.1276 Virtual sequences should be started on the virtual sequencer
-  DVT-19337 New Rule: R.1278 Do not execute sequence items from virtual sequences
-  DVT-19375 New Rule: R.1247 Locally clone the sequence item in the subscriber in case it is needed for later purpose
-  DVT-19414 Add auto-correct for SVTB.1.4.4
-  DVT-19466 New Rule: 1271 Do not use the UVM resource database
-  DVT-19478 New Rule: R.1259 Do not use the method get_is_active to determine if the agent is active or passive
-  DVT-19535 New Rule: R.1261 Do not use \`uvm_do_* macros
-  DVT-19536 New Rule: R.1270 Do not extend uvm_factory and uvm_report_server abstract classes
-  DVT-19537 New Rule: R.1265 Do not use typedef uvm_path_e
-  DVT-19538 New Rule: R.1264 Do not use uvm_comparer fields

**Bugfixes**

-  DVT-19435 SVTB.25.10 reports inconsistent results after performing auto-correct on other rules

23.2.23 (9 October 2023)
------------------------


**HIGHLIGHTS**

-  Default license server requirements changed to FlexLM tools and dvtlmd daemon >=11.19

**Performance**

-  DVT-19497 Improve performance of rule R.1042

**CLEANUP**

-  DVT-19560 License: Default license server requirements changed to FlexLM tools and dvtlmd daemon >=11.19

**Features**

-  DVT-19298 New Rule: R.1240 Use the suffix _config for user defined configuration class names
-  DVT-19299 New Rule: R.1241 When referencing config objects from the uvm_config_db the field name should contain _config
-  DVT-19324 New Rule: R.1252 Testbench top module call of uvm_config_db::set must have "uvm_test_top" as scope
-  DVT-19339 New Rule: R.1245 Raise and drop objections in the scoreboard
-  DVT-19340 New Rule: R.1246 Do not raise or drop objection in loops
-  DVT-19372 New Rule: R.1255 A monitor shall never rely on information collected from other components
-  DVT-19378 New Rule: R.1256 When instantiating a component in the test bench environment use env instead of agent
-  DVT-19381 New Rule: R.1250 Put virtual interfaces into the configuration database

**Enhancements**

-  DVT-19396 Add parameter to R.1126 to check that 'end' is placed on the same line or the next line consistently for the same block type
-  DVT-19417 Add per-rule auto-correct enablement information to Verissimo custom report API
-  DVT-19419 Add parameter to SVTB.1.1.26 to enforce code indentation inside preprocessor directives
-  DVT-19431 SVTB.1.1.26 auto-correct should align multiline statements and declarations
-  DVT-19436 Add support for multiple indexes for XVM.2.1.15.1, XVM.2.1.4.2.7, XVM.3.1.9.1, XVM.3.3.11.1 and XVM.5.4.4 arrayNamePattern parameter

**Bugfixes**

-  DVT-19428 R.1137 should not fail if there is at least one randomizable variable in a constraint
-  DVT-19437 SVTB.1.1.24 False failures for instances and genvars
-  DVT-19438 SVTB.15.4.1.1 should perform auto-correct when randomize call does not contain parenthesis
-  DVT-19456 SVTB.1.1.20 False failures for classes declared inside macros
-  DVT-19462 SVTB.5.2.7 False failures for parameters and methods in expressions
-  DVT-19463 SVTB.5.2.7 False failures for type cast operator
-  DVT-19501 SVTB.5.2.7 False failures for $isunknown guard in conditional ternaries when both 'useIsUnknownGuard' and 'allowTernaryConditionalChecks' parameters are true
-  DVT-19547 Fixed NullPointerException in rule XVM.2.1.1.3

