- Added E2eExportService to package scenarios as plug-and-play zip archives containing package.json, playwright.config.ts, test.spec.ts, .env, credentials.json, snippets, and referenced scenario files - Only bundles credentials, snippets, and files actually referenced (directly or transitively) by the scenario's steps, reducing archive size - Exported test runs entirely offline using a context shim that mirrors liqa's API (page, getCredential, runSnippet, getScenarioFiles, downloadFile, assert, etc.) - Added GET /scenarios/:id/export-e2e HTTP endpoint and export_e2e_test MCP tool - Added getUsedSnippets() endpoint to list snippets referenced by a scenario - Added "Used Snippets" section on scenario detail page - Added archiver@^7.0.1 dependency for zip archive creation - Bumped version to 1.11.0
103 lines
3.8 KiB
Markdown
103 lines
3.8 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
## 1.11.0 - 2026-09-15
|
|
|
|
Changes since 1.10.1:
|
|
|
|
### Added
|
|
|
|
- Added export of a scenario as a standalone, plug-and-play Playwright e2e test project (zip archive with `package.json`, `playwright.config.ts`, `test.spec.ts`, `README.md`, `.env`, `credentials.json`, `snippets/*.js`, and any attached scenario files) that runs entirely independently of the liqa backend. Available as a "Export e2e test" button on the scenario detail page, `GET /scenarios/:id/export-e2e`, and the `export_e2e_test` MCP tool.
|
|
- The exported test only bundles the credentials, snippets, and attached files actually referenced (directly or transitively) by the scenario's steps.
|
|
- Added a "Used Snippets" section on the scenario detail page listing the snippets referenced by the scenario's steps, linking to each snippet's detail page. Backed by `GET /scenarios/:id/used-snippets`.
|
|
|
|
## 1.10.1 - 2026-09-15
|
|
|
|
Changes since 1.10.0:
|
|
|
|
### Added
|
|
|
|
- `context.runSnippet()` now logs "Snippet started"/"finished"/"failed" entries, matching the automatic step start/pass/fail logging.
|
|
|
|
### Changed
|
|
|
|
- Reworked the Markdown log export format: each log entry is now its own `## [level] timestamp` section with the message as its body, instead of a single large table.
|
|
|
|
### Fixed
|
|
|
|
- Run logs could persist out of call order (e.g. a snippet's "started" log appearing after its "finished" log) because writes were fire-and-forget and raced against each other. Log entries now carry a per-run sequence number assigned in call order, and queries/exports sort by it.
|
|
|
|
## 1.10.0 - 2026-09-15
|
|
|
|
Changes since 1.9.1:
|
|
|
|
### Added
|
|
|
|
- Added a "Download logs" button on the scenario run detail page: opens a modal to choose Markdown (default) or CSV, then downloads the run's logs in that format.
|
|
- Added `GET /scenarios/:id/run/:runId/logs/export?format=csv|md` backend endpoint to export a run's logs.
|
|
|
|
## 1.9.1 - 2026-09-15
|
|
|
|
Changes since 1.9.0:
|
|
|
|
### Added
|
|
|
|
- Scenario run logs now include an automatic entry when a step starts and when it finishes (pass or fail), so step boundaries are visible in run logs even for steps that don't call `context.log`/`context.assert` themselves.
|
|
|
|
## 1.9.0 - 2026-09-15
|
|
|
|
Changes since 1.8.0:
|
|
|
|
### Added
|
|
|
|
- Added `context.assert(fn, description)` for scenario/snippet script steps: runs the given function, requires it to return `true`, logs the outcome (`log` on success, `error` on failure or exception), and throws to stop the step on failure.
|
|
|
|
### Changed
|
|
|
|
- Documented `context.assert` in `docs/scenario.md`.
|
|
|
|
## 1.8.0 - 2026-09-15
|
|
|
|
Changes since 1.7.1:
|
|
|
|
### Added
|
|
|
|
- `context.downloadFile()` now accepts `data:` URIs, so scenario steps can save in-script generated content (e.g. a credential JWT) as a run artifact without a network fetch.
|
|
|
|
### Changed
|
|
|
|
- Documented the full scenario step `context` file API (`getScenarioFiles`, `downloadFile`) in `docs/scenario.md`.
|
|
|
|
## 1.7.1 - 2026-04-21
|
|
|
|
Changes since 1.7.0:
|
|
|
|
### Added
|
|
|
|
- Added MCP tools to upload, list, and fetch scenario files using base64 content payloads.
|
|
- Added MCP tools to list run artifacts and fetch run artifact content with metadata.
|
|
|
|
### Changed
|
|
|
|
- Documented MCP binary content handling for scenario files and run artifacts.
|
|
|
|
## 1.7.0 - 2026-04-21
|
|
|
|
Changes since 1.6.1:
|
|
|
|
### Added
|
|
|
|
- Added scenario file storage and run artifact support on the backend.
|
|
- Added file management UI for scenarios and run details, including artifact lists.
|
|
- Added snippet CRUD tools to the MCP server.
|
|
|
|
### Changed
|
|
|
|
- Added dynamic page titles based on the active client content.
|
|
- Extended the scenarios list to show the latest run status and timestamp.
|
|
|
|
### Fixed
|
|
|
|
- Exposed file expiry metadata in scenario and run file responses.
|
|
- Disabled expired download actions in the UI while keeping the action visible. |