- provides JSON-Schema definition for Text-Runner config files: https://raw.githubusercontent.com/kevgo/text-runner/refs/heads/main/documentation/text-runner.schema.json
- actions are now type stripped rather than transpiled - if you want to keep using full TypeScript, move your actions into their own npm modules or transpile them yourself
Updates to the standard library:
- the new
npm/script-name
action verifies that filepackage.json
defines a script with the given name - the new
npm/script-call
action verifies full calls of a script defined inpackage.json
- renames
workspace/existing-file
toworkspace/existing-file-with-content
- the
workspace/new-file
action now allows providing the filename via a HTML attributed calledfilename
- new
workspace/existing-file
action verifies only file existence, not content - new
workspace/empty-file
action creates an empty file with the given name in the workspace
-
Streamlining the naming, everything named
text-run
is now namedtext-runner
:- The Text-Runner binary name changes from
text-run
totext-runner
. - The configuration file name changes from
text-run.yml
totext-runner.jsonc
- The folder in which Text-Runner looks for actions changes from
text-run/
totext-runner/
.
- The Text-Runner binary name changes from
-
The configuration file format changes from YML to JSONC (JSON with comments).
-
There is now JSON-Schema support for configuration files:
{ "$schema": "https://raw.githubusercontent.com/kevgo/text-runner/refs/heads/main/documentation/text-runner.schema.json", //...
This version updates dependencies and improves compatibility of the Text-Runner executable.
- Text-Runner is now an ESM module (1458). Your code or TextRunner Actions don't need to be an ESM module to use the new Text-Runner version (upgrade instructions).
- removes dependency on Bash: a normal Unix shell (/bin/sh) is now sufficient to run Text-Runner
- significantly improved compile and test time thanks to using a scalable monorepo build system (1465)
- replace Makefiles for individual repos with Yarn tasks to be used by Atalanta)
- fewer dependencies on external npm packages, reducing the overall size and attack surface (1476)
Feb 4 2022
- Change starter script to Node (1416)
Oct 13 2020
- change marker for active regions from
textrun
totype
(1007) - change action names from verbs (action to do) to nouns (semantic meaning of document part)
- extract most internal actions into plugins and adjust their names
- rename
add
command toscaffold
(#900) - replace the
offline
option withonline
and run offline by default (1181) - always keeps the workspace around, emptying it before test runs (1091, 1276, 1281)
- don't display skipped activities (#1295)
- configuration
system-tmp
no longer accepts a string (1254) - action API uses shorter methods (1387)
- requires Node 12 or newer (1231, 1045)
- API for actions exposes strongly typed strings for file and directory paths
- no longer prints file count on CLI (1203)
- shorten
useSystemTempDirectory
config option tosystemTmp
(1202) - requires proper formatting of CLI arguments (1197)
debug
command has subcommands (1189)- consistently prints relative paths for files everywhere (1138)
- standardize all licenses to ISC (1049)
- make anchors more GitHub compatible (1023)
- plugins with reusable custom actions
- actions can be written in transpiled languages like TypeScript or CoffeeScript (#907)
- scaffold TypeScript actions (1190)
- JavaScript API
- provided by the
text-runner-core
package - emits an EventStream (1274)
- provided by the
- more guidance on errors (1187)
- logs executed JS on console (1074)
- list existing anchors when linking to non-existing anchors (1378, 1377)
- organization as a mono-repository (956, 1102, 1217)
- extract all actions into plugins
- much faster end-to-end tests using the JS API
- switch from TSLint to ESLint (1264)
- OpenNodeTracker tracks standardized AST nodes instead of MarkdownIt nodes (1287)
- much stronger typing to avoid stringly-typed code (1356, 1357, 1355, 1353, 1362, 1346, 1344)
- type-checks unit tests (1272
- uses namespaces for code classes (1229, 1271)
- rename
ActivityList
toActivities
(1267) - all tests run on Windows now (1086)
- cross-platform Makefiles
- use more type checks (1025)
July 9 2020
Mar 03 2020
Feb 15 2020
Sep 23 2019
- support for HTML as input (#799)
- progress formatter (#776)
- support hardbreak tag (#828)
- handle indented code blocks (#845
- handle embedded code blocks (#836)
- make linebreaks a standalone tag (#834)
- many performance optimizations
- require Node 10 or higher
- new Markdown parser engine (#807)
- CLI and config file use the same keys (#752)
- remove obsolete internal parameter (#847)
- provide node attributes only for opening AST nodes (#841)
- prevent infinite loop for links to higher-up directories (acb6d0a
- handle closing anchor tag correctly (#829)
- debugging in VSCode (#842, 08bf920
- new formatter architecture without subclasses (#763)
- format documentation using proseWrap option (#794)
- vastly overhauled internal architecture
Nov 16 2018
Aug 30 2018
--config
CLI switch to specify a custom configuration file (86595d3)- support for
<details>
and<summary>
tags (a3c692b) - support relative links in published folders (7654e8a)
Aug 1 2018
defaultFiles
configuration option (738f24e)- improve errors (c8f8856)
- support hardbreaks in Markdown (c2594c2)
- show tag errors with code block (7db4836)
- functional architecture