Releases: elastic/synthetics
v1.0.0-beta.42
Features
- Add support for enabling/disabling alerts for monitors #713
Bug Fixes
- Ignore recursively searching for yml files inside node_modules directory when pushing monitors #714
Full Changelog: v1.0.0-beta.41...v1.0.0-beta.42
v1.0.0-beta.41
Features
- Add support for passing custom
data-test-id
viaPlaywrightOptions
, this would help in the tests for locating the element via the custom attributes via page.getByTestId #706 - Update Playwright library to version
1.31.1
Bug Fixes
- Add proper monitor field
heartbeat.monitors
to lightweight scaffolding template #696 - Reword the
--pattern
option when help command is run #710 - Require node version >= 18.12.0 for running synthetics tests #708
Full Changelog: v1.0.0-beta.40...v1.0.0-beta.41
v1.0.0-beta.40
Features
- Move from
ts-node
toesbuild
for transforming theTypeScript
files at runtime. This includes journeys, synthetics config files which are.ts
extensions and transform the files at runtime along with full source-map support. One of the advantage this provides is the ability to use the sameesbuild
API for both transpiling and bundling of the monitors #687 - Use new Kibana Bulk API endpoints for pushing project monitors #649
- Allow project based monitors to disable throttling via
Synthetics config
or by settingthrottling: false
#690 - Prompt users before overriding Synthetics config file when
init
command is called multiple times inside a Synthetics project #688
Bug fixes
- Update monitor in Kibana when when monitor content or config changes by generating unique hash #683
- Handle when users throw error like objects inside journey #694
Full Changelog: v1.0.0-beta.39...v1.0.0-beta.40
v1.0.0-beta.39
Features
- Improve the performance of push command when monitors are created or updated by chunking the monitors #666
- Add an example lightweight monitor yaml file when a new synthetics project is created via
init
command #650
Bug Fixes
- Parse varying NDJSON chunked responses sizes from Kibana when the API endpoint is behind a proxy #665
- Skip adding empty values for locations when creating new synthetics project using
init
command #658
Full Changelog: v1.0.0-beta.38...v1.0.0-beta.39
v1.0.0-beta.38
Features
-
Improve the validation of project monitor
schedule
for both browser and lightweight monitors. Error would be thrown if users would configure monitor schedule that are not supported. For lightweight monitors, we would save the schedule to the nearest supported schedule frequency #622Current allowed schedule values are 1, 3, 5, 10, 15, 30, 60 minutes respectively.
-
Improve the push command experience by showing the monitor management URL link once the push has been completed successfully #637
Bug fixes
- Pick the correct loader when bundling TypeScript or JavaScript journey files during push command #626
Browser version
Playwright version has been updated to 1.27.1
Full Changelog: v1.0.0-beta.37...v1.0.0-beta.38
v1.0.0-beta.37
Bug Fixes
- fix an issue in newer versions of sharp by creating separate sharp instance to produce screenshots data #623
Full Changelog: v1.0.0-beta.36...v1.0.0-beta.37
v1.0.0-beta.36
Features
Project based lightweight monitors
In addition to pushing Project based browser monitors to Monitor management UI, the agent now supports pushing existing lightweight monitors directly from the heartbeat.yml
files #542. Users can directly import the existing heartbeat.yml
files in to their Synthetics project and configure the required project settings (Kibana host, auth key, locations, etc.) and run the push
command.
- Create a new Synthetics project using
npx @elastic/synthetics init <dir-name>
and configure the project related settings. - Copy the existing
heartbeat.yml
files in to the synthetics project directory. Example
// heartbeat.yml example
- type: http
enabled: true
id: my-monitor
name: My Monitor
urls: ["http://localhost:9200"]
schedule: @every 10m
locations: ["singapore"]
private_locations: ["private-1"]
timeout: 16s
- Override the
schedule
,locations
andprivate locations
for specific monitors. Otherwise the defaults would be picked fromsynthetics.config.ts
files. - Run the push command
SYNTHETICS_API_KEY=<key> npm run push
Browser version
- Playwright version has been updated to
1.26.0
, this means the tests will be run onGoogle Chrome/106.0.5249.30
.
Bug fixes
- Transfer size of network requests now includes both the response header and body sizes #615
Full Changelog: v1.0.0-beta.35...v1.0.0-beta.36
v1.0.0-beta.35
Features
- Agent now prompts a warning question in interactive mode when users attempt to run push command without any active monitors which would nuke an entire project #598
- Users can suppress all prompt questions when running push command with
--yes
or-y
flag #602SYNTHETICS_API_KEY="key" npx @ealstic/synthetics push --yes
Full Changelog: v1.0.0-beta.34...v1.0.0-beta.35
v1.0.0-beta.34
Features
-
Synthetics push command now supports bundling external packages from
node_modules
folder for browser monitors, users can now use external packages utility packages likelodash, moment.js, etc,
in their synthetics scripts and push them instantaneously to Kibana. #580Example journey code below using an external package
is-positive
from NPM.// test.journey.ts import { journey, step, monitor, expect } from '@elastic/synthetics'; import isPositive from 'is-positive'; journey('bundle test', ({ page, params }) => { step('check if positive', () => { expect(isPositive(4)).toBe(true); }); });
If you run
npm run push
inside the synthetics project, we would bundle the whole journey file along with the packageis-positive
to make the experience smooth. However, there are a few caveats when pushing external modules.- Packages that use native bindings will not work.
- Users cannot push bundles that are more than
800 Kilobytes
.
-
Introduce configuring project monitor settings in the Synthetics config file #592. Comes in handy when running
push
command, users would be able to configure project-related settings likeprojectId
,kibana host
, andschedule
and save them for successive runs. -
Support the
SYNTHETICS_API_KEY
env variable for Kibana authentication when pushing monitors to Kibana #588
Full Changelog: v1.0.0-beta.33...v1.0.0-beta.34
v1.0.0-beta.33
Bug Fixes
- Issue individual requests when pushing monitors to Kibana. This is to avoid timeout issues when monitors are pushed without streaming support #586
Full Changelog: v1.0.0-beta.32...v1.0.0-beta.33