Repository navigation
10.0.0-rc.3
Pre-releaseThis is the third release candidate for Checkly CLI 10. It is published on the next dist-tag, so checkly@latest stays on 9.x. To try it:
npm install --save-dev checkly@nextIn this release, a deploy sets every remaining property from your code, checkly account usage moves to new reports, and users with several accounts can pick one per command. TypeScript files are now parsed by a faster native parser, which also supports TypeScript 7. If you are upgrading from 9.x, read the 10.0.0-rc.1 release notes first: its Breaking changes and Upgrade notes still apply.
Breaking changes since 10.0.0-rc.2
A deploy sets every property from your code
A few properties were left alone by a deploy when your code did not set them, so a value set in the Checkly web app survived every deploy. A deploy now sends a value for all of them, and a value that only exists in the web app is reset on your next deploy unless your code sets it:
| Resource | Property | Value when your code does not set it |
|---|---|---|
Checks and CheckGroupV1 |
retryStrategy |
API, browser and multistep checks and CheckGroupV1: one immediate retry in another location, the same retry they got before. Monitors: no retries. PlaywrightCheck: none, because Playwright handles retries. |
| Checks | description, intent, aiAutoRepairEnabled |
No description and no intent; automatic repair follows the account setting. |
| Alert channels | sendRecovery, sendFailure, sendDegraded, sslExpiry, sslExpiryThreshold |
true, true, false, false, 30 |
PrivateLocation |
proxyUrl |
No proxy. |
Dashboard |
customUrl, customDomain, logo, favicon, link, header, description |
Empty. |
A PlaywrightCheck that you remove from its group in code is now also removed from the group in Checkly. Before, it stayed in the group.
The deploy plan shows each value it would reset before you apply it. In a terminal, it offers to write a value set in Checkly back into your code first; write-back now also covers intent. Because of this, the first plan after upgrading may list many alert channels, private locations, dashboards and checks as updates, with the note payload format changed (CLI upgrade).
checkly account usage uses the new usage reports
This also changes account usage for anyone upgrading from 9.x.
- The JSON output has changed:
- The summary reports
totals.creditsUsedinstead oftotals.credits.used, and no longer includespercentOfBudget,metersor projections. - The summary and series report
usageTermsIds(a list) instead ofusageTermsId. - Series rows report
creditsUsedand list theiraccountIdandcheckTypeunderdimensions. Run counts are included only with--include runs.intervalandgroupBy(now a list) move to the top level, andwarningsis replaced bycoverage.gaps. termsprints a list in{ data, pagination }, instead of a single term.
- The summary reports
--fromand--tonow select an inclusive UTC date range. Onterms, they select every term that overlaps the range, instead of the one term that covers--to.--check-typeis removed. Use the new--pricing-ruleflag to select charges, orseries --group-by checkTypeto break usage down by check type.--group-bynow accepts several values, such asaccount,checkType.account usage termsnow prints a table by default. The newaccount usage term <id>shows one term in detail.- The new
account usage projections <id>projects a term's credit consumption, replacing the projections that were in the summary.
New features
Working with several accounts
- Pick an account per command: setting
CHECKLY_ACCOUNT_IDwhile you are logged in, in your shell or a project's.envfile, runs commands in that account without changing your default. This is now fully supported:checkly loginno longer refuses to run while it is set,login,switchandwhoamisay when it overrides your default, and an id your login has no access to fails with a list of the accounts it does have. checkly whoamishows your default account, your other accounts, and where the current account comes from. The new--output jsonflag prints the same information.- "Not found" errors name the account that was searched when you are logged in with
checkly login, and say how to look in another one. checkly switchwithout a terminal (AI agents, CI) no longer shows a menu that nobody can answer. Agents get the list of accounts to choose from, and other runs get an error that lists them.checkly login --waitlets an AI agent wait for you to approve the login code it showed you, so you no longer have to tell it you are done.
Faster TypeScript parsing, and TypeScript 7 support
The CLI now reads TypeScript files with oxc-parser, a native parser. This makes deploy, test and pw-test faster, and they no longer load the TypeScript compiler from your project. Projects that use TypeScript 7 now work, and the deploy plan and write-back no longer need TypeScript installed.
- Stricter syntax checks: a few mistakes that only
tscused to report now fail whendeploy,testorpw-testbundles the check, for exampleconst xwithout a value orawaitused as a variable name. Code like this would also fail when the check runs. - Reinstall if the parser cannot load: if your
node_moduleslacks the parser's native package (for example afternpm install --omit=optional, or whennode_moduleswas copied from another operating system), TypeScript checks now fail with an error that says to reinstall your dependencies. - Malformed
tsconfig.jsonfiles are ignored, for example one with a missing comma, as if the file did not exist.
Fixes
- The deploy confirmation only says that resources removed from code will be deleted when the deploy actually deletes some.
- The deploy plan now explains updates to Playwright checks whose only change is the code bundle, Playwright version or snapshots, instead of counting them as updates without showing anything.
- Checks no longer fail to bundle when a TypeScript file uses an
accessorclass field. - A
logicalIdlonger than 255 characters is now reported by validation, naming the construct, instead of failing the whole deploy with a database error. checkly test,triggerandpw-testnow retry a failed connection for check results, as intended.- A successful deploy no longer crashes when the ping URL of a heartbeat monitor cannot be retrieved. It prints a warning instead.
- Pressing Ctrl+C during
checkly test,triggerorpw-testno longer crashes the CLI when cancelling the test session fails. - In agent mode, the CLI now tells Checkly that its requests come from an AI agent. Checkly uses this to clean up import plans that an agent started and never committed.
All pull requests
Show the 20 pull requests in this release
- fix(cli): only say a deploy deletes removed resources when it does [RED-1156] [ship] by @sorccu in #1539
- fix(cli): print the notice of an update the plan reports by cause alone [RED-1143] [ship] by @sorccu in #1540
- fix(cli): parse dependencies of TypeScript accessor class fields [RED-1158] [ship] by @sorccu in #1541
- perf(cli): parse TypeScript dependencies with oxc-parser [RED-1160] [ship] by @danielpaulus in #1533
- feat(cli): let multi-account users act on another account per command [RED-1122] [ship] by @hlenke in #1528
- fix(cli): remove a PlaywrightCheck from its group when deploy drops it [RED-1173] [ship] by @sorccu in #1544
- fix(cli): send a default retry strategy and always turn doubleCheck off [RED-1174] [ship] by @sorccu in #1545
- feat(cli)!: migrate account usage commands to v2 by @sbezludny in #1542
- test(e2e): speed up device-flow login e2e on Windows by setting SHELL [RED-1187] [ship] by @sorccu in #1546
- fix(cli): await mqtt.connectAsync so connection retries actually run [ship] by @hlenke in #1548
- fix(cli): send the default of an alert channel flag, a proxy URL and dashboard text when unset [RED-1190] [ship] by @sorccu in #1551
- fix(cli): reject construct logicalIds longer than Checkly stores [RED-1161] [ship] by @sorccu in #1547
- feat(constructs)!: a deploy owns a check's intent and automatic repair setting [RED-1193] [ship] by @sorccu in #1553
- feat(constructs): a maintenance window's timezone defaults to UTC [RED-1195] [ship] by @sorccu in #1554
- fix(cli): await heartbeat ping URLs and catch failed session cancels [ship] by @hlenke in #1552
- feat(cli): parse write-back and deploy preview sources with oxc-parser [RED-1162] [ship] by @sorccu in #1543
- feat(cli): declare agent runs via x-checkly-source: AGENT [ship] by @martzoukos in #1412
- test: keep tests from re-initialising the repository through a leaked GIT_DIR [RED-1200] [ship] by @sorccu in #1555
- test(e2e): give the checks get suite room for a slow API response [RED-1202] [ship] by @sorccu in #1556
- test(e2e): kill the login CLI directly instead of its process tree [RED-1142] [ship] by @sorccu in #1538
Full Changelog: 10.0.0-rc.2...10.0.0-rc.3