Skip to content

Commit 73077c6

Browse files
chore: release 0.31.0
1 parent ee34781 commit 73077c6

3 files changed

Lines changed: 52 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,54 @@
11
# Changelog
22

3+
## [0.31.0](https://github.com/askui/askui/compare/v0.30.0...v0.31.0) (2025-12-12)
4+
5+
6+
### Features
7+
8+
* **Inference API Cache**: Add inference API cache for improved performance. The cache stores successful control commands to reduce redundant API calls and speed up test execution. Cache entries are stored on disk and can be configured with validation types. Only successful commands (code OK) are cached, and Expect commands are automatically skipped from caching.
9+
10+
To enable caching, configure it when initializing the UiControlClient:
11+
```typescript
12+
import { UiControlClient } from 'askui';
13+
14+
const aui = await UiControlClient.build({
15+
cacheConfig: {
16+
cacheFilePath: './askui-cache.json',
17+
validationType: 'PixelPerfect'
18+
}
19+
});
20+
```
21+
22+
You can also skip caching for specific commands using the `skipCache` option:
23+
```typescript
24+
await aui.exec().click().button().withText('Submit').exec({ skipCache: true });
25+
```
26+
27+
* **Configurable Retry Strategy**: Add configurable retry strategy per execution. You can now customize retry behavior for individual commands or set a default retry strategy for all commands. Available retry strategies include:
28+
- `ExponentialRetryStrategy`: Exponential backoff (default: baseDelayMs=1000, retryCount=3)
29+
- `LinearRetryStrategy`: Linear backoff (default: baseDelayMs=1000, retryCount=3)
30+
- `FixedRetryStrategy`: Constant delay between retries (default: baseDelayMs=1000, retryCount=3)
31+
- `NoRetryStrategy`: No retries
32+
33+
Example usage:
34+
```typescript
35+
import { UiControlClient, ExponentialRetryStrategy } from 'askui';
36+
37+
const aui = await UiControlClient.build({
38+
retryStrategy: new ExponentialRetryStrategy(2000, 5) // 2s base delay, 5 retries
39+
});
40+
41+
// Or override for a specific command:
42+
await aui.exec().click().button().withText('Submit').exec({
43+
retryStrategy: new FixedRetryStrategy(500, 10)
44+
});
45+
```
46+
47+
### Bug Fixes
48+
49+
* refactor(waituntil): Fix waituntil function.
50+
51+
352
## [0.30.0](https://github.com/askui/askui/compare/v0.29.0...v0.30.0) (2025-11-20)
453

554

packages/askui-nodejs/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/askui-nodejs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "askui",
3-
"version": "0.30.0",
3+
"version": "0.31.0",
44
"license": "MIT",
55
"author": "askui GmbH <info@askui.com> (http://www.askui.com/)",
66
"description": "Reliable, automated end-to-end-testing that depends on what is shown on your screen instead of the technology you are running on",

0 commit comments

Comments
 (0)