Maestro release notes

This page summarizes the changes delivered with every update of Maestro, the software that manages and monitors your local workers and the State Store.

Maestro updates are automatic to allow you to benefit from the latest features and bug fixes. They also prevent the Crawling Module from becoming incompatible with the Coveo Platform.

If Maestro is two or more versions behind after a disconnection from the Internet or a server shutdown, the workers will stop until Maestro is up to date again. See Updates for details.

March 24, 2026 update: Maestro 2.19

This release mainly improves the Web and Sitemap sources.

System

Improved handling of DAILY_DOCUMENT_LIMIT_EXCEEDED error.

Web and Sitemap sources

  • Bumped the Chrome driver version to 146.

  • Added Brotli compression support to the Web and Sitemap sources.

  • Ensured proper embedded chromedriver.exe binaries are used.

January 29, 2026 update: Maestro 2.18

This release focuses on stability and security, delivering multiple fixes across Maestro and Crawling Module sources.

System

  • Updated dependencies for stronger security.

  • Improved the Maestro user interface to make troubleshooting easier.

GraphQL API sources

Removed support for error fields that aren’t at the top level of the API response to better align with the standard. Nested error fields in GraphQL API responses will be ignored during crawling. The operation will complete successfully, potentially hiding previously visible issues when crawling non-standard APIs.

Sitemap sources

Added support for JavaScript-rendered sitemaps.

Miscellaneous

  • Updated Chrome Driver to version 143.

  • Added a retry logic for No such host is known errors to reduce crawling issues related to network instability.

  • Improved monitoring for pre-push extensions.

  • Improved the reliability of source deletion for very large sources.

December 09, 2025 update: Maestro 2.17

This release focuses on stability, delivering multiple fixes across Maestro and Crawling Module sources.

System

Fix for a deadlock issue that could occur in long-running sources.

Pre-push extensions

  • Improved shadowing mode for the new Prepush Extension Runner introduced in Maestro 2.13.

  • Improved resiliency and logging of the legacy Prepush Extension Runner.

Web and Sitemap sources

  • Fixed PageAuthenticationFailedMethod consuming the Response stream and disposing of it.

  • Fixed Sitemap encoding for non-HTML content.

  • Fixed Sitemap enforcing incorrect maximum size in strict mode.

  • Fixed Sitemap inconsistency in content length determination.

  • Fixed TimeSpan humanization not showing exact values.

  • Implemented post-actions in automatic form authentication.

  • Added log for the Submit button in automatic form detection.

Database sources

Fixed Database connector ending in a fatal exception when an operation is canceled.

SharePoint Server sources

Improved error handling.

November 18, 2025 update: Maestro 2.16

This release fixes an issue introduced in Maestro 2.13 that prevented proper reporting of worker operation errors.

October 22, 2025 update: Maestro 2.14

Pre-push extensions

This release introduces the new Pre-Push Extension Runner in shadow mode. Coveo will ensure the new implementation produces identical results to the legacy version. If you observe any errors or degraded performance, please reach out to your Coveo representative.

REST API source

Clarified the error code returned when an invalid execution condition is used in the configuration.

Confluence Data Center source

Improved error handling regarding the plugin being missing. Customers that are intentionally not using the Confluence plugin will no longer get errors and warnings about its absence.

October 15, 2025 update: Maestro 2.13

System

The communication port selection logic between Crawling Module components has been improved.

Pre-push extensions

This release of Maestro introduces a new implementation of the Pre-Push Extension Runner, which will be gradually rolled out over the coming weeks.

The new Extension Runner is built as a Minimal API that hosts a lightweight local server on http://localhost, using a randomly selected open port. This updated architecture is modern, more reliable, and easier to maintain, and it is now cross-platform, removing the previous limitation to Windows systems.

The new Extension Runner will be rolled out in shadow mode for the first few weeks. Since it will run in parallel with the existing implementation, you should not experience any performance impact.

Early testing indicates that the new Extension Runner delivers performance comparable to or better than the previous implementation. We’ll be monitoring exceptions coming out of the new implementation and any difference in the items returned. Some differences may occur if a Python extension script produces non-deterministic results. For example if random elements, GUIDs, or the working folder (which contains a GUID) are used in added metadata.

