Release Note vtenext 26.*

To install vtenext version 26.* you must use PHP >= 8.3. See the required prerequisites in the dedicated section.
The migration to PHP 8 required a revision of a large part of the code, therefore developers are invited to review the new sections introduced in the page dedicated to them.

Update guide

How to update to vtenext 26.* from older versions (<= 25.02.2).

Update guide

Update from web interface

Prerequisites

Make sure the following conditions are met before attempting to update:

  1. vtenext must be updated to version 25.02.2. Only from this version it's possible to proceed to the next update step
  2. A valid license must be active
  3. An admin user with local password (no 2-factor authentication or external single sign-on) must be present and active

Update procedure

In version 25.02.2, if the automatic check for updates is enabled, the administrator user will receive a notification about the new version, which will alert about the necessity to update the php version:

25_Screenshot_20260206_151654.png

25_Screenshot_20260206_151725.png

At this point there are 2 options:

After this move or update has been done, vtenext will enter an update only mode, which only allows the update to continue:

image.png

After logging in, a simplified update page is shown, where it's possible to start the update:

image.png

If vte cron jobs are not active or not executed recently, it may be possible that this page won't show the availability of the update. In this case click on "Check now" and wait a few minutes or manually execute the cron from the vte directory:
./cron/RunCron.sh
It may be necessary to execute it 2 times, until the output says something like
"[INFO] Found new version available (....), checking for compatibility..."

After clicking on "Start Update" it's possible to give one last confirmation:

image.png

When confirmed, the update will proceed in background (if crons are enabled, otherwise the ./cron/RunCron.sh must be executed manually).

Screenshot_20260206_150533.png

image.png

When update starts:image.png

Do a refresh of the page every 5-10 minutes to check for problems. At the end of the update you will be redirected to the login page and you will be able to use the new version.

Update guide

Update from terminal

Prerequisites

Make sure the following condition are met before attempting to update:

  1. vtenext must be updated to version 25.02.2. Only from this version it's possible to proceed to the next update step
  2. A valid license must be active

The following procedure is only available to vtenext partners

Update with vteUpdater

Since this version of vtenext supports only php >= 8.3, there are 2 options:

After this, the update procedure can begin:

  1. Login via SSH to the server hosting vtenext and navigate to its directory.
  2. If errors are detected, you will be shown a log, allowing you to evaluate the effectiveness of the reports and then choose whether to roll back using previously created backups or continue and complete the update.
    Continuing the update if errors are reported skips the "post-update" phase, which must be performed manually with the command:
    ./vteUpdater.sh --only-delete
    This phase is performed automatically if no errors are detected.
    This phase deletes obsolete files and applies scripts once the update has completed successfully.
  3. Execute ./vteUpdater.sh (make it executable if it's not already) and follow the instructions.
    The output should be similar to this:
    root@testhost:/var/www/html/vte3001upd# ./vteUpdater.sh
    
    VTE Automatic Updater -- version 1.72
    [INFO] Checking for upgrades of this script...
    [INFO] Found VTE at revision 3001
    [INFO] Checking for latest available version...
    
    You can update to revision ????, . Do you want to proceed? (Y/N) : y
    
    Please type your username : **********
    Password: *****************
    [INFO] Validating credentials...
    [INFO] Downloading package...
    [INFO] Packages downloaded succesfully
    [INFO] Updating VTE to revision ????
    mysql: [Warning] Using a password on the command line interface can be insecure.
    mysql: [Warning] Using a password on the command line interface can be insecure.
    [INFO] Database size is 140 MB, (biggest table is sdk_language, 15 MB)
    
    The user and group for the web server have been detected as www-data:www-data. Is this correct? (Y/N) : y
    [INFO] Starting file comparison...
    File comparison: [########################################] 100%
    [INFO] No differences found
    [INFO] Waiting 2 minutes for cron processes to finish...
    [INFO] Creating backup of VTE files...
    Do you want to backup the database? (Y/N) : y
    [INFO] Creating backup of database...
    [INFO] Starting update...
    [INFO] Files copied. Executing schema update...
    [INFO] Removing obsolete files...
    [WARNING] The file ./config.template.php might have some custom code, left untouched
    [INFO] Removed 6289 files and 1126 directories
    [INFO] Executing post-delete scripts...
    [INFO] Update notes:
    [INFO] The obsolete module Dashboard has been eliminated, as well as the method SDK::setDashboard
    [INFO] If you were still using Dashboards, please migrate them to Charts or custom Iframe
    [INFO] 
    [INFO] Classes Vtiger_Net_Client and Vtiger_Feed_Parser have been eliminated.
    [INFO] Please review the custom code if they were still used
    [INFO] 
    [... redacted ...]
    [INFO] 
    [INFO] Update successful!

    If any errors occur, you can review the log to determine the severity of the reports and then choose whether to roll back, using previously created backups, or continue and complete the update.
    If errors were encountered and you choose to continue, the "post-update" phase will be skipped and must be performed manually with the command ./vteUpdater.sh --only-delete
    This phase is performed automatically if no errors are found.
    This phase deletes obsolete files and applies scripts once the update has completed successfully.


  4. In case of custom modifications to the code, they need to be ported manually to the new version, and checked to be sure they work with php 8.3. Refer to the developers manual to see what has changed.

    A review skill is available to be used with AI agents in your IDE, helping adapt code to the new version.
    More details available in the documentation.

Release Note vtenext 26.04

Theme

Updated the font to Inter and upgraded the Bootstrap library to version 3.4.1.
Updated the styles of some core components.


French Language Pack

The French language pack available during installation has been updated and moved from the beta modules to the optional modules.


Translation of External Pages Based on Browser Language

External pages used for appointment scheduling (Book Me) and for dynamic external forms (accessible via email) will be translated according to the language detected in the user’s browser.


 Quick Actions in List View

In module list views, a preview button has been added and the edit button has been updated to open a half-page panel.
You can switch back to the previous behavior using the properties:

image.png


Webform

It is now possible to create records in any module from a webform.
It is also possible to enable duplicate checking to prevent the creation of records that already exist.

webform.png

image.png



Hidden Fields in Data Import

In Settings > Data Import, it is now possible to import values into hidden fields as well.


CSV Export

Additional formatting options have been added to address compatibility issues with external applications.

csv export.png


In CSV export for any module, it is now possible to choose the format for numeric fields:

image.png


Guest Search by Email

In calendar events, it is now possible to add attendees by searching them via email address

image.png



Email Attachments

It is now possible to attach files to an email directly from the Documents module.

e-mail.png


Groups in Conversations

It is now possible to select a group to send a conversation to all its members.

image.png


User Selection Avatars

User avatar images have been added to user auto-complete fields.

image.png


Negative Numbers

Support for negative values has been added to numeric and currency fields in Layout Editor, Module Creation, and Process Maker.

negative numbers.png


Out of Office in Conversations

The out-of-office status configuration has been moved to user preferences under the “More” menu in the top-right corner.
If a user sends a conversation to someone who is out of office, they will receive an automatic message.

image.png


Layout Editor: Sorting Fields for Relationships

In the relationship management page, it is now possible to define, for each related module, the field used to sort the list of items and the sorting direction (ascending/descending).

image.png


Field Name in Module Creation

When creating modules, it is now possible to configure the field name, allowing a custom and more meaningful name instead of default values like vcf_*.

image.png


Synchronizations: Multiple Configurations for the Same External System

It is now possible to configure multiple connectors for different instances of the same system (e.g. WooCommerce, HubSpot, etc.).


Mail Converter: Automatic Message Filtering

By enabling the property settings.mailscanner.filter_auto_msg, it is possible to detect whether an incoming email was sent by an automated system and prevent ticket creation from triggering a new outgoing email from vtenext


Conditional Fields

It is now possible to define a rule that applies to all groups/roles except the selected one.

conditional fields.png


Trash

New buttons have been added to delete specific records or all records of a module.

trash.png


Processes: Send Newsletter Action

Reply-To and Language configuration options have been added.

send NL.png


Processes: Events with Reminders

Support for the “Notify” function has been added when creating or updating events from Process Maker.

image.png


Processes: Enable/Disable Newsletter Subscription

A new SDK function has been added to process actions to enable or disable the “Receives Newsletter” field for Leads, Contacts, and Accounts.

image.png


Processes: Import Actions

A new “Import actions from…” button has been added to process action tasks, allowing users to duplicate one or more already configured actions into the current task.

image.png


Processes: Formula Function

Process SDK functions for sum, subtraction, multiplication, and division have been unified into a single vte_formula function, using formula field syntax.

Examples:

ciao "$sdk:vte_formula( $1-amount - (20 + 40) - $1-delta )"
// ciao "300.02"
$sdk:vte_formula( if "$1-name" == "ciao" then $1-amount + $1-delta else 0 end )

Processes: Process Helper

To simplify configuration of Process Maker action tasks, the Process Helper will now be disabled by default. When enabled, the “Linked to” field will be automatically populated with the main entity.


Processes: New UI

If multiple processes requiring a dynamic form are linked to a record, it is now possible to scroll through them and choose which one to complete first.

image.png

Simple dynamic forms are often created with a single “choice” field, which is used to obtain user confirmation in order to proceed with the workflow or to direct it to a specific branch.

For simple dynamic forms with a single “choice” field (used to confirm or route a workflow), a new “Quick choice configuration” button has been added. It allows configuring quick action buttons directly within the requested action instead of using the “Fill in” button.

image.png

image.png

The process list, accessible from the top menu, has been simplified and now replicates the same block-based UI used in record detail views.

image.png


Developers

SDK Class Extensions

Several PHP classes have been made extensible and improved to support SDK development without modifying core files:

More details available in the documentation.


Module Conversion

It is now possible to create a record starting from another module (e.g. Quote → Generate Sales Order) via the new ConvertModesUtils class.

More details available in the documentation.


Themes

The “softed” and “next” themes have been removed, and “next22” is now the new default theme in Smarty/templates.
Any custom templates replacing standard ones must be placed in Smarty/templates_sdk.


Settings

A new SettingsPage class has been introduced for managing settings pages.


Code Review Skill

A review skill is available under tools/skill/review-sdk-26 to be used with AI agents in your IDE, helping adapt code to the new version.

More details available in the documentation.

Release Note vtenext 26.07

Release Note vtenext 26.07

Processes

Action Cycle Records

New action to cycle through all records of a module. Filter and sort options are available.

Screenshot 2026-06-25 alle 15.05.00.png

Execution mode

For all process actions, you can specify the Execution Mode:
- Standard: the execution process waits for the action to complete before proceeding to the next one
- Background: the process stops and the action is executed in background by worker or cron

New options in conditions

"in" and "not in" options have been added to conditions on picklist fields to check multiple entries.
In the "has changed" option, the "any value" entry has been added to check if a picklist field has changed to any value.

Screenshot 2026-06-25 alle 15.14.00.png

New panel for process graph logs

Improved the process graph UI in the record detail view.

Screenshot 2026-06-25 alle 15.22.36.png

Tool-type Processes

You can create new tool-type processes that can be called multiple times within the same process or by multiple processes as if they were functions.

They can also be published as tools on an MCP server.

Screenshot 2026-06-29 alle 15.24.04.png

Release Note vtenext 26.07

AI Tools

LLM

You can configure an LLM model according to the OpenAI format.

Screenshot 2026-06-29 alle 14.12.39.png

MCP Server

You can configure the MCP servers that VTENEXT exposes. For each server, you can select which tools to publish using REST APIs, custom tools, and Processes.

Technical documentation is available here.

Screenshot 2026-06-29 alle 14.13.31.pngScreenshot 2026-06-29 alle 14.14.47.png

MCP Client

You can configure the MCP servers whose tools you want to use. Only servers exposed via HTTP are supported.
By default you get a VTENEXT MCP and Exa MCP installed for web searches.

Screenshot 2026-06-29 alle 14.20.22.pngScreenshot 2026-06-29 alle 14.21.13.png

Agents

You can configure AI agents to use in your assistant and processes. An agent can use LLMs, MCP tools and RAG to complete tasks automatically.

Screenshot 2026-06-29 alle 14.48.52.png

Assistant

The new assistant is called Kitt but you can change his name and photo from the user preferences.
The assistant can query an LLM, an Agent or a custom REST Webservice.
Screenshot 2026-06-29 alle 14.54.15.png

You can ask the assistant questions through conversations or with the new side panel.

Screenshot 2026-06-29 alle 15.37.05.png

You can also use pre-configured quick actions to:
- summarize
- process text
- translate

These quick actions can also be published as MCP tools.

Screenshot 2026-06-29 alle 15.44.52.png

Agent Logs

An entry has been added in Settings > System logs to control agent logs.


AI actions in ProcessMaker

You can configure process actions and run:

Call LLM

Make a request to an LLM and use the response in the process.

Call MCP tool

Run an MCP tool.

Call agent

Make a request to an Agent to complete tasks automatically and use the response in the process.

Call process tool

Run a tool-type Process.

Release Note vtenext 26.07

Other improvements

Worker

The worker is the new service for immediately executing operations in background (without blocking the user interface) and without having to delegate the operation to a cron job and therefore wait the minimum time of 1 minute.
The worker receives a request to execute via PHP and then sends the response directly to the browser via SSE events.
It has currently been implemented to perform the following operations:
- notifications (ModNotifications)
- process actions with background execution mode
- all requests to the new AI tools

Technical documentation is available here.


Expiration in Access Keys

In User Preferences > Webservices, REST Api Configuration you can specify an expiration date for new access keys.
When expired, the Accessk Key will be deleted.

Email template list in newsletter is now searchable

Added grid search in email templates in newsletter.

Screenshot 2026-06-25 alle 15.32.44.png

Improved scheduled reports

In the scheduled report configuration, two options have been added:
1. Exclude holidays/weekends (holidays are related to the "Holiday Countries" field in the admin user's user profile)
2. Exclude empty reports

image.png

Widgets' title

Possibility to edit home page widgets' title

Screenshot 2026-06-25 alle 15.37.45.png

Release Note vtenext 26.10

Webservice REST > Origins allowed

Under Settings > REST Webservices, you can specify the domains permitted to call the REST APIs from a browser via an external domain.


Drag & drop in form filters

You can now change the column order in form filters using drag & drop.


Tool-type Processes improvements

The requirement to include at least one entity-type parameter when creating a tool process has been removed.
In the list under Settings > Process manager, the SUBPROCESSES / TOOLS column now also displays any tools used within the process.


Process variable UI improvement

The process variable selection menus have been updated to include a search function.


MCP Server log

An entry has been added under Settings > System logs to manage logs of calls to vte MCP Servers.


Detailed logs for AI operations

Updates performed via AI, even those explicitly requested by the user, are always identified in the record's History tab as content produced with the support of artificial intelligence.

Screenshot 2026-09-21 alle 11.34.46.png

Under Settings > System Logs > AI Agents, the user's choice to approve or disapprove tool execution is displayed.

2026-07-31 09:08:32 [INFO] HITL threadId:800 userid:1 approve tool call: Array
(
    [0] => Array
        (
            [tool_call_id] => 56d634ea-256b-44ab-89a9-1d86c51290c0
            [type] => approve
        )

)

AI Process Action Review

Certain configuration settings have been removed from the Call LLM and Call agent process actions; they are now retained solely within the general configuration under Settings > AI Tools.
Additionally, you can inherit properties from a model's or agent's standard configuration by selecting the Default option.

Screenshot 2026-09-21 alle 12.01.55.png


HITL(Human in the loop) preview

When using the Kitt assistant, approval is requested to use certain tools (e.g., process tools and tools that perform write operations).
Starting with this version, you can preview the actions the tool will perform.

Screenshot 2026-09-21 alle 12.20.55.png


Processes: timer logs improved

In the process chart, clicking on the timers also displays the scheduled execution date.

Screenshot 2026-09-21 alle 12.33.09.png


Processes: tool process logs improved

In the process graph, clicking on the initial task of a tool process displays the parameters and actual values ​​passed during that specific execution.

Screenshot 2026-09-21 alle 12.36.08.png


Additional details during background execution

If there are background processing tasks running for a specific record (see Worker), details of the ongoing operation will be displayed.

Screenshot 2026-09-21 alle 12.48.21.png


LLM UI Improvement

The LLM configuration interface has been improved, allowing users to choose from a list of supported providers and their respective models.

Screenshot 2026-09-21 alle 13.09.00.png


Orchestrator authentication

An access token for the VTE agentic orchestrator has been added. If the orchestrator is not located in the standard plugins/agent path, the token must be manually added to the config.yaml file.

Screenshot 2026-09-21 alle 13.01.23.png


New comparison operator in Condition based fields

Added the does not include operator.

Screenshot 2026-09-21 alle 12.54.15.png