@browserless.io/browserless 2.20.0-beta-5 → 2.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,7 +1,26 @@
1
- # [Latest](https://github.com/browserless/chrome/compare/v2.19.0...main)
1
+ # [Latest](https://github.com/browserless/chrome/compare/v2.20.1...main)
2
+
2
3
  - Dependency updates.
3
4
 
5
+ # [v2.20.1](https://github.com/browserless/chrome/compare/v2.20.0...v2.20.1)
6
+
7
+ - Dependency updates.
8
+ - Fix issues where connecting to a bad /devtools/page route can cause 500's.
9
+
10
+ # [v2.20.0](https://github.com/browserless/chrome/compare/v2.19.0...v2.20.)
11
+
12
+ - Dependency updates.
13
+ - Supports `puppeteer@23.3.0`.
14
+ - Support `playwright@1.47.0`.
15
+ - Use installed playwright-core for downloading browser binaries instead of `npx`, ensuring the appropriate browsers are installed.
16
+ - Fix JSON routes 404-ing when charset is specified in the content-type header.
17
+ - Disable the built-in debugger by setting `ENABLE_DEBUGGER=false`.
18
+ - Automatically run prettier on file save in VS Code.
19
+ - Windows fixes for SDK projects.
20
+ - README link fixes.
21
+
4
22
  # [v2.19.0](https://github.com/browserless/chrome/compare/v2.18.0...v2.19.0)
23
+
5
24
  - Dependency updates.
6
25
  - Drop `sort-keys` for eslint integrations.
7
26
  - Fix devtools URLs when `PROXY` is set and contains a path.
@@ -9,6 +28,7 @@
9
28
  - Small fixes for new eslint rules.
10
29
 
11
30
  # [v2.18.0](https://github.com/browserless/chrome/compare/v2.17.0...v2.18.0)
31
+
12
32
  - Dependency updates.
13
33
  - Supports `puppeteer-core@23.1.1`.
14
34
  - Supports `playwright-core@1.46.1, 1.44.1, 1.43.1, 1.42.1, 1.41.2`.
@@ -16,39 +36,47 @@
16
36
  - `/function` API now works properly when applying a 3rd-party proxy.
17
37
 
18
38
  # [v2.17.0](https://github.com/browserless/chrome/compare/v2.16.1...v2.17.0)
39
+
19
40
  - Dependency updates.
20
41
  - Hide token in logs on startup.
21
42
  - Fixes an issue where using `--proxy-server` now works with /function-API calls.
22
- - Adds support for the following CORS headers via env variables (headers and their corresponding config names are below). *Please note that these are very permissive by default, but only set when `ENABLE_CORS` is `true`!*
23
- - 'Access-Control-Allow-Credentials': CORS_ALLOW_CREDENTIALS (default '*')
24
- - 'Access-Control-Allow-Headers': CORS_ALLOW_HEADERS (default: '*')
25
- - 'Access-Control-Allow-Methods': CORS_ALLOW_METHODS (default: 'OPTIONS, POST, GET')
26
- - 'Access-Control-Allow-Origin': CORS_ALLOW_ORIGIN (default: '*')
27
- - 'Access-Control-Expose-Headers': CORS_EXPOSE_HEADERS (default: '*')
28
- - 'Access-Control-Max-Age': CORS_MAX_AGE (default: '2592000')
43
+ - Adds support for the following CORS headers via env variables (headers and their corresponding config names are below). _Please note that these are very permissive by default, but only set when `ENABLE_CORS` is `true`!_
44
+ - 'Access-Control-Allow-Credentials': CORS_ALLOW_CREDENTIALS (default '\*')
45
+ - 'Access-Control-Allow-Headers': CORS_ALLOW_HEADERS (default: '\*')
46
+ - 'Access-Control-Allow-Methods': CORS_ALLOW_METHODS (default: 'OPTIONS, POST, GET')
47
+ - 'Access-Control-Allow-Origin': CORS_ALLOW_ORIGIN (default: '\*')
48
+ - 'Access-Control-Expose-Headers': CORS_EXPOSE_HEADERS (default: '\*')
49
+ - 'Access-Control-Max-Age': CORS_MAX_AGE (default: '2592000')
29
50
 
30
51
  # [v2.16.1](https://github.com/browserless/chrome/compare/v2.16.0...v2.16.1)
52
+
31
53
  - Dependency updates.
32
54
  - Fixes numerous SDK issues when creating and building new projects.
33
55
 
34
56
  # [v2.16.0](https://github.com/browserless/chrome/compare/v2.15.0...v2.16.0)
57
+
35
58
  - Dependency updates.
36
59
  - Better extension handling and merging when passing in custom extensions.
37
60
  - Fixes a bug where a failed job (error thrown) causes the internal queue to drain.
38
61
  - Prettier and other source improvements.
39
62
 
40
63
  # [v2.15.0](https://github.com/browserless/chrome/compare/v2.14.0...v2.15.0)
64
+
41
65
  - Bug fix to avoid removing healthy jobs from limiter when a job fails
42
66
  - Dependency updates.
43
67
 
44
68
  # [v2.14.0](https://github.com/browserless/chrome/compare/v2.13.0...v2.14.0)
69
+
45
70
  **Potentially Breaking**
71
+
46
72
  - Merged duplicate code in browsers and fixed name `WebkitPlaywright` to `WebKitPlaywright` (capitalized "K").
47
73
  - Devtools now bundled into the repository at build-time for the `/debugger` route.
48
74
  - Dependency updates.
49
75
 
50
76
  # [v2.13.0](https://github.com/browserless/chrome/compare/v2.12.0...v2.13.0)
77
+
51
78
  **Potentially Breaking**
79
+
52
80
  - The `browser` hook now gets the `req` property for the full request instead of `meta`.
53
81
  - Now embeds the debugger located at `/debugger`.
54
82
  - Preliminary support for `trackingId`.
@@ -58,23 +86,29 @@
58
86
  - Dependency updates.
59
87
 
60
88
  # [v2.12.0](https://github.com/browserless/chrome/compare/v2.11.0...v2.12.0)
89
+
61
90
  **Potentially Breaking**
