//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2010, 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
//
// This program and the accompanying materials are made available
// under the terms of the MIT License which is available at
// https://opensource.org/licenses/MIT
//
// SPDX-License-Identifier: MIT
//////////////////////////////////////////////////////////////////////////////

include::_root_attributes.asciidoc[]

indexterm:[release, notes]

:leveloffset: -2

[[release-notes-chapter-index]]
== ToolDef release notes

The release notes for the versions of ToolDef and the associated tools, as part of the Eclipse ESCET project, are listed below in reverse chronological order.

See also the Eclipse ESCET link:https://eclipse.dev/escet/{escet-deploy-folder-name}/release-notes.html[toolkit release notes] covering those aspects that are common to the various Eclipse ESCET tools.

=== Version 11.0

TBD

=== Version 10.0 (2025-12-19)

Improvements and fixes:

* The ToolDef documentation no longer contains zero width space characters generated by AsciiDoc, ensuring that there are no undesired line breaks caused by them (issue {escet-issue}1279[#1279]).
* The ToolDef documentation no longer links to `index.html` in link URLs, but instead now links to the parent that contains the `index.html`, resulting in nicer URLs (issue {escet-issue}1317[#1317]).

=== Version 9.0 (2025-09-30)

Improvements and fixes:

* The ToolDef website home page now links to the 'Community' page (issue {escet-issue}982[#982]).
* The ToolDef website home page now shows some news teasers and links to the new 'News' page with all the news (issue {escet-issue}982[#982]).

=== Version 8.0 (2025-06-30)

Improvements and fixes:

* The ToolDef text editor now has greatly improved performance when the ToolDef script has many warnings or errors.
  This may in certain cases also prevent the IDE from freezing indefinitely (issue {escet-issue}995[#995]).
* The ToolDef interpreter can now be started in the ESCET IDE from right click menus of `.tooldefx` files and editors (issue {escet-issue}1229[#1229]).
* The ToolDef interpreter documentation now indicates that the interpreter can be started from `.tooldefx` files (issue {escet-issue}1229[#1229]).
* The screenshots of ToolDef in the ESCET IDE, as part of the ToolDef documentation and ToolDef website, have been updated to include the ESCET icon introduced in release v3.0 (issue {escet-issue}1197[#1197]).

=== Version 7.0 (2025-03-31)

Improvements and fixes:

* The ToolDef website now shows the ToolDef logo (issue {escet-issue}1140[#1140]).
* Fixed type checker bugs that could make the type checker crash or reject valid scripts, for types of tool parameters, tool return types, and types of tool invocation arguments, where these types contain container types that have element types that are type references (issue {escet-issue}1153[#1153]).
* The ToolDef documentation now explicitly states that the `replace` tool operates on all occurrences of the sub-string being replaced in a string, or the value being replaced in a list (issue {escet-issue}1153[#1153]).

=== Version 6.0 (2024-12-20)

Improvements and fixes:

* The ToolDef text editor's dark theme now uses a lighter red color for string literals, for better contrast (issue {escet-issue}966[#966]).
* The ToolDef documentation on the ESCET website and in the Eclipse help now use a darker green color for numbers in source code, for better contrast (issue {escet-issue}1030[#1030]).

=== Version 5.0 (2024-10-03)

Improvements and fixes:

* The ToolDef built-in tools that work on user-provided paths no longer crash when an invalid path is provided, but instead give a proper error message (issue {escet-issue}924[#924]).
* The ToolDef interpreter no longer crashes on user-specified Java method invocations that result in an exception (issue {escet-issue}925[#925]).
* The ToolDef documentation has a small fix (issue {escet-issue}943[#943]).

=== Version 4.0 (2024-06-30)

Improvements and fixes:

* The 'ToolDef tool manual' page in the ToolDef documentation has been renamed to 'ToolDef interpreter', to avoid giving the impression that the page explains ToolDef's built-in tools (issue {escet-issue}825[#825]).
* The ToolDef documentation has some small improvements (issue {escet-issue}825[#825]).

=== Version 3.0 (2024-03-31)

New features:

* The ToolDef interpreter now supports reading `.tooldefx` files, ToolDef files in an XML format (issues {escet-issue}701[#701] and {escet-issue}731[#731]).

Improvements and fixes:

* The ToolDef documentation breadcrumbs are now consistent with the table of contents (issue {escet-issue}38[#38]).
* The ToolDef documentation table of contents now has proper links for items that link to sections on pages rather than to entire pages (issue {escet-issue}38[#38]).
* The ToolDef website has an improved link color (issue {escet-issue}38[#38]).

=== Version 2.0 (2023-12-22)

This release contains no specific changes for ToolDef.

=== Version 1.0 (2023-09-30)

This release contains no specific changes for ToolDef.

=== Version 0.10 (2023-06-30)

New features:

* The ToolDef interpreter has a new _Tool invocation_ option to invoke a specific tool with chosen arguments, rather than executing the entire script (issue {escet-issue}578[#578]).
* The `writefile` built-in tool has a new optional `newline` parameter, allowing to configure new line handling.
The default is still to use the new lines of the current platform.
See the documentation for further details (issue {escet-issue}571[#571]).

Improvements and fixes:

* The `readlines` and `writefile` built-in tools have been made more robust with respect to closing file streams in case of I/O errors (issue {escet-issue}571[#571]).
* The `readlines` built-in tool now uses the UTF-8 encoding when reading files, rather than the platform's default encoding (issue {escet-issue}571[#571]).
* The `readlines` and `writefile` built-in tools now have improved documentation (issue {escet-issue}571[#571]).
* The ToolDef interpreter's help text now properly explains the tool's exit codes (issue {escet-issue}573[#573]).
* The ToolDef interpreter documentation has been slightly improved (issue {escet-issue}578[#578]).

=== Version 0.9 (2023-03-31)

Improvements and fixes:

* The ToolDef documentation has some improvements related to 'file separator' terminology (issue {escet-issue}450[#450]).
* The ToolDef documentation for the `chfileext` tool has some formatting fixes (issue {escet-issue}536[#536]).

=== Version 0.8 (2022-12-21)

Improvements and fixes:

* The `filenewer` tool now only checks for modification time differences that are at least one millisecond (issue {escet-issue}259[#259]).
* Small documentation improvement for the `filenewer` tool documentation (issue {escet-issue}456[#456]).
* Normally, `.tooldef` files are opened with the ToolDef text editor.
Large files are now however opened with the default non-ToolDef text editor to avoid performance issues.
You can open a file in an editor of your choosing by right clicking it and selecting menu:Open With[] and then selecting the editor of your choosing, or choosing menu:Other...[] to open a dialog to choose from a larger selection of editors (issue {escet-issue}199[#199]).

=== Version 0.7 (2022-09-30)

New features:

* The ToolDef text editor now has theming support, and comes with a dark theme in addition to the existing light theme.
The text editor now automatically uses its dark theme when the Eclipse built-in dark theme is used, and uses a light theme otherwise.
The text editor theming behavior can be configured via the Eclipse Preferences dialog (issue {escet-issue}347[#347]).

Improvements and fixes:

* The ToolDef text editor light theme's default color has changed from a near-black slightly-brown color to pure black (issue {escet-issue}347[#347]).

=== Version 0.6 (2022-07-07)

Improvements and fixes:

* Links in the documentation to non-ToolDef ESCET documentation webpages now use version-specific URLs (issue {escet-issue}386[#386]).
* The issue numbers in the release notes now link to the corresponding GitLab issue (issue {escet-issue}396[#396]).
* Small website style improvements (issue {escet-issue}367[#367]).

=== Version 0.5 (2022-03-29)

Improvements and fixes:

* The release notes for each version now contain the release date, with the exception of milestone releases and release candidates (issue {escet-issue}314[#314]).

=== Version 0.4 (2021-12-17)

Improvements and fixes:

* Introduced a brand new website (issue {escet-issue}35[#35]).
* Many website URLs have changed due to various website structure changes (issues {escet-issue}35[#35] and {escet-issue}73[#73]).
* Various documentation/website textual improvements, style improvements and other changes (issues {escet-issue}35[#35] and {escet-issue}54[54]).
* Multiple small error message improvements (issue {escet-issue}248[#248]).

=== Version 0.3 (2021-10-01)

Improvements and fixes:

* The website and Eclipse help now use multi-page HTML rather than a single HTML file, although the website still contains a link to the single-page HTML that allows easily searching the full documentation (issue {escet-issue}36[#36]).
* Enabled section anchors for documentation on the website, and disabled section anchors for Eclipse help (issue {escet-issue}36[#36]).
* Several small documentation fixes and improvements (issue {escet-issue}166[#166]).

=== Version 0.2 (2021-07-07)

This release contains no specific changes for ToolDef.

=== Version 0.1 (2021-04-02)

The first release of ToolDef as part of the Eclipse ESCET project.
This release is based on the initial contribution by the Eindhoven University of Technology (TU/e).

Most notable changes compared to the last TU/e release:

* We no longer use separate language and tool versions.
The `.tooldef2` file extension has been changed to `.tooldef` as part of this change.