To help us investigate any discrepancies and identify potential bugs, please enable diagnostic log downloads so we can analyze the Crawling Module’s logs.

You can verify the current mode of the Extension Runner by checking the logs for the line The new Extension Runner service is running in mode. The mode will be compare during the shadow rollout. If you observe any errors or degraded performance, please reach out to your Coveo representative.

The new Extension Runner now uses a cache for Python modules, stored in the PythonModuleCache directory located alongside the Crawling Module’s binaries. This cache significantly reduces initialization time for subsequent runs. However, if a module’s version isn’t explicitly pinned in requirements.txt, it may not update automatically when a new version is released.

The cache is normally deleted with the Crawling Module’s installation folder during updates. If you encounter unexpected behavior in a script that depends on a newer module version, delete the PythonModuleCache folder. The modules will then be refreshed on the next run.

In contrast, under the previous implementation, Python modules were typically never updated when their versions weren’t explicitly specified in requirements.txt. As a result, the new implementation may trigger sudden upgrades of those modules, potentially causing script incompatibilities if newer versions aren’t backward compatible.

During the transition period, documents in error that are dumped by the new Extension Runner will include a -new suffix in their filenames. This allows them to be easily distinguished from those generated by the legacy Extension Runner.

The new Extension Runner’s logs are now included with the crawler logs, simplifying troubleshooting compared to the previous implementation.

The Extension Runner initialization has a hardcoded 10-minute timeout, which also covers the execution of the extension on the first item. If the extension is particularly slow to start, the first item may timeout, causing the original item to be indexed instead.

Since initialization persists between runs, if you notice that an extension’s results are missing from some items, running a rebuild should resolve the issue and apply the extension as expected.

As a best practice, use as few Python packages as possible, as installing dependencies can significantly increase initialization time.

File system source

Improved SID handling in the File system source by adding a connection lookup fallback.

Web and Sitemap sources

  • Content-Type and Content-Length headers are now correctly set when using JavaScript with the Web and Sitemap sources.

  • Cookies are now correctly added using the full URI during content extraction for the Web and Sitemap sources.

  • Bumped the Chrome driver version to 140.

August 21, 2025 update: Maestro 2.9

System

  • Sources now escape spaces in item URIs before indexing. This prevents issues caused by inconsistent item URIs, such as failed item deletions.

    Note

    Temporary item duplication may occur, but consistency will be re-established through source rebuilds and rescans.

  • Handling of unexpected security provider shutdowns has been improved. The current job will be retried on a new worker significantly faster.

REST API source

  • You can now use the RetryableHttpErrorCodes property at any level in your source configuration. This new property lets you define non-standard HTTP status codes, such as 520, as retryable.

  • Subquery metadata is now fetched before evaluating a ProcessingAction or IndexingAction condition.

  • Added validation to ensure SubItems don’t contain RefreshEndpoints.

Web and Sitemap sources

  • Added support for basic authentication and manual cookies when JavaScript rendering is enabled

  • Added Shadow DOM support to:

    • Crawl Shadow DOM content and links within

    • Interact with Shadow DOM elements in form authentication

    • Target Shadow DOM elements in web scraping configuration

  • Improved handling of WebDriver exceptions

  • Increased cookies per domain and total capacity

Jira Software sources

Introduced the IgnoreMetadataWithNullOrEmptyValues parameter, allowing metadata fields that are null or empty to be omitted rather than sent with an empty value.

May 22, 2025 update: Maestro 2.1

System

Worker monitoring logic is now simpler and more efficient. This reduces the software’s resource requirements, particularly lowering CPU usage during worker startup.

Web and Sitemap sources

  • You can now use additional headers when JavaScript is enabled.

  • The Chrome driver used for JavaScript rendering has been updated to Chrome for Testing v135.

April 21, 2025 update: Maestro 2.0

Automatic updates

Important

This release changes the way checksums are set on Maestro packages. Automatic updates from versions prior to 1.96 no longer work from this version onward.

If installing Maestro on a new host, it is crucial that you start from a version of Maestro’s installer from September 2024 or after. To ensure you have the latest version, download the installer from either the Installing the Crawling Module article or the Crawling Modules (platform-ca | platform-eu | platform-au) page of the Coveo Administration Console.

