--- title: Maestro release notes slug: mc8f0179 canonical_url: https://docs.coveo.com/en/mc8f0179/ collection: index-content source_format: adoc --- # 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](https://docs.coveo.com/en/3265#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](https://docs.coveo.com/en/3264#enablelogrequests) 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`](https://docs.coveo.com/en/1525#retryablehttperrorcodes-string) 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](https://docs.coveo.com/en/mc1f0219#additionalheaders-object-null) 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](https://docs.coveo.com/en/p3hb0525#august-27-2024-update-maestro-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](https://docs.coveo.com/en/3263/) article or the [**Crawling Modules**](https://platform.cloud.coveo.com/admin/#/orgid/content/crawling-module/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/content/crawling-module/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/content/crawling-module/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/content/crawling-module/)) 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`](https://docs.coveo.com/en/1525#payloadjsoncontent-string) 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](https://docs.coveo.com/en/3131#dynamic-values) is found in the request element of a top-level `Endpoint` or `RefreshEndpoints` array, under [`Path`](https://docs.coveo.com/en/1525#path-string-required), [`QueryParameters`](https://docs.coveo.com/en/1525#queryparameters-object), [`PayloadParameters`](https://docs.coveo.com/en/1525#payloadparameters-object), or [`PayloadJsonContent`](https://docs.coveo.com/en/1525#payloadjsoncontent-string). 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`](https://docs.coveo.com/en/1525#skippableerrorcodes-string). ### 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](https://docs.coveo.com/en/3264/). * 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](https://docs.coveo.com/en/1525#extendedmetadataactions-array) 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](https://docs.coveo.com/en/1525#offsettype-string-enum-required), 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.