91
+
62
92
  - SDK projects should now use conventional class method properties versus the "fat-arrow" style instance methods.
63
93
 
64
94
  **Updates**
95
+
65
96
  - Support for multi-version playwright (puppeteer coming soon). Browserless now checks the version in the User-Agent header and loads the appropriate playwright server for it.
66
97
  - Dependency updates.
67
98
 
68
99
  # [v2.11.0](https://github.com/browserless/chrome/compare/v2.10.0...v2.11.0)
100
+
69
101
  - Wrap the pressure response in a pressure key.
70
102
  - New `keepAlive` property on browser objects for downstream SDK projects to flag.
71
103
  - Dependency updates.
72
104
 
73
105
  # [v2.10.0](https://github.com/browserless/chrome/compare/v2.9.0...v2.10.0)
106
+
74
107
  - Adds back in the `/pressure` API from V1.
75
108
  - Dependency updates.
76
109
 
77
110
  # [v2.9.0](https://github.com/browserless/chrome/compare/v2.8.0...v2.9.0)
111
+
78
112
  - Dependency updates.
79
113
  - Debugger is now included and mounted under the `/debugger` path.
80
114
  - Browserless now uses the `Logger` utility internally. Better logs for certain classes as well.
@@ -83,29 +117,37 @@
83
117
  -
84
118
 
85
119
  # [v2.8.0](https://github.com/browserless/chrome/compare/v2.7.1...v2.8.0)
120
+
86
121
  **April 12, 2024**
87
122
  **Potentially Breaking**
123
+
88
124
  - New `Logger` class and SDK primitives in support of that.
89
125
  - Routes now get an instance of `Logger`, before the `browser` argument or as the last argument for HTTP routes.
90
126
 
91
127
  **Updates**
128
+
92
129
  - Numerous SDK fixes and updates in the CLI.
93
130
  - Dependency updates.
94
131
 
95
132
  # [v2.7.1](https://github.com/browserless/chrome/compare/v2.7.0...v2.7.1)
133
+
96
134
  **April 11, 2024**
135
+
97
136
  - Fixes a boot-looping issue due to bad startup script. Adds tests for this as well.
98
137
  - Dependency updates.
99
138
 
100
139
  # [v2.7.0](https://github.com/browserless/chrome/compare/v2.6.1...v2.7.0)
140
+
101
141
  - Support for Running GPUs
102
142
  - Dependency updates.
103
143
 
104
144
  # [v2.6.1](https://github.com/browserless/chrome/compare/v2.6.0...v2.6.1)
145
+
105
146
  - Fixes for function API calls when behind an external URL.
106
147
  - Dependency updates.
107
148
 
108
149
  # [v2.6.0](https://github.com/browserless/chrome/compare/v2.5.0...v2.6.0)
150
+
109
151
  - Adds a `GET /active` route that responds with no message and a `204` http code.
110
152
  - Move to NodeJS 20.12.0.
111
153
  - README, CHANGELOG, Migration and spelling fixes.
@@ -114,6 +156,7 @@
114
156
  - Dependency updates.
115
157
 
116
158
  # [v2.5.0](https://github.com/browserless/chrome/compare/v2.4.0...v2.5.0)
159
+
117
160
  - `Config` now allows for programmatic getting and setting of the external address.
118
161
  - Support for a new `Hooks` module for setting up hooks in a more SDK-friendly manner.
119
162
  - Adds new exports for building downstream SDK projects more easily, versus using our CLI:
@@ -126,11 +169,14 @@
126
169
  - Dependency updates.
127
170
 
128
171
  # [v2.4.0](https://github.com/browserless/chrome/compare/v2.3.0...v2.4.0)
172
+
129
173
  **Potentially Breaking**
174
+
130
175
  - Drops support for recording and screencasting in favor of library-based approaches.
131
176
  - `playwright@1.42.1` and `puppeteer@22.4.0`.
132
177
 
133
178
  **Other Changes**
179
+
134
180
  - SDK routes now take precedence over core routes when a path-collision occurs.
135
181
  - Support SDK projects with their own `static` directories.
136
182
  - Adds support for user-specified `stop` methods in SDK Module extensions.
@@ -139,7 +185,9 @@
139
185
  - Dependency updates.
140
186
 
141
187
  # [v2.3.0](https://github.com/browserless/chrome/compare/v2.2.0...v2.3.0)
188
+
142
189
  **Potentially Breaking**
190
+
143
191
  - Routes must define a unique `name` property in order to remove them in SDK projects.
144
192
  - A new `browserless` object in the SDK `package.json` file can specify module overrides, in camelCase, instead of using a path-based semantic.
145
193
  - Fixes issues with `npx playwright-core install...` potentially installing other browser versions than what is a dependency of Browserless.
@@ -147,7 +195,9 @@
147
195
  - Dependency updates.
148
196
 
149
197
  # [v2.2.0](https://github.com/browserless/chrome/compare/v2.1.0...v2.2.0)
198
+
150
199
  **Potentially Breaking**
200
+
151
201
  - `ghcr.io/browserless/chrome` now runs actual Chrome and not Chromium! If you were using this tag please update to use `ghcr.io/browserless/chromium`!
152
202
  - This Chrome tag uses the new routing convention below. If you get random 404's, please add `/chrome` to the start of the route. EG, `/pdf` becomes `/chrome/pdf`.
153
203
  - Websocket connections follow a similar breakage in that the URL will go from something like `ws://localhost:3000` to `ws://localhost:3000/chrome`.
@@ -158,6 +208,7 @@
158
208
  - Refer to the embedded documentation site for any and all updates on API differences.
159
209
 
160
210
  **Other Changes**
211
+
161
212
  - HTTPRoutes and WebSocket routes can now have multiple paths to listen on.
162
213
  - Add `clean` command to `@browserless.io/browserless` CLI.
163
214
  - Adds support for `/json/list`, `/json/new`, `/json/version` and `json/protocol` APIs (Chrome and Chromium only).
@@ -170,6 +221,7 @@
170
221
  - Dependency updates.
171
222
 
172
223
  # [v2.1.0](https://github.com/browserless/browserless/compare/v2.0.0-beta-1...v2.1.0)
