24.1.22 (1 October 2024)
---------------------------

**Performance**

* DVT-11438 Console View: Clearing console with huge amount of content causes long application freeze
* DVT-21066 Console View: Improve performance when smart logs match many lines

**Features**

* DVT-20969 UVM Runtime Elaboration: Ability to see partially computed Config DB View while stopped in breakpoint
* DVT-20970 UVM Runtime Elaboration: Ability to see partially computed Registers View while stopped in breakpoint
* DVT-20972 UVM Runtime Elaboration: Ability to see partially computed Factory Overrides View while stopped in breakpoint
* DVT-20974 UVM Runtime Elaboration: Ability to see partially computed Verification Hierarchy View while stopped in breakpoint
* DVT-21270 Memory Monitor: New "proactive" memory handling strategy with lower memory thresholds to ensure optimal performance
* DVT-21356 New Quick Query View

**Enhancements**

* DVT-19732 UVM Runtime Elaboration: Ability to perform debugging during static initialization
* DVT-20126 Trigger error for defparam assignment of type parameter
* DVT-21043 Trigger non-standard warning for virtual interface that has interface ports
* DVT-21258 Trigger semantic warning for non-rand variables in solve-before, unique, dist constraints
* DVT-21262 Trigger semantic error for randc variables in solve-before, distribution, and unique
* DVT-21333 Trigger semantic error for variable written in always_comb/always_ff blocks that is also written by other processes

**Bugfixes**

* DVT-20796 False UNELABORATED_PACKAGE warning for VHDL package referenced through package scope in VLOG
* DVT-20870 Quick Views: Multiple instances are opened when using keyboard shortcuts on Eclipse versions >= 4.22
* DVT-20999 Full elaboration notification wrongly triggered in specific scenarios
* DVT-21085 Do not check case expression signing and bit size in unelaborated code
* DVT-21159 False UNDECLARED_IDENTIFIER error for static access of variable defined in named sequential block
* DVT-21191 Console View: The style of existing smart log entries gets reset by new entries in specific scenarios
* DVT-21249 Trigger ILLEGAL_INTEGER_CONSTANT warning for illegal size constants used in expressions
* DVT-21250 Obsolete waivers are applied when importing a project after deleting the compile waivers file
* DVT-21268 Memory Monitor: +dvt_set_memory_starvation_handling_parameters taken into account only for the build operation
* DVT-21328 Wrong error line when the file ends with a single line comment
* DVT-21337 Quick Views: Unexpected behavior when opened from Quick Access pressing "Enter"

24.1.21 (18 September 2024)
---------------------------

**Enhancements**

* DVT-20017 Add non-standard support for declaration of non-ANSI port with duplicated direction
* DVT-21246 Syntactic problems per file combo box should fit the selected value in the Build Configurations preferance page

**Bugfixes**

* DVT-19725 Trigger error for undefined variable in a coverpoint expression
* DVT-19946 Precompilation support: Syntactic errors in precompiled files are not shown
* DVT-20200 Trigger error for redeclaration of ANSI argument inside function body
* DVT-20706 Hyperlink to the definition of a bound module does not work in specific scenarios
* DVT-20730 Precompilation support: Sometimes parameter values are not computed if save configuration contains +dvt_unelaborated_compile_checks+NONE
* DVT-21026 Performance Exploration: Analyze only once files compiled multiple times
* DVT-21115 Precompilation support: +dvt_precompiled_db_build_cmd is not taken into account if <precompiled_db_path>/<dvt_version> folder does not exist
* DVT-21220 Performance Exploration: Filtered files are not displayed in logs
* DVT-21221 UVM Runtime Elaboration: Placing a tracepoint in editor triggers a build process in an infinite loop
* DVT-21227 License: Disable checkout optimizations to avoid FlexLM server bugs causing 'Failed to get licenses from trusted storage (-220,..)' errors
* DVT-21266 UVM Runtime Elaboration: Randomize call stuck during evaluation of unique and dist constraints on unpacked arrays 
* DVT-21327 Syntactic errors are not updated at restore in specific scenarios

24.1.20 (4 September 2024)
---------------------------

**Enhancements**

* DVT-15335 Trigger error when assigning a value to an interface port
* DVT-19898 Allow change of localparam values with the +dvt_defparam directive
* DVT-20978 Registers View: Add ability to see the number of registers
* DVT-21040 Factory Overrides View: Add ability to see the total number of  factory overrides
* DVT-21067 UVM Runtime Elaboration: Variables View should have the ability to expand key value information in associative arrays
* DVT-21161 UVM Runtime Elaboration: Improve the representation of structures in Variables View

**Bugfixes**

* DVT-18444 Module instantiated through a bind directive cannot be a top candidate
* DVT-19170 Select Verification Top dialog is empty when Verification Hierarchy View is not visible
* DVT-20786 UVM Runtime Elaboration: Immediately after full build, Verification Top selection dialog shows only the saved snapshots with no icon
* DVT-21118 UVM Runtime Elaboration: Packed structured types should not appear in Variables View when used as keys in associative arrays
* DVT-21142 Show readers/writers: 'ref' port usages should be marked as RW access
* DVT-21167 Types View: Do not show empty default "work" library
* DVT-21197 DVT CLI: Recurse into incdirs when using -include auto
* DVT-21207 Package constant in loop generate block condition is not elaborated in some cases

24.1.19 (22 August 2024)
---------------------------

**Performance**

* DVT-21137 Code Formatting: Indenting preprocessing directives can lead to OutOfMemoryError

**Features**

* DVT-10723 Quick Assist: Ability to expand/collapse macros

**Enhancements**