Embedded browser

The embedded browser packaged with Maestro now uses Microsoft Edge WebView2, replacing Chromium and Chrome for Testing. We expect this change to greatly improve maintainability of the embedded browser.

Maestro’s installer automatically checks for the presence of the WebView2 runtime and will install it if it’s not present on the host. As such, no manual action is required from users.

REST API source

Additional startup validation is now performed to bring visibility to invalid configurations:

  • The source now detects if a PayloadJsonContent is set and the endpoint’s method is not set explicitly to POST. This misconfiguration was mostly found in SubItems and RefreshEndpoints arrays.

  • The source also detects if a dynamic value is found in the request element of a top-level Endpoint or RefreshEndpoints array, under Path, QueryParameters, PayloadParameters, or PayloadJsonContent. Dynamic values require a previous request to extract data and therefore are not valid when performing an initial query. This validation can also fail if a RefreshEndpoints array is a child of a SubItems array, as these calls would never be performed. The fix is to remove or replace the dynamic values.

Web and Sitemap sources

The Chrome driver used for JavaScript rendering has been updated to Chrome for Testing v134.

April 07, 2025 update: Maestro 1.107

REST API sources

It’s now possible to skip request timeout errors caused by unresponsive API calls (taking over 5 minutes by default), instead of stopping the source update operation.

To do so, in your source configuration, add error code 408 under SkippableErrorCodes.

Confluence sources

Added support for indexing a root space from the starting addresses in the new URL format [URL]/spaces/[KEY] that is introduced in Confluence Data Center 9.

Existing formats remain supported:

  • [URL]/spaces/viewspaces.actions?key=[KEY]

  • [URL]/display/[KEY]

Handling of space type filtering parameters has been improved as well.

Web and Sitemap sources

The Chrome driver used for JavaScript rendering has been changed from Chromium to Chrome for Testing (v133).

Chrome process management has been improved as well.

Note

On a fresh installation of Maestro, using the embedded browser locally on the Maestro host will display a banner mentioning it is intended for testing purposes.

The next release of Maestro will include a new embedded browser without this banner.

GraphQL API sources

Improved support for error codes returned by GraphQL APIs.

Jira and Confluence security identity providers

Added checkpoint progress reporting in the security identity providers to avoid timeouts when expanding large identities.

March 10, 2025 update: Maestro 1.106

System

This release includes fixes for all connectors:

  • Fixed an issue introduced during the migration to .NET 8, where new exception types from temporary communication failures were not retried. This stopped source execution with an UNABLE_TO_INDEX_DOCUMENT error.

  • Fixed an issue where Maestro didn’t automatically relaunch killed worker processes, potentially reducing operational capacity until a host restart.

February 19, 2025 update: Maestro 1.105

System

  • This release removes the original implementation of the WorkerService, and with it the UseNodeAgentCore parameter setting in Maestro’s settings file.

  • The .NET Framework is no longer installed by Maestro’s installer. Installing it on Maestro hosts is not a requirement to run Maestro from this version onward.

  • Crawling and Security Workers are now built using .NET 8, unlocking new language features and optimizations!

REST API and GraphQL API sources

Extended metadata actions are now available for REST API and GraphQL sources.

Web source

Improved handling of HTTP request errors in the Web source.

January 22, 2025 update: Maestro 1.104

System

  • Maestro and its new Worker Service are now built using .NET 9, unlocking new language features and optimizations!

  • As the software is self-contained, there’s no need to install the .NET 9 runtime on Maestro hosts.

REST API source

  • Pagination tokens like @offset and @pageSize can now be used in the PayloadJsonContent property of a REST API source configuration. Setting UsePayloadTokens to true in the Parameters section of the Paging configuration ensures that the Offset and Limit parameters, which are normally required, are no longer included in the query URL or required. More details are available in the OffsetType documentation, under Cursor-based pagination with POST requests.

  • XML-formatted API responses are now supported.

Web and Sitemap sources

The Chrome driver used by these sources has been updated to major version 131.

Sitemap source

Fixed an issue where the HTML Sitemap parser would fail on URLs containing encoding characters.

File source

  • Improved the error message for faulty starting addresses.

  • Fixed an issue where ForceInitialRebuild would prevent deleting documents.