224
+
173
225
  - Dependency updates.
174
226
  - Name is now `@browserless.io/browserless` to reflect our npm package.
175
227
  - NEW: SDK is now live here: https://www.npmjs.com/package/@browserless.io/browserless.
@@ -183,9 +235,11 @@
183
235
  - Numerous link and copyright fixes.
184
236
 
185
237
  # [v2.0.0](https://github.com/browserless/chrome/compare/master...feat/browserless-2.0)
238
+
186
239
  browserless 2.0.0 represents the best body of work after running browserless for over 5 years. It contains mostly the same functionality and more, and is rebuilt to be more modular and offer a NodeJS SDK. It's also much lighter and faster than prior versions and includes a lot of semantic changes.
187
240
 
188
241
  ## Features
242
+
189
243
  - ECMAScript style module loading and dependencies.
190
244
  - New routing system using purely NodeJS's HTTP module.
191
245
  - Better logs and concurrency/queueing parameters.
@@ -194,15 +248,18 @@ browserless 2.0.0 represents the best body of work after running browserless for
194
248
  - Soon: upcoming support for extensions, long-running sessions and more.
195
249
 
196
250
  ## Breaking Changes
251
+
197
252
  - Remove support for Selenium.
198
253
  - The `/function` API now runs inside the context of the browser and not in Node.
199
254
  - Drop support for keep-alive and pre-booting.
200
255
  - Support for a single `launch` query-string parameter for launching a browser versus many individual parameters.
201
256
 
202
257
  ## Minor Changes
258
+
203
259
  - Many docker parameters have been renamed, but are backwards compatible. See config.ts for details.
204
260
 
205
261
  # [v1.61.0](https://github.com/browserless/chrome/compare/v1.60.2...v1.61.0)