* DVT-17302 Align P4Eclipse plugin versions to match recommendations per Eclipse platform version
* DVT-17656 Trigger error when assigning unpacked value to untyped parameter
* DVT-18664 Update SVN Subversive plugin to version 4.8 in all DVT Eclipse distros
* DVT-19630 Full build should cancel an ongoing incremental compilation
* DVT-20946 UVM Runtime Elaboration: Improve the look and feel of arrays in the Variables View
* DVT-21062 Trigger semantic error for invalid super call in implicit class constructor 
* DVT-21091 Update Git plugin to version 5.13 in DVT Eclipse 4.6.3, 4.7.2 and 4.11 distros
* DVT-21092 Update Bash Editor plugin to version 2.6.0 in DVT Eclipse 4.6.3, 4.7.2 and 4.11 distros
* DVT-21093 Update YAML Editor plugin to version 1.9.0 in DVT Eclipse 4.6.3, 4.7.2 and 4.11 distros
* DVT-21094 Update PyDev plugin to 12.1.0 in DVT Eclipse 4.24 distro
* DVT-21128 UVM Runtime Elaboration: Ability to exclude paths from design optimization algorithm
* DVT-21148 UVM Runtime Elaboration: Ability to print stack trace in console

**Bugfixes**

* DVT-13023 Design Diagrams: Show Connections not working when selecting an interface or structure port
* DVT-20195 The Mylyn plugin included in the distro is missing a requirement and fails at runtime
* DVT-20834 UVM Runtime Elaboration: Exception thrown when expanding a struct in Variables View
* DVT-20873 UVM Runtime Elaboration: Breakpoints in \`included block fragments are not taken into account
* DVT-20919 Design Diagrams: Display interfaces and structs as instances instead of connections in specific scenarios
* DVT-20937 UVM Runtime Elaboration: Tracepoint throws 'Failed to evaluate' exception when using index variable in trace message
* DVT-21014 UVM Runtime Elaboration doesn't start when 'Additional arguments' are separated by new line
* DVT-21018 UVM Runtime Elaboration: Integer data types should not be expandable in Variables View
* DVT-21042 False MISSING_PARAMETER_OVERRIDE error for class that extends type parameter when used in typedef
* DVT-21044 Trigger ILLEGAL_VARIABLE_ASSIGNMENT error for assignments in methods
* DVT-21061 UVM Runtime Elaboration: Variables View does not display the index variable in loop generate constructs in some cases
* DVT-21069 Precompilation support: Incorrect parameter evaluation after load in specific scenarios involving function calls
* DVT-21087 UVM Runtime Elaboration: Variables View should not display as variables the enum items declared in the current debug scope
* DVT-21100 Precompilation support: Missing WIDTH_MISMATCH warnings after load in assignments directly under classes
* DVT-21109 UVM Runtime Elaboration: Wrong Actual Type for elements of packed arrays and members of packed structures 
* DVT-21112 UVM Runtime Elaboration: Sometimes tracepoints get duplicated in the Breakpoins View
* DVT-21113 UVM Runtime Elaboration: Sometimes tracepoints cannot be disabled in the Breakpoints View
* DVT-21117 Precompilation support: Broken highlight in functions used in parameter assignments
* DVT-21120 Precompilation support: Incorrect tooltip identifiers declared in parameterized classes
* DVT-21122 Generate block with function call condition not elaborated in some cases
* DVT-21126 Missing warning for hierarchical function access in some cases 
* DVT-21150 Code Formatting: Wrong indentation of \`endif if the associated \`ifdef is not first in line
* DVT-21162 False ILLEGAL_PARAMETER_OVERRIDE error for typedef of virtual interface

24.1.18 (7 August 2024)
---------------------------

**Enhancements**

* DVT-7478 Mark occurrences of partial text selection
* DVT-16997 Trigger semantic error for field of type interface
* DVT-20327 Precompilation support: Loading a database that was compiled with a different DVT version should fail fast
* DVT-20328 Precompilation support: Ability to save the database for multiple DVT versions
* DVT-20949 UVM Runtime Elaboration: Ability to disable issues threshold
* DVT-20966 Build config: New +dvt_uvmhome_override directive allowing to override UVM library location specified by any other means
* DVT-21003 Precompilation support: Ability to ignore precompiled file changes
* DVT-21064 Code Formatting: Add abstract_utils macros to the default list of "Open/Close Scope Macros"
* DVT-21089 Trigger semantic error when assigning an interface instance or port to a type parameter

**Bugfixes**

* DVT-20807 UVM Runtime Elaboration: Enclosing scope variables are not shown in Variables View when run is suspended in a method
* DVT-20812 UVM Runtime Elaboration: In specific scenarios, DPI-C stubs generation fails due to false signature mismatch error
* DVT-20813 UVM Runtime Elaboration: Generated DPI-C stubs file has errors when there are more than 1000 imported methods
* DVT-20814 UVM Runtime Elaboration: Improve DPI-C signature mismatch error message
* DVT-20841 False ILLEGAL_HIERARCHICAL_ACCESS error for upward hierarchical identifier used in property expression
* DVT-20845 False ILLEGAL_ASSIGNMENT error for different signing when operand types have package scope specified
* DVT-20914 Memory Monitor: The error dialog should use an error icon
* DVT-20922 UVM Runtime Elaboration: Fixed foreach loop executing once over empty string
* DVT-20979 UVM Runtime Elaboration: VPI/DPI errors are not filtered by +dvtx_runtime_elab_issue_filter_regex 
* DVT-20984 Quick Fix: "Update prototype to match extern implementation" doesn't preserve the argument direction
* DVT-20994 UVM Runtime Elaboration: In specific scenarios, array reallocation uses the wrong size
* DVT-21008 Precompilation support: False errors may be thrown when triggering full compilation on a precompiled module
* DVT-21011 Filesystem Breadcrumb: Sometimes, openning a search result does not trigger a breadcrumb update
* DVT-21028 Unnamed generate block in included file becomes inactive at incremental
* DVT-21053 dvt_plugin_installer.sh should not require DVT plugin to be installed
* DVT-21057 UVM Runtime Elaboration: Execution fails silently for classes that don't call super constructor with arguments
* DVT-21063 False SIGNAL_NEVER_WRITTEN warning for usage in std::randomize call
* DVT-21065 Code Formatting: Curly brackets are not properly indented within constraints
* DVT-21075 False error for intra-assignment delay control in function

24.1.16 (25 July 2024)
---------------------------

**Performance**

* DVT-20940 & DVT-18035 Quick Views: Speed-up content computation
* DVT-21013 UVM Runtime Elaboration: Speed up and reduce memory footprint

**Enhancements**

* DVT-19703 Compile Waivers: Ability to add waivers from the dialog to corrupted or empty waiver files
* DVT-19991 PVerilog: Pop-up dialog for Show Preprocessed/Generated File action when not inside a mapped file
* DVT-20266 PVerilog: Ability to navigate from the generated file to the preprocessed file using the editor context menu
* DVT-20629 Precompilation support: Add configuration examples in uvm_ref_flow predefined project
* DVT-20630 Shallow compilation: Add configuration examples in uvm_ref_flow predefined project
* DVT-20640 Precompilation support: Create the precompiled_db directory if it does not exist
* DVT-20666 Code Formatting: Improve indentation for multi-line expressions following equality operators within constraints
* DVT-20686 UVM Runtime Elaboration: Ability to expand structured datatypes / packed arrays in the Variables View when debugging
* DVT-20843 Thread Dump Collector: Change the default location of thread dumps to .dvt/.profiling
* DVT-20844 Thread Dump Collector: Log delta information when incremental build takes longer than expected
* DVT-20933 Performance Exploration: Change logs location to .dvt/.profiling/exploration_logs
* DVT-21012 Code Formatting: "Only consecutive lines" preference should not be enabled when vertical alignment is disabled
* DVT-21016 PVerilog: Ability to see and navigate to the associated preprocessed code for each generated code section using the Inspect View

**Bugfixes**

* DVT-20021 False DUPLICATE_PORT error for Verilog-AMS port declaration when the specified discipline is \logic
* DVT-20074 Trigger DUPLICATE_DECLARATION error for multiple nettype declarations of the same port
* DVT-20163 Do not declare different signal for separate discipline declaration in Verilog-AMS
* DVT-20846 Trigger error for package scope access of enum literal incorrectly made visible through import statement
* DVT-20866 Report an Issue: "Save as zip" creates empty archive when the size of attached files  exceeds 25MB
* DVT-20910 Code Formatting: Wrong indentation after an \`ifdef block which contains special keywords
* DVT-20918 UVM Runtime Elaboration: Imported DPI-C methods truncate return values to 32 bits
* DVT-20921 UVM Runtime Elaboration: False "Predefined system task $bits not implemented" error
* DVT-20930 UVM Runtime Elaboration: Unknown evaluation for unpacked bit streams arrays with empty initialization
* DVT-20931 UVM Runtime Elaboration: Wrong evaluation of reading and writing a variable slice of the array 
* DVT-20942 UVM Runtime Elaboration: Stepping over uvm_config_db#(type) requires two "Step over" actions in some cases
* DVT-20964 UVM Runtime Elaboration: Failed to evaluate unique constraints
* DVT-20985 Code Formatting: Add whitespace before/after should not break the ":=" operator
* DVT-20993 UVM Runtime Elaboration: Unsupported $cast for uvm_objects part of queues

24.1.15 (11 July 2024)
---------------------------

**Bugfixes**

* DVT-20944 UVM Runtime Elaboration: In specific scenarios, a full build is required prior to every run
* DVT-20945 UVM Runtime Elaboration: False execution errors reported when the testbench top contains arrays of interface instances

24.1.14 (9 July 2024)
---------------------------

**Performance**

* DVT-20372 Speed-up parsing on Java >= 12

**Features**

* DVT-12820 Power Format: Add support for UPF isolation and retention
* DVT-20875 Power Format: New Power Domain View 

**Enhancements**

* DVT-10711 Ability to bind a shortcut for formatting all files in a project
* DVT-20754 Code Formatting: Improve "Module Port Declarations" vertical align pattern handling of port direction
* DVT-20886 & DVT-20863 & DVT-20872 Code Formatting: Improve UX when selecting vertical align patterns

**Bugfixes**

* DVT-19822 Code Formatting: Vertical alignment for module port declarations does not work properly for the last port declaration
* DVT-20732 Code Formatting: "Module Port Declarations" vertical align pattern does not work due to comments before comma
* DVT-20788 False duplicate states for a variable accessed both with and without a package scope
* DVT-20857 UVM Runtime Elaboration: Array assignment does not work in specific scenarios
* DVT-20864 Thread Dump Collector: Sometimes, temporary directories created during parser profiling can't be deleted on NFS
* DVT-20868 UVM Runtime Elaboration: Wrong execution order fragments included in the same block
* DVT-20876 Rename Port Across the Design Hierarchy: NullPointerException thrown in certain scenarios
* DVT-20915 UVM Runtime Elaboration: Execution fails for 'inside' operator used with an unpacked array concatenation

24.1.13 (26 June 2024)
---------------------------

**Performance**

* DVT-20705 & DVT-19231 Speed-up verification top selection when multiple elaboration snapshots are available
* DVT-20759 Code Formatting: Speed-up formatting when code contains multiple assignment operators used within macro calls
* DVT-20764 Speed-up incremental compilation when changing a macro definition and the file system is slow
* DVT-20817 Speed-up incremental compilation when making changes inside classes defined under large packages

**Enhancements**

* DVT-19999 DVT Registers View: Ability to browse the statically computed registers hierarchy
* DVT-20769 UVM Runtime Elaboration: Add support for string built-in methods hextoa, octtoa, bintoa, realtoa 

**Bugfixes**

* DVT-19597 & DVT-20577 Design Breadcrumb: Cross-top navigation does not work in specific scenarios
* DVT-20641 Code Formatting: Wrong vertical alignment for function declarations with bit vector return type
* DVT-20652 Code Formatting: Do not vertically align colons delimiting code block labels
* DVT-20658 Code Formatting:  Vertical align patterns should not be applied within block comments
* DVT-20692 UnsupportedOperationException thrown during width checking for indexed range select
* DVT-20713 Sometimes triggering a full build doesn't stop the build in progress
* DVT-20735 UVM Runtime Elaboration: Env variables set via build config and runtime args are not injected in the DPI-C execution environment
* DVT-20750 False UNDECLARED_IDENTIFIER error for bind parameter found in explicit import
* DVT-20755 Code Formatting: Wrong vertical alignment for "Function Declarations"  when the direction of the first parameter is not specified
* DVT-20757 UVM Runtime Elaboration: Wrong execution of "force" statements on packed struct member
* DVT-20758 UVM Runtime Elaboration: Execution fails when "{}" is passed to a queue method argument
* DVT-20771 Code Formatting: Vertical alignment of single-line comments should be disabled between encrypted code pragmas
* DVT-20785 UVM Runtime Elaboration: All failed final assertion are all wrongly reported to the console in the same file
* DVT-20808 Precompilation support: Parameter values are not computed for library cells
* DVT-20818 Encrypted code auto-close: Does not work when unencrypted sections contain export DPI-C function statements
* DVT-20820 UVM Runtime Elaboration: Evaluation fails for port connections between array of modports and array of instances
* DVT-20827 Thread Dump Collector: Parser profiling should ignore internal files
* DVT-20828 Thread Dump Collector: Zip files generated by parser profiling are sometimes empty
* DVT-20829 Incremental builds performed in quick succession may deactivate the "Open Declaration" hyperlink in -y compiled modules

24.1.12 (11 June 2024)
---------------------------

**Performance**

* DVT-20610 Coverage View: Improve computation time in slow file-systems
* DVT-20691 UVM Runtime Elaboration: Fix memory leak when running multiple consecutive elaborations

**Features**

* DVT-19653 UVM Runtime Elaboration: Add support for PLI/VPI

**Enhancements**

* DVT-19984 Editor Notification: Suggest sending an Issue Report when incremental build takes longer than expected
* DVT-20307 Lazy Bring-up Resources: Ability to expand an entire folder hierarchy
* DVT-20529 Added memory starvation handling mechanism for UVM Runtime Elaboration
* DVT-20536 UVM Runtime Elaboration: Improve error handling for unimplemented import DPI-C function 
* DVT-20709 Thread Dump Collector: Log incremental build statistics in JSON format
* DVT-20710 Thread Dump Collector: Overwrite incremental build thread dumps collected for the same compilation delta

**Bugfixes**

* DVT-20077 Scripts should validate all of the supported license variables, not only the DVT_LICENSE_FILE
* DVT-20348 Precompilation support: "Go To Include" action does not properly work for files compiled using +dvt_init_xilinx or +dvt_init_altera directives
* DVT-20387 Code Formatting: Disable code formatting in PVerilog preprocessed code sections
* DVT-20495 UVM Runtime Elaboration: Support DPI-C method names colliding libc defined functions
* DVT-20608 UVM Runtime Elaboration: $fatal() messages are not printed to the console
* DVT-20625 Code Formatting: Wrong indentation of \`else following particular constructs
* DVT-20634 Code Formatting: Disable formatting between encrypted code pragmas
* DVT-20643 Code Formatting: Do no indent single-line comments within multi-line macro definitions
* DVT-20644 Precompilation support: Using resource filters may lead to precompiled files not showing up under DVT-AutoLink
* DVT-20671 Precompilation support: False "out of sync" editor notification can sometimes be triggered
* DVT-20672 Precompilation support: False "DUPLICATE_FUNCTION" warning for functions declared via macro calls in files compiled both in save and load
* DVT-20684 UVM Runtime Elaboration: Tracepoints do not work in specific scenarios
* DVT-20711 Precompilation support: Sometimes the value is not computed for parameters declared directly under packages
* DVT-20712 Precompilation support: Sometimes the value is not computed for enums declared directly under packages
* DVT-20728 Thread Dump Collector: Writing thread dumps can cause UI freezes in specific scenarios
* DVT-20731 Precompilation support: Sometimes the value is not computed for parameters declared directly under libraries
* DVT-20744 UVM Runtime Elaboration: Add support for svGetUserData / svPutUserData DPI-C standard functions

24.1.11 (29 May 2024)
---------------------------

**CLEANUP**

* DVT-20624 Change site URL from dvteclipse.com to eda.amiq.com

**Enhancements**

* DVT-16954 Thread Dump Collector: Ability to profile a file during parsing
* DVT-20315 Thread Dump Collector: Ability to generate thread dumps for files in build report tops
* DVT-20581 Update WaveDrom package to v3.5.0
* DVT-20606 UVM Runtime Elaboration: Improved look and feel for Variables View icons and labels
* DVT-20632 Demote 'const' followed by 'rand' qualifier for class properties to non-standard warning
* DVT-20639 UVM Runtime Elaboration: Improved debuggability and accuracy

**Bugfixes**

* DVT-19245 Disable Memory Monitor when using custom settings affecting the JVM garbage collection
* DVT-20314 Inactive code highlight does not work for \`ifdef ... \`endif blocks placed on the same line in specific scenarios
* DVT-20486 Code Formatting: Wrong indentation of multi-line assignments within open parenthesis
* DVT-20497 Quick Fix: 'Declare field' inserts fully qualified name for parameterized types declared in other packages even if the type was already imported
* DVT-20548 Assignment pattern with replication not evaluated for base type 'real'
* DVT-20558 ILLEGAL_ASSIGNMENT error disappears at incremental for function call inside compilation unit class scope 
* DVT-20622 Fixed StackOverflowException thrown in long chains of if ... else if constructs in specific scenarios
* DVT-20627 Cannot evaluate assignments when left-hand side is a streaming concatenation

24.1.10 (14 May 2024)
---------------------------

**Enhancements**

* DVT-17633 Code Formatting: Add vertical alignment patterns that group types and names of different entity declarations with dimensions
* DVT-20096 Extract to Variable:  Set "Replace All" as the default option when triggered from the context menu
* DVT-20292 Code Formatting: Do not vertically align comments following keywords delimiting code blocks
* DVT-20457 Thread Dump Collector: Change the location for automatically generated thread dumps to .dvt/.profiling
* DVT-20479 UVM Runtime Elaboration: Hyperlink GCC errors/warnings/notes shown in the console
* DVT-20488 Filter out stdout libva warnings for Eclipse distros
* DVT-20507 UVM Runtime Elaboration: Prompt to stop the elaboration in progress when triggering a full build
* DVT-20522 Conditions for if/else if statements should be displayed in reverse order in Types and Outline views
* DVT-20530 Improve display string for range specification in error messages

**Bugfixes**

* DVT-20199 Precompilation support: UVM objects not shown in Verification Hierarchy View if the left-hand side of the create call involves a hierarchical access
* DVT-20251 StackOverflowException thrown in long chains of if ... else if constructs
* DVT-20355 Memory Monitor: Problems wrongly reported in specific scenarios when the JVM -Xmx and -Xms argument values are different
* DVT-20443 Incremental build broken in a -y library file with \`ifndef guards
* DVT-20474 UVM Runtime Elaboration: DPI-C stubs not generated properly for packed structs
* DVT-20480 UVM Runtime Elaboration: DPI-C stubs not generated properly for type aliases
* DVT-20482 Predefined 'this' is incorrectly resolved when its class scope contains inner types with same name
* DVT-20483 UVM Runtime Elaboration: DPI-C Stubs not generated properly for struct fields which are referred via typedef aliases
* DVT-20492 Compile Waivers: Waived build config problems are displayed in the Problems View in specific scenarios
* DVT-20493 Package constant may not be evaluated when import declarations are present in the compilation unit scope
* DVT-20499 Implement Missing Pure Virtual Methods Quick Fix: Method type parameters are omitted from method implementation
* DVT-20501 Implement Missing Pure Virtual Methods Quick Fix: Method return type should not be qualified when scope is already imported
* DVT-20504 No width mismatch warning triggered when the left-hand side of the assignment is a function implicit variable
* DVT-20506 Change Method Signature: Adding and removing arguments removes trailing whitespace from the first argument
* DVT-20508 Compile Waivers: Waived build config errors should not be reported to the DVT Build Console
* DVT-20509 Hyperlink not working for VHDL nested generate block referenced in Verilog hierarchical identifier
* DVT-20514 Build Config: Do not trigger error for -xlrm module_xmr directive
* DVT-20515 False UNDECLARED_IDENTIFIER error at incremental for imported name when file is compiled multiple times
* DVT-20518 UVM Runtime Elaboration: Static initialization of constants and enums fails in specific scenarios
* DVT-20519 UVM Runtime Elaboration: Fails for cross-library enum value references
* DVT-20528 Build config: +dvt_set_directive_nof_args directive does not work for variadic arguments

24.1.9 (26 April 2024)
---------------------------

**Bugfixes**

* DVT-20477 False ILLEGAL_NONCONSTANT_EXPRESSION error for package constant when used in a port connection

24.1.8 (24 April 2024)
---------------------------

**Features**

* DVT-20282 Code Formatting: Add option to compact whitespace groups only for vertical-align patterns

**Enhancements**

* DVT-20272 Build Report: Collect top files by compilation speed
* DVT-20360 Remove NON_STANDARD warning for $stacktrace system call
* DVT-20368 Build Report: Collect top -v files by compile time
* DVT-20439 Evaluate 'for' loop statement with missing initialization, condition or step

**Bugfixes**

* DVT-9948 'Jump to case branch' hyperlink does not work across files
* DVT-15926 In specific scenarios, implicit signals are not declared in generate loops
* DVT-19606 PVerilog: \`include from the beginning of a preprocessing region should not compile the specified file
* DVT-20269 Chromium Browser: Sometimes the tool crashes when the GPU process cannot start
* DVT-20271 False SELECT_NOT_ALLOWED errors for VHDL arrays used in SystemVerilog code for mixed-language projects
* DVT-20338 Code Formatting: Wrong indentation of multi-line statements within a cross construct
* DVT-20349 Parse time displayed in build console is not always correct
* DVT-20373 PVerilog: Improper parsing when encountering \`endif without \`ifdef in a preprocessing region
* DVT-20374 False NON_EXISTING_TYPE error for interface type declaration when the interface port is of type modport
* DVT-20386 False errors reported when calling a constructor with the "::" static access modifier
* DVT-20390 In some cases, the default value of a parameter is not evaluated when the same module is instantiated both in Verilog and VHDL
* DVT-20392 UVM Runtime Elaboration: Fails for projects using OVM
* DVT-20393 PVerilog: Improper parsing when a preprocessing region starts with a macro
* DVT-20416 In specific scenarios early theming initialization causes a crash on startup
* DVT-20425 Do not declare implicit signal for left-hand side of cast operation
* DVT-20433 False MULTIPLE_VARIABLE_ASSIGNMENTS error in module compiled multiple times that contains a named always block
* DVT-20434 Code Formatting: "Do not indent multi-line content of assigns" does not work if the assign contains an \`ifdef ... \`else ... \`endif block
* DVT-20441 False UNDECLARED_IDENTIFIER error when accessing record array member in a hierarchical name

24.1.7 (9 April 2024)
---------------------------

**Enhancements**

* DVT-20351 Forcibly terminate stuck JVMs after application is closed
* DVT-20352 Elaboration support for evaluating sub-instance hierarchical identifiers used in parameter value expressions
* DVT-20357 DVT CLI: Ability to start a launch configuration in debug mode

**Bugfixes**

* DVT-17235 Priority is not taken into account for case sensitive user-defined task tags
* DVT-17652 Print build configuration errors in the build console
* DVT-19821 Code Formatting: \`endif should be aligned with its corresponding \`ifdef
* DVT-20197 Compile Order View: Wrong label for files which are both precompiled and shallow compiled
* DVT-20222 Code Formatting: wait() not followed by a semi-colon breaks formatting
* DVT-20253 Parsing breaks when triggering an incremental compilation inside a file that contains \`include for type parameter assignment
* DVT-20255 Code Formatting: All vertical align patterns should align packed/unpacked dimensions the same way
* DVT-20291 Code Formatting: "By Name Port Connections" should not vertically align multiple port connections per line
* DVT-20295 Compile Waivers: Wrong path separator when displaying file paths in the "Create Waiver" dialog on Windows
* DVT-20296 Compile Waivers: Can't create .dvt/waivers.xml from the "Create Waiver" dialog on Windows
* DVT-20297 False error reported at incremental build for included files inside module port connections and parameter assignments
* DVT-20298 Encrypted code auto-close: Not working when class is defined before typedef in different included files
* DVT-20312 False syntax error thrown on macro call whose expansion is a timescale unit
* DVT-20323 NullPointerException is thrown when using +dvt_db_location directive in batch mode
* DVT-20350 PVerilog: Preprocessing regions are not identified properly in particular scenarios
* DVT-20353 Design Breadcrumb: Navigating to a parameter from Design Hierarchy members panel doesn't update the navigation bar in specific scenarios
* DVT-20358 False semantic errors caused by a type alias whose value involves a parameter hierarchical access to another inherited parameter
* DVT-20359 False ILLEGAL_ASSIGNMENT semantic error when the interface instance and virtual interface argument refer to interfaces in different libraries
* DVT-20380 False ILLEGAL_ASSIGNMENT error when an operand is a typedef of an unpacked array and the other is the same unpacked array with the same signing

24.1.6 (27 March 2024)
---------------------------

**Performance**

* DVT-20131 DVT CLI: Speed-up resource filters application
* DVT-20212 Speed-up incremental build in modules with package imports
* DVT-20258 Speed-up incremental compilation when changing files with multiple definitions of the same macro
* DVT-20261 PVerilog: Speed-up mapping computation time in specific scenarios

**Enhancements**

* DVT-19953 Compile Waivers: Relative paths should not start with a slash character in the Create Waiver dialog drop-down
* DVT-20256 License: Improved license management when encountering connectivity issues

**Bugfixes**

* DVT-15764 Design Breadcrumb: Accurate updates when using "F3" shortcut on an instance
* DVT-16545 False errors reported after usages of macros containing unmatched \`ifdef ... \`endif pairs
* DVT-19072 Build auto-config: Timeout does not work in specific scenarios
* DVT-19942 Code Formatting: Alignment issue of "By Name Port Connections" vertical align pattern for the last port connection
* DVT-20157 PVerilog: Mapping a file using +dvt_pverilog_comment_map+ and compiling it multiple times should take the mapping into account each time
* DVT-20205 Code Formatting: Wrong indentation of expression contained in a "with" clause
* DVT-20206 Code Formatting: Wrong vertical alignment for class variables of a type with macro parameters
* DVT-20211 Compile Waivers: Ignore duplicate usages of the same waivers file in the build configuration
* DVT-20243 PVerilog: \`ifdef without \`endif in a preprocessing region causes improper parsing
* DVT-20280 False syntax errors after incremental build in a file with a include found before module port list
* DVT-20289 False syntax errors after incremental build in a file with a include found inside constraint body
* DVT-20301 Wrong line and filename when reporting ARRAY_DIMENSION_OVERFLOW error during UVM elaboration
* DVT-20305 Chromium Browser: Corrected typo in default arguments used on Linux

24.1.5 (13 March 2024)
---------------------------

**Performance**

* DVT-20203 Improve compile time for modules with many generate blocks

**Enhancements**

* DVT-20184 Check unary operators "+" and "-" even when the width mismatch check is filtered
* DVT-20237 Improved non-blocking incremental build after changing the definition of a macro

**Bugfixes**

* DVT-20043 No ILLEGAL_CUNIT_REFERENCE errors triggered for global scope classes in non-top files
* DVT-20101 Chromium Browser: In specific scenarios, when exiting Eclipse, the UI shuts down but the underlying process keeps running
* DVT-20113 PVerilog: +dvt_pverilog_comment_map triggers console exceptions when a compiled file is empty or contains only comments
* DVT-20117 False syntax errors reported at incremental build for a chain of included files without comma in module parameter list
* DVT-20156 Code Formatting: Wrong indentation of comments preceding some closing keywords
* DVT-20173 False VIRTUAL_CLASS_INSTANTIATION error for array variable whose type is an inherited class parameter with virtual class default value
* DVT-20176 Extract to module refactoring: Wrong default target directory if project has custom name
* DVT-20185 Code Formatting: "Add new line after end" does not work if the line that starts with "end" ends with a comment
* DVT-20186 Code Formatting: Wrong indentation of labeled coverpoint bins
* DVT-20201 Code Formatting: Do not indent the "@formatter:on" pragma
* DVT-20202 Code Formatting: Vertical align pattern for \`xvm_field macros does not work if the macro is followed by a semi-colon
* DVT-20218 Do not trigger error for missing arguments of build config defined system functions
* DVT-20230 DVT CLI: Lazy Bring up Resources doesn't work for projects with CPP nature

24.1.4 (28 February 2024)
---------------------------

**Performance**

* DVT-20107 Speed-up full build in projects with many extern functions without an implementation

**CLEANUP**

* DVT-20073 License: Replaced the license events database with a capped human readable log

**Enhancements**

* DVT-19976 Support for predefined \`include "disciplines.h"
* DVT-19987 PVerilog: New "Getting Started" predefined project based on jinja2
* DVT-20022 Add non-standard support for .* port connection used with empty port

**Bugfixes**

* DVT-13947 Errors not cleared for typedef usages from function parameters and variables declared in global scope when changing its name
* DVT-18176 Build auto-config: In specific scenarios file paths get truncated
* DVT-19034 Design Breadcrumb: No navigation bar when using the 'Open Instance' action on a drop-down element in Diagram Editors
* DVT-19905 Compile Waivers: Specifying compile waivers files from outside the project using relative paths breaks build configuration parsing
* DVT-19952 Compile Waivers: No hyperlink for compile waivers files specified in the build configuration using relative paths
* DVT-19961 False DUPLICATE_NAMED_BLOCK error for nested block inside anonymous sequential block
* DVT-19975 Do not trigger ILLEGAL_ASSIGNMENT error for user-defined nettype assigned to a bit vector value in some cases
* DVT-20001 Refactoring Connect: Signal declaration is incorrectly inserted when the enclosing module contains preprocessing directives
* DVT-20011 The tooltip shown when hovering a class type alias incorrectly shows the class field as "values"
* DVT-20025 Sometimes hovering build configuration directives results in empty tooltip
* DVT-20046 & DVT-20152 PVerilog: False compilation errors are reported after deleting code containing a preprocessing section boundary
* DVT-20072 Precompilation support: +dvt_prepend_init sections do not work properly if specified both in save and load configurations
* DVT-20076 Encrypted code auto-API:  Wrong ILLEGAL_ASSIGNMENT errors for default array iterator in predefined array methods
* DVT-20081 Incorrect evaluation of type alias involving an access to an inner specialized class
* DVT-20097 PVerilog: False compilation errors are reported when there is a single word preprocessing region on the last line of the file
* DVT-20105 False UNDEFINED_OPERATOR errors for type aliases that resolve to multidimensional unpacked arrays with base types having sign specifiers
* DVT-20106 Compile Waivers: Specifying compile waivers files using undefined environment variables breaks build configuration parsing
* DVT-20127 PVerilog: Using Linux line separators in Windows breaks the preprocessed code section mapping
* DVT-20129 Changes to class fields referenced in global scope methods are not handled incrementally
* DVT-20130 DVT Debugger: Breakpoints cannot be set
* DVT-20132 UVM Runtime Elaboration: Inferred constructor with additional arguments other than the ones from super constructor registers the component under uvm_root
* DVT-20137 Show Usages: Calls to $value$plusargs are not marked as writers of variables bound to its output argument
* DVT-20147 Code Formatting: Apply "Indent and increase indentation level - except first" preference to all first-level open preprocessing directives
* DVT-20151 Code Formatting: Non-default vertical align tokens are aligned within macro definitions

24.1.3 (13 February 2024)
---------------------------

**Performance**

* DVT-20067 Improved UI responsiveness in sessions running for a long time

**Features**

* DVT-19886 Code Formatting: Add preference to skip indentation of multi-line macro definitions

**Enhancements**

* DVT-14487 License: Show the pop-up notification until it's dismissed by the user or until a license is acquired
* DVT-19032 License: Show client information (pid, user, host, hostid) in the log header
* DVT-19042 Trigger error for default values of ref/output/inout method arguments similarly to errors triggered for actual values
* DVT-19753 Automatically generate thread dumps when incremental build takes longer than expected
* DVT-19817 Report an Issue: Ability to select/deselect all attachments
* DVT-19904 Quartus auto-config: Add support for QSYS_FILE option
* DVT-19937 Add non-standard support for assignment of empty_queue and unpacked assignment pattern to string type
* DVT-19945 Code Formatting: Improve indentation for multi-line expressions
* DVT-19963 Encrypted code auto-API: Inhibit the errors in accesses on auto defined elements
* DVT-19981 Improve +dvt_init_from_simlog handling of quoted +define directives when working with xrun logs
* DVT-20063 Trigger ILLEGAL_ASSIGNMENT error for incorrect expression connected to output and inout arguments

**Bugfixes**

* DVT-18685 Code Formatting: Wrong indentation of comments preceding a closing keyword
* DVT-18729 Build config: Environment variables are not replaced for arguments of +dvt_db_location
* DVT-19820 Code Formatting: Vertical alignment should not be performed within macro definitions
* DVT-19857 Build config: -makelib directives are not handled properly inside +dvt_init_from_simlog
* DVT-19862 Build config: Substitutions specified using +dvt_simlog_replace are erroneously performed multiple times
* DVT-19931 Precompilation support: Do not allow refactor operations in precompiled files
* DVT-19993 Breadcrumb: "No elaborated design elements in file" wrongly shows up in specific scenarios
* DVT-19997 Hyperlink: Open Aliased Type for type parameters should place the cursor on the type definition
* DVT-20000 Extract to Module Refactoring: Wrong default target directory if used inside a linked resource
* DVT-20007 Encrypted code auto-API: Infer field type from array assignment
* DVT-20008 Encrypted code auto-API: Not working when auto defined field is assigned to itself
* DVT-20009 Encrypted code auto-API: Not working inside classes used through aliases when the enclosing package also contains encrypted code
* DVT-20014 Compile waivers: When located directly under the compilation root, waivers are not applied in batch mode
* DVT-20033 dvt_plugin_installer.sh hangs when stdin is not a tty
* DVT-20040 Precompilation support: Semantic errors in global scope classes are missing from the preocompiled database
* DVT-20047 Regular expressions printed to the build console by +dvt_init_from_simlog should be quoted
* DVT-20054 License: In specific scenarios, connectivity issues are not detected immediatly
* DVT-20055 License: In specific scenarios, license server response delays can cause UI slowness

24.1.2 (1 February 2024)
---------------------------

**Bugfixes**

* DVT-16884 False syntax errors reported at incremental build in files including fragments (ports, parameters)
* DVT-19786 Fail to evaluate anonymous enum inside struct assignment
* DVT-19818 False UNDECLARED_IDENTIFIER error for access on a variable whose type implies a parameter hierarchical access
* DVT-19899 Encrypted code auto-close: Not working in specific scenarios involving included files
* DVT-19944 PVerilog: Sometimes +dvt_pverilog_comment_map is broken when the comment referring the p file is followed by other comments
* DVT-19958 Encrypted code auto-API: Not working when auto defined element is used in push_back list method
* DVT-19974 No matches reported in symbolic link files when searching for macro usages
* DVT-19998 False NON_EXISTING_TYPE error for access on type alias whose value implies a parameter hierarchical access

24.1.1 (18 January 2024)
------------------------

Starting with the 24.1.1 major release our products are no longer compatible with old FlexLM license servers (<11.19).

**HIGHLIGHTS**

Note: Some of the highlights below were rolled-out in 23.#.# releases for early adopters.

* Speed-up parsing, incremental compilation, hyperlinking, searching for usages, quick fixing and auto-completing
* Ability to speed-up full build by :ref:`"shallow" compiling <Compilation Speed-up>` a section of the project
* Ability to speed-up full build by :ref:`precompiling <Precompilation Support>` a section of the project
* Reduced memory footprint during elaboration
* Simplified handling of projects containing large file system hierarchies by the ability to :ref:`bring up folders on demand <Lazy Bring up Resources>`
* 20 new semantic checks
* New bundled Chromium browser engine used by default on all operating systems
* Ability to perform and debug the :ref:`UVM Runtime Elaboration`:
    * New :ref:`Factory Overrides View`
    * New :ref:`Config DB View`
    * New :ref:`Registers View`
* Improve design representation in UVM Component Diagrams to include interface instances
* New :ref:`Preprocessed Files Support` providing advanced functionalities in preprocessing files
* Improved :ref:`Bit Field Diagrams` look & feel
* New :ref:`change method signature refactoring <Change Method Signature>`
* Align auto-indentation with the indentation performed by the code formatter
* Ability to visualize the :ref:`build configuration file inclusion tree and +dvt_init invocations <Build Config Hierarchy>`
* Improved :ref:`encrypted VIP support <Encrypted VIP Support>`
* Support for SystemVerilog AMS

**REMOVED**

* DVT-19867 License: Removed support for FlexLM tools and dvtlmd daemon versions <11.19
* DVT-19907 Remove support for +dvt_disable_expr_eval directive

**Deprecated**

* DVT-19923 PVerilog: Deprecate multi-part editor

**Enhancements**

* DVT-14587 Ability to disable automatic compilation of non-top-files
* DVT-17984 Support for setting a package as elaboration top
* DVT-19029 Shallow Compile: Add exclusion support to the +dvt_shallow_compile directive
* DVT-19393 Bitfield Diagrams: Ability to generate a diagram from a type parameter which solves to a packed struct
* DVT-19394 Ability to navigate directly to the declaration of the type to which a type parameter is solved
* DVT-19452 PVerilog: Added support for comment mapping in the advanced functionality in preprocessing files mode
* DVT-19553 PVerilog: Ability to use +dvt_pverilog_run_on_save+ directive in the advanced functionality in preprocessing files mode
* DVT-19684 Disable incremental compilation timeouts when non-blocking incremental build is enabled
* DVT-19753 Automatically generate thread dumps when incremental build takes longer than expected and non-blocking incremental build is enabled
* DVT-19815 Print reports generation time to verissimo.sh and dvt_build.sh output
* DVT-19888 PVerilog: Dedicated background highlight for generated code regions
* DVT-19889 PVerilog: Ability to navigate from the preprocessing file to the generated file using the editor context menu
* DVT-19890 PVerilog: Ability to see and navigate to the associated generated code for each embedded preprocessing section using the Inspect View
* DVT-19891 PVerilog: Ability to inhibit editing in files containing generated code
* DVT-19909 Non-blocking incremental build is enabled by default
* DVT-19915 PVerilog: Enable by default the advanced functionality in preprocessing files mode
* DVT-19925 Do not trigger width mismatch warning in unelaborated code

**Bugfixes**

* DVT-19485 Precompilation Support: False "No source files were compiled" warning when no files are compiled in addition to the loaded database
* DVT-19733 Design Breadcrumb: Sometimes navigation bar is not available in included fragment files
* DVT-19825 Custom Dialog: Prevent infinite recursion when project contains circular symlinks
* DVT-19833 Precompilation Support: Saving the database fails if any of its files is larger than 2GB
* DVT-19836 Shallow Compilation: A file is entirely shallow compiled even if only function or module shallow compilation was requested
* DVT-19856 In specific scenarios +dvt_ext_map does not work
* DVT-19860 UVM Runtime Elaboration: Debugger hot swap doesn't work correctly in 'for' and 'foreach' blocks
* DVT-19863 Sometimes refresh is not done properly following a run configuration launch
* DVT-19910 Precompilation Support: Sometimes the md5 checksum is incorrectly computed when saving the database in GUI mode
* DVT-19911 Precompilation Support: False errors triggered on parameter assignments
* DVT-19912 Precompilation Support: TLM port connections to uvm_tlm_analysis_fifo are not displayed in UVM Component Diagrams
