24.2.28 (11 December 2024)
--------------------------


**Features**

* DVT-17857 New Quick Assist: Split / join constraint declaration and out of body implementation
* DVT-21482 Parser: Support for IEEE 1800-2023 predefined weak_reference class 
* DVT-21526 Parser: Support for IEEE 1800-2023 default keyword in constructor declaration

**Enhancements**

* DVT-11648 Extract to Method: Ability to extract an expression
* DVT-19781 Semantic checks: Trigger error for assignment expression in constraint
* DVT-21448 Assignment pattern is not evaluated for unpacked structs for type assignment
* DVT-21713 AI Assistant: Format code sections returned by snippets and symbols
* DVT-21730 AI Assistant: Add support for query_key:search_pattern symbol queries
* DVT-21740 UVM Runtime Elaboration: Add support for 32bit DPI-C compilation 
* DVT-21775 Quick Query View: Semantic search should return all results matching the query_type when no name pattern is provided
* DVT-21823 AI Assistant: Split logging into debug log and model communication 
* DVT-21934 PVerilog: Errors triggered in a generated code section should be reported on the first line of the associated preprocessed region

**Bugfixes**

* DVT-12957 Extract Variable / to Method: Should not be available for incomplete expressions
* DVT-14311 Extract to Method: Extracting from an extern implementation misplaces the extracted code when the prototype is written on multiple lines
* DVT-17007 Extract to Variable: Wrong variable type inferred in specific scenarios
* DVT-19605 PVerilog: Problem markers are missing for a preprocessing region which contains only comments
* DVT-20150 & DVT-19225 PVerilog: Improper parsing when part of a macro definition resides in a generated code section
* DVT-20415 PVerilog: Nested \`ifdef blocks with a preprocessed body may cause improper parsing
* DVT-21573 Parser: False syntax error for sequence expression not followed by semicolon in sequence declaration
* DVT-21602 "Expand .* Port Connections" refactoring operation is unavailable for bound module instances
* DVT-21668 Semantic check: False ILLEGAL_ASSIGNMENT reported on parameters with packed data type
* DVT-21709 Restrict lazy bring-up of resurces actions to Project Explorer context menu
* DVT-21718 UVM Runtime Elaboration: Fail to evaluate non-static member in scope of function
* DVT-21769 UVM Field Editor fails to remove '\`uvm_object_utils_end' when unregistering fields
* DVT-21795 Removed parent directory check from DesignSync Revision Control Integration script
* DVT-21812 AI Assistant: Fixed "Unexpected params [null]" warning printed on stderr 
* DVT-21814 PVerilog: Improper parsing when part of a multiline comment resides in a generated code section
* DVT-21815 PVerilog: Improper parsing when part of an \`include statement resides in a generated code section
* DVT-21816 AI Assistant: Do not allow chat sessions with empty names
* DVT-21819 UVM Runtime Elaboration: $fscanf does not correctly handle multi-line input
* DVT-21820 UVM Runtime Elaboration: Fail to evaluate type alias to specialized class when using class static access
* DVT-21821 Declare Field/Variable Quick Fix: Wrong type inferred in plain Verilog files 
* DVT-21838 Build config: Files specified after +dvt_uvmhome_override directive are not compiled if no compatibility mode is specified
* DVT-21846 AI Assistant: Sometimes, the chat autocomplete freezes while writing a symbol
* DVT-21864 DVT CLI: When a threshold is specified for include auto the resources are not correctly filtered
* DVT-21877 DVT CLI: Reintroduced the default threshold for -include auto
* DVT-21884 & DVT-21943 UVM Runtime Elaboration: Wrong execution order of repeat statements within macro call
* DVT-21886 AI Assistant: Chat view links are opened inside the chat instead of the external browser
* DVT-21890 AI Assistant: Remove autocomplete proposals when the proposal matches the text
* DVT-21896 AI Assistant: Sometimes, an error is thrown when resending a request
* DVT-21900 Semantic checks: Do not trigger ILLEGAL_ASSIGNMENT error for classes with an undefined ancestor
* DVT-21908 UVM Runtime Elaboration: 'Watch' action on a hierarchical variable doesn't add the full variable scope in the Expressions View
* DVT-21919 Missing UNELABORATED_ENTITY warning after project restore
* DVT-21923 Add Parameter/Generic Quick Fix is not shown after restore
* DVT-21937 AI Assistant: Sometimes, Markdown code blocks are not highlighted properly in the chat
* DVT-21939 Semantic checks: False UNDECLARED_IDENTIFIER error for argument of function in randomize constraint block
* DVT-21956 PVerilog: Improper parsing when part of an \`ifdef block resides in a generated code section
* DVT-21965 PVerilog: Problem markers are missing for a single word preprocessing region on the last line of the file

24.2.27 (26 November 2024)
--------------------------


**Features**

* DVT-21455 UVM Runtime Elaboration: Ability to add watchpoints
* DVT-21688 AI Assistant: Add support for Azure OpenAI provider
* DVT-21772 AI Assistant: Add support for Anthropic provider

**Enhancements**

* DVT-19902 Ability to use paths relative to current file in compile waivers <include/> tags
* DVT-21288 Semantic checks: Trigger NON_STANDARD_ENUM_ASSIGNMENT warning in assignment pattern 
* DVT-21693 When no project is selected in a multiple projects workspace consider the first one as active
* DVT-21697 AI Assistant: Console should not be focused every time a message is sent or received
* DVT-21773 AI Assistant: Hide sensitive language model configuration when it's presented in the UI

**Bugfixes**

* DVT-17791 Incorrect parameter value when defparam assignment references enclosing scope parameter
* DVT-19520 UVM Runtime Elaboration: 'Show Associated Getters in Config DB View' is not working in some cases
* DVT-21468 UVM Runtime Elaboration: 'Show associated Setter in Config DB View' doesn't take into account the editor breadcrumb path
* DVT-21471 UVM Runtime Elaboration: Go to element declaration doesn't update the breadcrumb to the right context 
* DVT-21720 UVM Runtime Elaboration: Execution stops multiple times in breakpoint on a macro that has a loop as first statement
* DVT-21726 Compile Waivers: Waivers specified through +dvt_compile_waivers_file are not restored
* DVT-21758 AI Assistant: The cursor is sometimes placed in the wrong position after using auto-complete in prompt editor
* DVT-21759 AI Assistant: Sometimes Undo / Redo operations do not work in prompt editor
* DVT-21760 AI Assistant: Markdown code blocks missing the language specifier are not rendered properly in the chat
* DVT-21763 UVM Runtime Elaboration: In specific scenarios, conversion of the result to different bases is not shown in Expressions View
* DVT-21765 Semantic checks: UNDECLARED_IDENTIFIER error not triggered in some cases in which the same module is elaborated multiple times
* DVT-21768 UVM Runtime Elaboration: 'Show in Config DB View' doesn't take into account the editor breadcrumb path
* DVT-21781 AI Assistant: In certain scenarios, assistant messages fail to appear in the chat
* DVT-21789 Quick Views: Sometimes focus is lost when opening a quick view

24.2.26 (14 November 2024)
--------------------------

**Features**

* DVT-18717 UVM Runtime Elaboration: Log UVM Runtime Elaboration output to a dedicated file
* DVT-21556 AI Assistant: Add shortcut to open a dialog with all commands

**Enhancements**

* DVT-21453 UVM Runtime Elaboration: Inhibit toggle breakpoints in invalid contexts
* DVT-21478 Console View: Searching for next / prev problem for consoles with very large contents does not work in specific scenarios
* DVT-21564 UVM Runtime Elaboration: Show evaluation error stack trace in Expressions View details panel
* DVT-21575 AI Assistant: Trim leading whitespace for code sections returned by snippets
* DVT-21662 UVM Runtime Elaboration: System task $bits does not work on predefined types
* DVT-21663 UVM Runtime Elaboration: System task $typename does not work on predefined types
* DVT-21664 UVM Runtime Elaboration: Add support for interface::self()
* DVT-21665 UVM Runtime Elaboration: Unsupported string predefined function putc()
* DVT-21666 UVM Runtime Elaboration: Sampled value functions $past, $sampled, $rose, etc. are not implemented
* DVT-21681 Parser: +dvt_file_compile_timeout not working when expanding macro in string

**Bugfixes**

* DVT-17506 Quick Fix: Declare Function is not proposed inside modules
* DVT-17745 & DVT-20018 Changing project database location does not work across tool restarts
* DVT-21111 UVM Runtime Elaboration Debugger: Breakpoints and tracepoints message is not updated if editor marker line is modified
* DVT-21143 Precompilation support: Build configuration errors are wrongfully cleared if load fails
* DVT-21396 Elaboration: Wrong elaboration of sub-instance in some cases of multiple modules with the same name in different libraries
* DVT-21417 UVM Runtime Elaboration: Assignment pattern evaluation fails in specific scenarios
* DVT-21570 AI Assistant: Limit the length of session names generated by LLMs
* DVT-21576 AI Assistant: Sometimes @selected snippet does not expand properly for single line declarations
* DVT-21581 AI Assistant: Cloned sessions are not saved
* DVT-21594 AI Assistant: "Stop Generating" command does not work inside compare view
* DVT-21598 AI Assistant: Improve undo operation after inserting LLM generated code in the editor
* DVT-21605 Performance: Speed-up elaboration when resolving many layers of same scope imbricated function calls
* DVT-21640 AI Assistant: Pressing Escape when editing a session's title after multiple renames wrongfully restores the original name
* DVT-21667 UVM Runtime Elaboration: Constraint contradiction when using predefined array sum() function
* DVT-21669 AI Assistant: When saving a blueprint, the name of the session is used as file name instead of the name of the blueprint
* DVT-21676 Build config: +define definitions from env var expansions are ignored
* DVT-21696 Increased JVM watchdog timeout to 60 seconds


24.2.25 (31 October 2024)
-------------------------

**Features**

* DVT-11930 Quick Fix: Declare extern constraint prototype based on implementation 
* DVT-12196 Quick Fix: Implement extern constraint
* DVT-21445 AI Assistant: Expand @usages of #file to the entire files that include the given file

**Enhancements**

* DVT-17324 Ability to expand all macros in file
* DVT-17920 Add non-standard warning for concatenation used instead of assignment pattern in parameter lists
* DVT-18334 UVM Runtime Elaboration: Ability to add conditional breakpoints
* DVT-18376 UVM Runtime Elaboration: Ability to watch expression in Expressions View
* DVT-18378 DVT Resource Filters: Changing the active build configuration should recreate the compilation related filters 
* DVT-19063 DVT Resource Filters: Full build should recreate the compilation related filters
* DVT-19778 & DVT-21138 DVT Resource Filters: Ability to bring-up resources on demand independent of how the project was created
* DVT-20363 Precompilation Support: Ability to apply content filters for precompiled code
* DVT-20422 Enhance ILLEGAL_CAST_EXCEPTION message error with reason of failure
* DVT-20739 PVerilog: New +dvt_pverilog_mode+ directive to choose between compiling preprocessed or generated files
* DVT-21105 UVM Runtime Elaboration: Enhance hot-swap algorithm
* DVT-21362 DVT Debugger: Ability to add trigger points
* DVT-21443 Report an Issue: Thread dump file names should be timestamped
* DVT-21446 AI Assistant: Don't include modifiers in method signatures when expanding @outline snippets 
* DVT-21451 UVM Runtime Elaboration: Ability to define a hit count for breakpoints
* DVT-21465 AI Assistant: New snippet for outline of selected element or container
* DVT-21479 AI Assistant: Trigger warning when saving a snippet with conflicting signature
* DVT-21532 DVT Resource Filters: Ability to bring-up only compilation related resources independent of how the project was created
* DVT-21541 AI Assistant: Ignore changes to session name when Escape is pressed
* DVT-21543 AI Assistant: Improve AI Console theming
* DVT-21545 Status Bar Notification: Improved look in dark themes
* DVT-21546 Status Bar Notification: Do not display multiple notifications with the same information
* DVT-21547 AI Assistant: Improve dark theme for code blocks generated in AI Assistant View

**Bugfixes**

* DVT-13506 Trigger IMPORT_TYPE_WITHOUT_EXPORT warning when a field declaration references a not exported package type
* DVT-20605 UVM Runtime Elaboration: Collapse multiple threads of the same kind into a single thread
* DVT-20688 Semantic checks: Implicit signal not declared in \`included module fragment even when a default nettype is defined
* DVT-20727 Elaboration: Global scope constant elaborated in wrong library in a multiple libraries design
* DVT-20794 False syntax error for local keyword in Verilog 2005 
* DVT-21005 Compile Order View: Missing 'shallow' label decoration for files included in shallow compiled modules
* DVT-21059 Types View: Wrong number of types in specific scenarios after full build when content filters is active 
* DVT-21230 False SIGNAL_NEVER_USED warning for variable used in randomize with constraint block
* DVT-21391 UVM Runtime Elaboration: Do not allow multiple runtime elaborations to run simultaneously
* DVT-21403 Predefined Projects: Broken run configurations in "Revision Control Integration" predefined project caused by an incorrect relative path
* DVT-21416 UVM Runtime Elaboration: UVM test name is missing in Config DB View label when stopped in breakpoint
* DVT-21425 Report an Issue: Thread dump files having the same name and located in different projects are discarded when sending an Issue Report
* DVT-21439 UVM Runtime Elaboration: UVM test name is missing in Factory Overrides View label when stopped in breakpoint
* DVT-21440 UVM Runtime Elaboration: UVM test name is missing in Registers View label when stopped in breakpoint
* DVT-21441 UVM Runtime Elaboration: Incorrect UVM test name in Verification Hierarchy View label when stopped in breakpoint
* DVT-21442 Report an Issue: Collecting thread dumps for full build, elaboration or linting overwrites previously generated files
* DVT-21447 AI Assistant: Remove duplicate autocomplete proposals for files compiled multiple times
* DVT-21463 AI Assistant: Sessions with unavailable models are not restored
* DVT-21464 AI Assistant: Wait for model initialization to complete
* DVT-21513 Quick Fix: Applying "Implement Extern Method" results in wrong insertion location when the class and extern prototype are in different files
* DVT-21525 AI Assistant: Snippets are not properly expanded if they are directly followed by a dot
* DVT-21539 Project restore hangs at startup in specific scenarios 
* DVT-21540 AI Assistant: Sometimes the session name cannot be changed
* DVT-21542 AI Assistant: Newly created snippets and blueprints files not visible in project explorer until refresh
* DVT-21544 Status Bar Notification: Show Notification button should be disabled when there are no notifications to display
* DVT-21569 UVM Runtime Elaboration: False error when $fopen file path contains environment variables

24.2.24 (14 October 2024)
-------------------------

**Bugfixes**

* DVT-21428 AI Assistant: Fixed missing blueprint 'Add comments for the selected code'

24.2.23 (11 October 2024)
-------------------------

**HIGHLIGHTS**

* New :ref:`AI Assistant`
* New :ref:`Quick Query View`
* :ref:`Runtime UVM Configuration Queries` can now be performed while execution is in progress (suspended in a breakpoint)

**Features**

* DVT-20801 New :ref:`AI Assistant`

**Enhancements**

* DVT-20887 Trigger non-standard warning for loop statement initialization without initial assignment
* DVT-21381 Trigger error when assigning an expression to ref method argument of class type
* DVT-21395 New elaboration check: Trigger error for class constructor calls in constant functions

**Bugfixes**

* DVT-10862 Flag illegal 'automatic' variable declaration lifetime in non-procedural contexts
* DVT-21371 UVM Runtime Elaboration: Clear currently executed line highlight after resuming execution in a debug session
* DVT-21393 Console View: Fixed accumulating memory usage observable after a very large number of successive builds
* DVT-21413 UVM Runtime Elaboration: Ternary operand evaluation fails in specific scenarios