262
+
206
263
  - **FINAL of V1 for browserless/chrome. [See notes on V2 here](https://github.com/browserless/chrome/pull/3345)**
207
264
  - Dependency updates.
208
265
  - Added `fonts-urw-base35`.
@@ -212,11 +269,13 @@ browserless 2.0.0 represents the best body of work after running browserless for
212
269
  - Fix improper handling of HTTP writing on bare sockets with 500 errors.
213
270
 
214
271
  # [v1.60.2](https://github.com/browserless/chrome/compare/v1.60.1...v1.60.2)
272
+
215
273
  - Dependency updates.
216
274
  - Fixes an issue where calls to GET /sessions sometimes return blank results.
217
275
  - Drop puppeteer `21.3.1` in favor of `21.3.6`.
218
276
 
219
277
  # [v1.60.1](https://github.com/browserless/chrome/compare/v1.60.0...v1.60.1)
278
+
220
279
  - Dependency updates.
221
280
  - Drop the `partner` repo from builds as we no longer use it for installing `flash`.
222
281
  - Bump to `Ubuntu` lunar.
@@ -228,6 +287,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
228
287
  - Drops `node-fetch` across the board in favor of `fetch` native.
229
288
 
230
289
  # [v1.60.0](https://github.com/browserless/chrome/compare/v1.59.0...v1.60.0)
290
+
231
291
  - Dependency updates.
232
292
  - New build arguments in our Dockerfile to apply different named base repo.
233
293
  - New `CHROME_STABLE_VERSION` build arg for specifying a particular chrome stable version.
@@ -242,6 +302,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
242
302
  - Link fixes in README.md.
243
303
 
244
304
  # [v1.59.0](https://github.com/browserless/chrome/compare/v1.58.0...v1.59.0)
305
+
245
306
  - Dependency updates.
246
307
  - Bump to Ubuntu Kinetic release + updates to use relevant packages.
247
308
  - In support of puppeteer 20+, updates to `env.js` for finding/symlinking Chrome.
@@ -249,6 +310,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
249
310
  - Ad-blocking and other request-interception in browserless is graceful using the `isInterceptResolutionHandled` method.
250
311
 
251
312
  # [v1.58.0](https://github.com/browserless/chrome/compare/v1.57.0...v1.58.0)
313
+
252
314
  - Dependency updates.
253
315
  - Documentation link fixes.
254
316
  - Add new required lib `libu2f-udev`.
@@ -262,6 +324,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
262
324
  - Fixes an issue where user-data-dirs aren't deleted due to a crashed container.
263
325
 
264
326
  # [v1.57.0](https://github.com/browserless/chrome/compare/v1.56.0...v1.57.0)
327
+
265
328
  - Dependency updates.
266
329
  - Add back in `puppeteer@13.1.3` for PDF/Screenshot performance.
267
330
  - Replace `puppeteer@18.0.5` in favor of `puppeteer@19.2.2`.
@@ -274,6 +337,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
274
337
  - 1.27.1
275
338
 
276
339
  # [v1.56.0](https://github.com/browserless/chrome/compare/v1.55.0...v1.56.0)
340
+
277
341
  - Dependency updates.
278
342
  - Fixes various puppeteer issues with regards to revision information and browser-fetching.
279
343
  - Fixes a Selenium issue where failed browsers can cause session to zombie.
@@ -281,10 +345,14 @@ browserless 2.0.0 represents the best body of work after running browserless for
281
345
  - Better selenium W3C support.
282
346
 
283
347
  # [v1.55.0](https://github.com/browserless/chrome/compare/v1.55.0...v1.54.1)
348
+
284
349
  **Potentially Breaking**
350
+
285
351
  - Update base OS from Ubuntu 20.04 to Ubuntu 22.04.
286
352
  - Drops `path` support for both `addScriptTag` and `addStyleTag`. Use `url` or inject content directly.
353
+
287
354
  ---
355
+
288
356
  - Dependency updates.
289
357
  - We now support multiple versions of playwright via `playwright-core`. browserless checks the User-Agent string and tries to load a compatible playwright server at runtime in order to avoid breakages between versions.
290
358
  - New `scrollPage` boolean parameter for the screenshot and other relevant APIs.
@@ -295,6 +363,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
295
363
  - Updated links for browserless documentation in docs.
296
364
 
297
365
  # [v1.54.1](https://github.com/browserless/chrome/compare/v1.54.1...v1.54.0)
366
+
298
367
  - Dependency updates.
299
368
  - Add `browser.json` file to git tags.
300
369
  - Prettier fixes on source.
@@ -303,6 +372,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
303
372
  - Fix: allow `disconnect` listeners to fire before closing.
304
373
 
305
374
  # [v1.54.0](https://github.com/browserless/chrome/compare/v1.53.0...v1.54.0)
375
+
306
376
  - Dependency updates.
307
377
  - Move to using `mocha` for better esm support.
308
378
  - Drop puppeteer `13.6.0` in favor of `14.4.1`.
@@ -310,6 +380,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
310
380
  - New internal `getCDPClient` for loading a page's CPD connection.
311
381
 
312
382
  # [v1.53.0](https://github.com/browserless/chrome/compare/v1.52.1...v1.53.0)
383
+
313
384
  - Dependency updates.
314
385
  - Bump `browserless:base` to `1.16.0`.
315
386
  - Drop `--quiet` from deploy scripts.
@@ -318,12 +389,14 @@ browserless 2.0.0 represents the best body of work after running browserless for
318
389
  - README updates.
319
390
 
320
391
  # [v1.52.1](https://github.com/browserless/chrome/compare/v1.52.0...v1.52.1)
392
+
321
393
  - Dependency updates.
322
394
  - Playwright example correction in README.md.
323
395
  - Use revision `970485` for puppeteer 13.x.x, `latest`, chrome-stable and `arm64`.
324
396
  - When using `KEEPALIVE` and `PREBOOT`, don't create new blank pages, and use the existing one instead.
325
397
 
326
398
  # [v1.52.0](https://github.com/browserless/chrome/compare/v1.51.1...v1.52.0)
399
+
327
400
  - Dependency updates.
328
401
  - Added in new fonts: `fonts-gfs-neohellenic`.
329
402
  - Minor code formatting changes.
@@ -340,6 +413,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
340
413
  - Add in more unit and integration tests.
341
414
 
342
415
  # [v1.52.0](https://github.com/browserless/chrome/compare/v1.51.1...v1.52.0)
416
+
343
417
  - Dependency updates.
344
418
  - Added in new fonts: `fonts-gfs-neohellenic`.
345
419
  - Minor code formatting changes.
@@ -356,9 +430,12 @@ browserless 2.0.0 represents the best body of work after running browserless for
356
430
  - Add in more unit and integration tests.
357
431
 
358
432
  # [v1.51.1](https://github.com/browserless/chrome/compare/v1.51.0...v1.51.1)
433
+
359
434
  - Dependency updates.
360
435
  - Updates the `vm2` module to `3.9.7`.
436
+
361
437
  # [v1.51.0](https://github.com/browserless/chrome/compare/v1.50.0...v1.51.0)
438
+
362
439
  - Dependency updates.
363
440
  - New `viewport` option inside of the content API.
364
441
  - New `encoding` option in the screenshot API.
@@ -369,6 +446,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
369
446
  - Small type updates.
370
447
 
371
448
  # [v1.50.0](https://github.com/browserless/chrome/compare/v1.49.1...v1.50.0)
449
+
372
450
  - Dependency updates.
373
451
  - Drops support for `puppeteer-4.0.1` in favor of `puppeteer-12.0.1`.
374
452
  - Chrome-stable now utilizes puppeteer @ `12.0.1`.
@@ -383,19 +461,25 @@ browserless 2.0.0 represents the best body of work after running browserless for
383
461
  - New `/metrics/total` route for summing up all statistics in a single JSON payload.
384
462
 
385
463
  # [v1.49.1](https://github.com/browserless/chrome/compare/v1.49.0...v1.49.1)
464
+
386
465
  - Dependency updates.
387
466
  - Fix webhook not using timeout URL.
388
467
 
389
468
  # [v1.49.0](https://github.com/browserless/chrome/compare/v1.48.0...v1.49.0)
469
+
390
470
  - Dependency updates.
391
471
  - Support for ARM64 builds by dropping flash for it.
392
472
  - Bump puppeteer 10.2.0 for 10.4.0.
393
473
  - New puppeteer-hook for injecting a puppeteer-compatible library, eg. puppeteer-extra.
394
474
 
395
475
  # [v1.48.0](https://github.com/browserless/chrome/compare/v1.47.0...v1.48.0)
476
+
396
477
  **Potentially Breaking**
478
+
397
479
  - API calls with `html` in their payloads now use the `page.setContent` API versus a prior hack using one-time network-request interception ([example here](https://github.com/browserless/chrome/compare/v1.47.0...master#diff-67b699af1b24472604e21081d0509620d4ab3d986fcd4f8aa0b04d5ee5e4c63fL88)). Old versions of puppeteer might not work properly with this (<= 5.x.x). This effects the following APIS: `/content`, `/pdf` and `/screenshot`.
480
+
398
481
  ---
482
+
399
483
  - Dependency updates.
400
484
  - Bump `browserless/base` to `1.12.0` (add user-id to `blessuser` of `BLESS_USER_ID=999`).
401
485
  - Bumps puppeteer @10.x.x to `10.2.0` with revision `901912`.
@@ -403,6 +487,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
403
487
  - Fix some typings in tests.
404
488
 
405
489
  # [v1.47.0](https://github.com/browserless/chrome/compare/v1.46.0...v1.47.0)
490
+
406
491
  - Dependency updates.
407
492
  - Bump `browserless/base` to `1.11.0`.
408
493
  - Add new lint task and rename GitHub actions tasks, remove `tslint`.
@@ -414,6 +499,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
414
499
  -
415
500
 
416
501
  # [v1.46.0](https://github.com/browserless/chrome/compare/v1.45.0...v1.46.0)
502
+
417
503
  - Dependency updates.
418
504
  - Move to Node 16.x.x.
419
505
  - Bump browserless/base to 1.10.0.
@@ -428,14 +514,19 @@ browserless 2.0.0 represents the best body of work after running browserless for
428
514
  - Improvements on how chrome is closed.
429
515
 
430
516
  # [1.45.0](https://github.com/browserless/chrome/compare/v1.44.0...v1.45.0)
517
+
431
518
  - Dependency Updates.
432
519
  - Support for [playwright proxies](https://github.com/browserless/chrome/commit/0903795e936b93a511ec04f7ae35c03397682905).
433
520
  - Fixes an issue with larger headers potentially causing load-balancers to crash and fail.
434
521
 
435
522
  # [v1.44.0](https://github.com/browserless/chrome/compare/v1.43.0...v1.44.0)
523
+
436
524
  **Potentially Breaking**
525
+
437
526
  - `PROXY_HOST` and `PROXY_PORT` are now replaced with a single `PROXY_URL` param, eg: `https://www.mybrowserless.com/optional/paths`. When set, browserless uses this fully-qualified URL to build out links _back_ to its internal debugger and sessions. Useful when you're instance is behind a proxy or load-balancer of some kind.
527
+
438
528
  ---
529
+
439
530
  - Dependency Updates.
440
531
  - Use recent Node 14 (browserless-base 1.7.0).
441
532
  - New `rejectResourceTypes` property on most APIs (content, screenshot, pdf, etc.).
@@ -447,12 +538,14 @@ browserless 2.0.0 represents the best body of work after running browserless for
447
538
  - More types, tests, and utility consolidation.
448
539
 
449
540
  # [v1.43.0](https://github.com/browserless/chrome/compare/v1.42.0...v1.43.0)
541
+
450
542
  - Dependency Updates.
451
543
  - Fixes an issue where --user-data-dirs aren't deleted properly, potentially filling disks.
452
544
  - Changes CPU/Memory checks to be user-based and not the entire OS.
453
545
  - Adds tests for the user-data-dir issue.
454
546
 
455
547
  # [v1.42.0](https://github.com/browserless/chrome/compare/v1.41.0...v1.42.0)
548
+
456
549
  - Dependency Updates.
457
550
  - Move to Node 14!
458
551
  - Use `esModuleInterop` for imports.
@@ -463,30 +556,36 @@ browserless 2.0.0 represents the best body of work after running browserless for
463
556
  - Ensure temp user-data-dirs are always cleaned up.
464
557
 
465
558
  # [v1.41.0](https://github.com/browserless/chrome/compare/v1.40.2...v1.41.0)
559
+
466
560
  - Dependency Updates.
467
561
  - New `SESSION_CHECK_FAIL_URL` webhook for when pre-session checks fail.
468
562
  - Health checks now take the last two CPU/Memory samples to determine if a failure (5 minutes).
469
563
 
470
564
  # [v1.40.2](https://github.com/browserless/chrome/compare/v1.40.1...v1.40.2)
565
+
471
566
  - Dependency Updates.
472
567
  - Fix potentially unhandled stream error events when closing chrome.
473
568
  - Bump puppeteer to 5.4.1 for major 5.
474
569
 
475
570
  # [v1.40.1](https://github.com/browserless/chrome/compare/v1.40.0...v1.40.1)
571
+
476
572
  - Dependency Updates
477
573
  - New `SOCKET_CLOSE_METHOD` for better load-balancing behavior when under load.
478
574
 
479
575
  # [v1.40.0](https://github.com/browserless/chrome/compare/v1.39.0...v1.40.0)
576
+
480
577
  - Dependency Updates
481
578
  - Support for playwright 1.4.0 and greater. [See more here](https://github.com/microsoft/playwright/issues/4054).
482
579
  - New `PRE_REQUEST_HEALTH_CHECK` env variable to check CPU/Memory prior to running a session. Set `MAX_CPU_PERCENT` or `MAX_MEMORY_PERCENT` for setting these thresholds. Responds with a `503` HTTP code if CPU/Memory are high on any inbound session (API, puppeteer or webdriver).
483
580
 
484
581
  # [v1.39.0](https://github.com/browserless/chrome/compare/v1.38.0...v1.39.0)
582
+
485
583
  - Dependency Updates
486
584
  - Fixes a crash due to `browser.close` streams not completing properly.
487
585
  - Adds a `dumpio` query-string parameter for launching with puppeteer.
488
586
 
489
587
  # [v1.38.0](https://github.com/browserless/chrome/compare/v1.37.2...v1.38.0)
588
+
490
589
  - Dependency Updates
491
590
  - Fixes a memory leak when browsers don't close properly.
492
591
  - Adds a `/heapdump` route for capturing heap dumps. Turn on by setting `ENABLE_HEAP_DUMP=true` in your docker env.
@@ -495,24 +594,31 @@ browserless 2.0.0 represents the best body of work after running browserless for
495
594
  - README fixes.
496
595
 
497
596
  # [v1.37.2](https://github.com/browserless/chrome/compare/v1.37.1...v1.37.2)
597
+
498
598
  - Dependency Updates
499
599
  - Fixes an issue where the webserver can crash after rejecting a request.
500
600
  - Fixes deployment script not waiting for zip files to be finished unzipped.
501
601
 
502
602
  # [1.37.1](https://github.com/browserless/chrome/compare/v1.37.0...v1.37.1)
603
+
503
604
  - Dependency Updates
504
605
  - Fixes an issue in webdriver not starting properly.
505
606
 
506
607
  # [1.37.0](https://github.com/browserless/chrome/compare/v1.36.0...v1.37.0)
608
+
507
609
  **Potentially Breaking**
610
+
508
611
  - Due to stability issues, puppeteer version 3.x.x and 4.x.x now use chromium revision `782078`. See our `package.json` for details.
612
+
509
613
  ---
614
+
510
615
  - Dependency Updates
511
616
  - README Updates
512
617
  - Fixes an issue for secured containers using prometheus (plus tests).
513
618
  - Support for puppeteer `5.2.1`
514
619
 
515
620
  # [1.36.0](https://github.com/browserless/chrome/compare/v1.35.0...v1.36.0)
621
+
516
622
  - Dependency Updates
517
623
  - Drops support for puppeteer `2.0.0` and `3.0.4`, please use `2.1.1` and `3.3.0` for those revisions.
518
624
  - Adds support for puppeteer `5.0.0`.
@@ -520,16 +626,21 @@ browserless 2.0.0 represents the best body of work after running browserless for
520
626
  - Adds back in `--disable-dev-shm-usage` to default arguments for better SHM performance.
521
627
 
522
628
  # [1.35.0](https://github.com/browserless/chrome/compare/v1.34.0...v1.35.0)
629
+
523
630
  - Dependency Updates
524
631
  - New `maxTime`, `minTime`, `meanTime` and `totalTime` of all sessions for a given period in /stats.
525
632
  - Bugfix on CPU/Memory triggering health failure webhooks.
526
633
  - Fix issues in websocket errors by awaiting browser.close (or 5 seconds, whichever is quickest).
527
634
 
528
635
  # [v1.34.0](https://github.com/browserless/chrome/compare/v1.33.1...v1.34.0)
636
+
529
637
  **Potentially Breaking**
638
+
530
639
  - screencast API no longer supports `audio` or the `setPreferences` function in order to offer a better video experience. In order to set the width/height, simply set a page width height to what you'd like.
531
640
  - `chrome-stable` will now use `puppeteer@3.1.0` for better compatibility.
641
+
532
642
  ---
643
+
533
644
  - Dependency updates.
534
645
  - Drops puppeteer version `1.20.0` and below.
535
646
  - Move `browserless/base` to `v1.5.0`.
@@ -538,10 +649,12 @@ browserless 2.0.0 represents the best body of work after running browserless for
538
649
  - `about:blank` pages now are returned in the `/sessions` API for transparency of open sessions/browsers.
539
650
 
540
651
  # [1.33.1](https://github.com/browserless/chrome/compare/v1.33.0...v1.33.1)
652
+
541
653
  - Dependency updates.
542
654
  - Fix socket errors from accidentally firing error webhooks.
543
655
 
544
656
  # [1.33.0](https://github.com/browserless/chrome/compare/v1.32.0...v1.33.0)
657
+
545
658
  - Drops support for puppeteer 1.17.x and 1.18.x
546
659
  - Support for puppeteer 3.0.x
547
660
  - Dependency updates
@@ -549,32 +662,38 @@ browserless 2.0.0 represents the best body of work after running browserless for
549
662
  - Consolidates more types.
550
663
 
551
664
  # [1.32.0](https://github.com/browserless/chrome/compare/v1.31.1...v1.32.0)
665
+
552
666
  - Dependency Updates.
553
667
  - Adds roboto fonts.
554
668
  - Updates `pressure` API to take account of running browsers in the `running` count.
555
669
  - Adds `maxConcurrent`, `maxQueued`, `cpu` and `memory` to pressure.
556
670
 
557
671
  # [1.31.1](https://github.com/browserless/chrome/compare/v1.31.0...v1.31.1)
672
+
558
673
  - Dependency Updates.
559
674
  - Fixes a small issue where XVFB doesn't start properly during an automated restart.
560
675
 
561
676
  # [1.31.0](https://github.com/browserless/chrome/compare/v1.30.0...v1.31.0)
677
+
562
678
  - Dependency Updates.
563
679
  - Allows `trackingId` on uploaded files to save in the appropriate tracking-ID folder.
564
680
  - New `userAgent` param for setting user-agent in API requests.
565
681
  - Fixes an issue where chrome wasn't being closed in rare cases.
566
682
 
567
683
  # [1.30.0](https://github.com/browserless/chrome/compare/v1.29.1...v1.30.0)
684
+
568
685
  - Dependency Updates.
569
686
  - Updates to Node 13 for speed and memory improvements.
570
687
  - browserless/base@1.4.0
571
688
 
572
689
  # [1.29.1](https://github.com/browserless/chrome/compare/v1.29.0...v1.29.1)
690
+
573
691
  - Dependency Updates.
574
692
  - Fixes how deploy script determines errors when running child commands.
575
693
  - Fixes issues when many selenium sessions can potentially fill up disk space.
576
694
 
577
695
  # [1.29.0](https://github.com/browserless/chrome/compare/v1.28.0...v1.29.0)
696
+
578
697
  - Dependency updates.
579
698
  - Uses `pipe`'s for most API calls and other internal endpoints for faster/better throughput. Works only for `headless` API/puppeteer calls.
580
699
  - Allows custom lighthouse configs via POST `config` property.
@@ -583,6 +702,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
583
702
  - Properly passes socket errors to the error handler/webhook
584
703
 
585
704
  # [1.28.0](https://github.com/browserless/chrome/compare/v1.27.0...v1.28.0)
705
+
586
706
  - Dependency updates.
587
707
  - Sets a system-default font of Ubuntu for most sites that use `system-ui` in their font declarations.
588
708
  - Fixes health-check failure webhooks.
@@ -590,17 +710,20 @@ browserless 2.0.0 represents the best body of work after running browserless for
590
710
  - Moves over to GH actions over Travis for CI.
591
711
 
592
712
  # [1.27.0](https://github.com/browserless/chrome/compare/v1.26.1...v1.27.0)
713
+
593
714
  - Dependency updates.
594
715
  - New `manipulate` params for screenshots, allowing for resizing, flipping and more.
595
716
  - Better tracking of chrome-process for cleanup of zombied sessions.
596
717
 
597
718
  # [1.26.1](https://github.com/browserless/chrome/compare/v1.26.0...v1.26.1)
719
+
598
720
  - Dependency updates.
599
721
  - Added `git` as a dependency in dockerfile for git-based npm dependencies to work.
600
722
  - Fixed an issue in `start.sh` so that errors bubble up properly and close the process.
601
723
  - Bumps `browserless/base` to `1.2.0`.
602
724
 
603
725
  # [1.26.0](https://github.com/browserless/chrome/compare/v1.25.0...v1.26.0)
726
+
604
727
  - Dependency updates.
605
728
  - Dropping pre-push hooks for speed.
606
729
  - Consolidate all interfaces/types to a types.d.ts file.
@@ -610,6 +733,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
610
733
  -
611
734
 
612
735
  # [1.25.0](https://github.com/browserless/chrome/compare/v1.24.0...v1.25.0)
736
+
613
737
  - Dependency updates.
614
738
  - Stricter build-time arguments for chromium and chromedriver assets.
615
739
  - Better XVFB functionality.
@@ -618,6 +742,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
618
742
  - Proper support for parsing `ignoreDefaultArgs` query-parameters.
619
743
 
620
744
  # [1.24.0](https://github.com/browserless/chrome/compare/v1.23.1...v1.24.0)
745
+
621
746
  - Dependency updates.
622
747
  - Bugfix on our debugger's play button being off-center.
623
748
  - Fixes driver.close() calls not cleaning the browser.
@@ -626,11 +751,13 @@ browserless 2.0.0 represents the best body of work after running browserless for
626
751
  - More integration and unit tests added.
627
752
 
628
753
  # [1.23.1](https://github.com/browserless/chrome/compare/v1.23.0...v1.23.1)
754
+
629
755
  - Fixes an issue in chromedriver where commands would hang.
630
756
  - Fixes an issue in chromedriver sessions not being removed properly.
631
757
  - Fixes and pins the base image so that headful sessions work again.
632
758
 
633
759
  # [1.23.0](https://github.com/browserless/chrome/compare/v1.22.0...v1.23.0)
760
+
634
761
  - Dependency updates.
635
762
  - Use `apt-get` to install `dumb-init`.
636
763
  - Add a LANG arg in docker.
@@ -640,6 +767,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
640
767
  - Updates protocol and host information in ad-blocking.
641
768
 
642
769
  # [1.22.0](https://github.com/browserless/chrome/compare/v1.21.0...v1.22.0)
770
+
643
771
  - Dependency updates.
644
772
  - Removal of unnecessary '--disable-dev-shm-usage'
645
773
  - Squelching of chromedriver's verbose args unless `DEBUG=*` is set.
@@ -647,6 +775,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
647
775
  - Allowing of sub-child routes in workspaces.
648
776
 
649
777
  # [1.21.0](https://github.com/browserless/chrome/compare/v1.20.0...v1.21.0)
778
+
650
779
  - Dependency updates.
651
780
  - New `viewport` property option for PDF endpoint.
652
781
  - The `/stats` endpoint now runs in a separate process meaning it can be parallelized.
@@ -654,10 +783,12 @@ browserless 2.0.0 represents the best body of work after running browserless for
654
783
  - Fixes an issue with the file-chooser API not working in puppeteer.
655
784
 
656
785
  # [1.20.0](https://github.com/browserless/chrome/compare/v1.19.0...v1.20.0)
786
+
657
787
  - Dependency updates.
658
788
  - New `/scrape` API!
659
789
 
660
790
  # [1.19.0](https://github.com/browserless/chrome/compare/v1.18.0...v1.19.0)
791
+
661
792
  - Dependency updates.
662
793
  - Fixes chrome-stable's binary chromedriver.
663
794
  - Move over to Node 12.
@@ -672,6 +803,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
672
803
  -
673
804
 
674
805
  # [1.18.0](https://github.com/browserless/chrome/compare/v1.17.0...v1.18.0)
806
+
675
807
  - Dependency updates
676
808
  - Better `IS_DOCKER` check for kubernetes.
677
809
  - Updates to README.md, spelling fixes and Slack link.
@@ -686,6 +818,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
686
818
  - Fixing issues with keeping chrome alive (only closing once TTL is met).
687
819
 
688
820
  # [1.17.0](https://github.com/browserless/chrome/compare/v1.16.0...v1.17.0)
821
+
689
822
  - Dependency updates
690
823
  - Splitting docker images into two repositories for faster builds and pulls
691
824
  - Adding in external routing capabilities
@@ -695,6 +828,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
695
828
  - Better chromedriver failure messages.
696
829
 
697
830
  # [1.16.0](https://github.com/browserless/chrome/compare/v1.15.0...v1.16.0)
831
+
698
832
  - Adding `ffmpeg` to the docker dependency list.
699
833
  - Add `timecut` as a dependency for recording.
700
834
  - Better logs on chrome PID's and closing forcefully.
@@ -704,15 +838,18 @@ browserless 2.0.0 represents the best body of work after running browserless for
704
838
  - `/json/version` now returns a `webSocketDebuggerUrl`.
705
839
 
706
840
  # [1.15.0](https://github.com/browserless/chrome/compare/v1.14.1...v1.15.0)
841
+
707
842
  - New `page` and `browser` hooks for docker images that `FROM` browserless.
708
843
  - `bluebird` added as a module for `function` and other endpoints.
709
844
  - More dependency updates.
710
845
 
711
846
  # [1.14.1](https://github.com/browserless/chrome/compare/v1.14.0...v1.14.1)
847
+
712
848
  - Bugfix when running multiple "headfull" sessions.
713
849
  - Dependency updates.
714
850
 
715
851
  # [1.14.0](https://github.com/browserless/chrome/compare/v1.13.0...v1.14.0)
852
+
716
853
  - New `WORKSPACE_DELETE_EXPIRED` and `WORKSPACE_EXPIRE_DAYS` to auto-cleanup workspace dirs.
717
854
  - README.md cleanup now that HTTPS is no longer required.
718
855
  - Support for `~` in docker env parameters.
@@ -724,17 +861,20 @@ browserless 2.0.0 represents the best body of work after running browserless for
724
861
  - Better internal types.
725
862
 
726
863
  # [1.13.0](https://github.com/browserless/chrome/compare/v1.12.0...v1.13.0)
864
+
727
865
  - A minor refactor to consolidate calls to `url.parse` for performance gains.
728
866
  - Introduces a per-session based timeout that overrides the global timeout.
729
867
  - Consolidates authorization checks to remove duplication.
730
868
  - Moves more types into their backing modules in order to better consolidate files.
731
869
 
732
870
  # [1.12.0](https://github.com/browserless/chrome/compare/v1.11.0...v1.12.0)
871
+
733
872
  - Set's a non-conflicting `WORKSPACE_DIR` and `DEFAULT_USER_DATA_DIR` in docker by default.
734
873
  - Drops support for puppeteer `1.15.0` and adds `1.19.0`.
735
874
  - Web-based debugger now sends cookies for docker deployments that are secure.
736
875
 
737
876
  # [1.11.0](https://github.com/browserless/chrome/compare/v1.10.0...v1.11.0)
877
+
738
878
  - Live debugger is now self-hosted, no more enforced https though it's still recommended.
739
879
  - Consolidated build steps.
740
880
  - Using the same chromedriver binary that matches the puppeteer's bundled chromium.
@@ -745,6 +885,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
745
885
  - Dependency updates.
746
886
 
747
887
  # [1.10.0](https://github.com/browserless/chrome/compare/v1.9.0...v1.10.0)
888
+
748
889
  - Dropped support for puppeteer `1.9.0 => 1.14.0`.
749
890
  - Added support for puppeteer `1.16.0 => 1.18.0`.
750
891
  - A version of chromedriver is now installed to perfectly match the version of puppeteer's chromium.
@@ -758,12 +899,14 @@ browserless 2.0.0 represents the best body of work after running browserless for
758
899
  - Workspace support for selenium-based integrations.
759
900
 
760
901
  # [1.9.0](https://github.com/browserless/chrome/compare/v1.8.0...v1.9.0)
902
+
761
903
  - Better handling of browser/socket closing in puppeteer integrations.
762
904
  - Numerous screencast fixes.
763
905
  - Moved all GH links to new repo location.
764
906
  - Dep updates.
765
907
 
766
908
  # [1.8.0](https://github.com/browserless/chrome/compare/v1.7.0...v1.8.0)
909
+
767
910
  - Better windows dev experience.
768
911
  - Indian font support.
769
912
  - Video capture now supports audio and browser width/height.
@@ -771,10 +914,12 @@ browserless 2.0.0 represents the best body of work after running browserless for
771
914
  - DEFAULT env variables for launching pre-booted Chrome.
772
915
 
773
916
  # 1.7.0
917
+
774
918
  - Dep updates
775
919
  - New `?blockAds` query-parameter for disabling 3rd-party ad calls.
776
920
 
777
921
  # 1.6.0
922
+
778
923
  - New `authenticate` and `setExtraHTTPHeaders` params for the `content`, `pdf`, and `screenshot` APIs. Useful for using proxies in our REST APIs.
779
924
  - Fixed a bunch of bugs inside of the webdriver integration, making it more REST-ful.
780
925
  - Updated dependencies inside of Chromedriver.
@@ -782,6 +927,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
782
927
  - Bumped Puppeteer to 1.15.0.
783
928
 
784
929
  # 1.5.0
930
+
785
931
  - New `/session` API (and accompanying routes) for display/viewing active sesions in a remote debugger(!).
786
932
  - New `?pause` query-param for pausing sessions prior to running them (useful for the live debug viewer).
787
933
  - The browserless debugger now exposes links to these debug pages via the sidebar.
@@ -790,11 +936,13 @@ browserless 2.0.0 represents the best body of work after running browserless for
790
936
  - No more `no-implicit-any`'s inside the codebase.
791
937
 
792
938
  # 1.4.0
939
+
793
940
  - During connection, we now set the download dir of REST and puppeteer sessions. Cloud users and docker users no longer have to manually set this field, and the `/workspace` API references it as well!
794
941
 
795
942
  # 1.3.1
796
943
 
797
944
  # Fixes
945
+
798
946
  - New deploy.js file to do deployments "on-prem"
799
947
  - Updated new builds for puppeteer 1.12.2 and 1.13.0
800
948
  - Fixes an issues in CORS handling
@@ -802,6 +950,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
802
950
  # 1.3.0
803
951
 
804
952
  # Minor changes
953
+
805
954
  - The `screenshot`, `function`, `pdf`, and `content` API's now accept new content-types for easier POSTing of small payloads (see docsite).
806
955
  - The `screencast` API can now start/stop recording programmatically via a `startScreencast` and `stopScreencast` params (see docsite).
807
956
  - New `external` dir for injecting custom `before` and `after` hooks in external docker builds.
@@ -809,6 +958,7 @@ browserless 2.0.0 represents the best body of work after running browserless for
809
958
  - New `requestInterceptors` for injection custom request behavior.
810
959
 
811
960
  # Fixes
961
+
812
962
  - Numerous default fixes in the APIs.
813
963
  - Stray consoles removed :)
814
964
  - Consolidated download behavior in `screencast` and `download` APIs
@@ -816,11 +966,13 @@ browserless 2.0.0 represents the best body of work after running browserless for
816
966
  # 1.2.0
817
967
 
818
968
  # Minor Changes
969
+
819
970
  - New `requestInterceptors` for the /screenshot API, [allowing you to mock data in response to a request](https://github.com/browserless/chrome/pull/119).
820
971
  - Code debugger now transmits code over-the-wire via cookies to avoid URL max-length issues.
821
972
  - Now supports cookie-based authentication via a `browserless_token=TOKEN;` cookie.
822
973
 
823
974
  # Fixes
975
+
824
976
  - [Comments in the debugger won't break it.](https://github.com/browserless/chrome/issues/118)
825
977
  - Requests that are rejected due to auth reasons aren't logged in stats.
826
978
 
@@ -829,11 +981,13 @@ browserless 2.0.0 represents the best body of work after running browserless for
829
981
  With 1.1.0 we offer a refined way of dealing with both downloads and uploads. Both use-cases are tightly coupled to the file-system, and can leave you scratching your head as to what's going one. For more information and detailed documentation, please refer to our doc-site at https://www.browserless.io/
830
982
 
831
983
  ## Minor Changes
984
+
832
985
  - New `WORKSPACE_DIR` variable for controlling where browserless stores files and uploads.
833
986
  - New `/workspace` API for doing RESTful operations on the downloads/uploads file-system.
834
987
  - New `/download` API for running a puppeteer-script, and responding with the resulting downloaded file.
835
988
 
836
989
  ## Internal Changes
990
+
837
991
  - Moved routes out of the browserless module and into their own file/module.
838
992
  - Renamed the `browserless-web-service` module to just `browserless` for simplicity.
839
993
  - Moved the `DOWNLOAD_DIR` to `WORKSPACE_DIR` since it handles both uploads and downloads.