Skip to content

Releases: hardkoded/puppeteer-sharp

v17.0.0

23 Apr 13:53
Compare
Choose a tag to compare

Breaking change

Hopefully these features are not that popular

What's new

  • Chrome 124
  • Introduce Page.SetBypassServiceWorkerAsync by @kblok in #2587
  • Introduce Frame.FrameElement by @kblok in #2602

What's Changed

  • Revert "Introduce protocol in launch options (#2578)" by @kblok in #2585
  • Make isIntersectingViewport work with SVG elements by @kblok in #2586
  • Make page.goBack work with bfcache in tab mode by @kblok in #2589
  • Ensure fission.bfcacheInParent is disabled for cdp in Firefox by @kblok in #2591
  • Update cookies object model by @kblok in #2592
  • [BREAKING]: Remove WaitForTimeoutAsync by @kblok in #2595
  • [BREAKING] Rename ClickCount to Count by @kblok in #2600
  • Remove NetworkServiceInProcess2 set by default by @kblok in #2601
  • [BREAKING] Deprecate Frame.Name and expose FrameElement by @kblok in #2602
  • Reduce memory allocations and use collection expressions in JSHandle by @IliaBrahinets in #2604
  • Reload should not resolve early on fragment navigations by @kblok in #2603
  • Query only unignored nodes by @kblok in #2606

New Contributors

Full Changelog: v16.0.0...v17.0.0

v16.0.0

03 Apr 15:47
174b8c7
Compare
Choose a tag to compare

Breaking changes

  • Request.Failure was renamed to Request.FailureText.
  • Request.RequestId was renamed to Request.Id
  • CloseReason, IsClosed and TargetType were removed from ICDPSession.

What's new

What's Changed

Full Changelog: v15.1.0...v16.0.0

v15.1.0

20 Mar 21:39
a740105
Compare
Choose a tag to compare

What's new

  • Roll chrome to 123.0.6312.58 by @kblok in #2511
  • Introduce RemoveExposedFunctionAsync and RemoveScriptToEvaluateOnNewDocumentAsync by @kblok in #2510

What's Changed

  • Support timeouts per CDP command by @kblok in #2500
  • Disable GFX sanity window for Firefox by @kblok in #2502

Full Changelog: v15.0.0...v15.1.0

v15.0.0

13 Mar 15:19
daffca3
Compare
Choose a tag to compare

What's epic!

Puppeteer Sharp is now using the new headless mode by default!
If you need to use the old headless mode, you can pass HeadlessMode = HeadlessMode.Shell into the LaunchOptions.
As part of this change, we will also download an extra Chrome browser, chrome-headless-shell by default, and use it for the old headless mode.

Breaking changes

  • Rename CreateIncognitoBrowserContextAsync to CreateBrowserContextAsync by @kblok in #2479
  • Deprecate IPage.Target and add IPage.CreateCDPSessionAsync by @kblok in #2480
  • Deprecate is incognito by @kblok in #2465

What's new

  • Roll to Chrome 122.0.6261.69 (r1250580) by @kblok in #2471
  • Add touchstart, touchmove and touchend methods by @kblok in #2468
  • Support closing workers by @kblok in #2484
  • Option for raw v8 script coverage by @kblok in #2487
  • Allow converting other targets to pages by @kblok in #2490

What's Changed

Full Changelog: v14.1.0...v15.0.0

v14.1.0

15 Feb 16:42
1ac233a
Compare
Choose a tag to compare

Important fix

  • Fix Chrome for testing download URL by @kblok in #2448

What's Changed

Full Changelog: v14.0.0...v14.1.0

v14.0.0

25 Jan 15:49
62f2091
Compare
Choose a tag to compare

Breaking changes

  • Hopefully, this is not a big deal. But IElementHandle.ScreenshotAsync(... ScreenshotOptions) was renamed to IElementHandle.ScreenshotAsync(... ElementScreenshotOptions) in #2376

What's New

You can now wait for a device prompt!

var promptTask = Page.WaitForDevicePromptAsync();
await Task.WhenAll(
    promptTask,
    Page.ClickAsync("#connect-bluetooth"));

var devicePrompt = await promptTask;
await devicePrompt.SelectAsync(
    await devicePrompt.WaitForDeviceAsync(device => device.Name.Contains("My Device")).ConfigureAwait(false)
);

Now you can use AddRequestInterceptor instead of the Request page and give the ContinueAsync, AbortAsync and RespondAsync different priorities.

Page.AddRequestInterceptor(request =>
{
    if (request.Url.EndsWith(".css"))
    {
        var headers = request.Headers;
        headers["xaction"] = "continue";
        return request.ContinueAsync(new Payload() { Headers = headers, }, 4);
    }
    return request.ContinueAsync(new Payload(), 0);
});

Page.AddRequestInterceptor(request =>
{
    if (request.Url.EndsWith(".css"))
    {
        Dictionary<string, object> headers = [];
        foreach (var kvp in request.Headers)
        {
            headers.Add(kvp.Key, kvp.Value);
        }
        headers["xaction"] = "respond";
        return request.RespondAsync(new ResponseData() { Headers = headers, }, 2);
    }
    return request.ContinueAsync(new Payload(), 0);
});

AddRequestInterceptor will ensure that these new async listeners are executed one after the other.

Full Changelog: v13.0.2...v14.0.0

v13.0.2

05 Dec 21:49
13d6704
Compare
Choose a tag to compare

What's Changed

  • fix: update TextQuerySelector cache on subtree update by @kblok in #2365
  • Update chromium flags by @kblok in #2364
  • fix: add InlineTextBox as a non-element a11y role by @kblok in #2366
  • Fix browser check in Page.ScreenshotAsync by @kblok in #2373

Full Changelog: v13.0.1...v13.0.2

v13.0.1

22 Nov 16:19
dca5bfc
Compare
Choose a tag to compare

What's Changed

  • Restore BrowserFetcher.GetExecutablePath by @kblok in #2363

Full Changelog: v13.0.0...v13.0.1

v13.0.0

22 Nov 13:27
d5caa54
Compare
Choose a tag to compare

Breaking changes

We have a few more breaking changes in our effort to catch puppeteer.

  • FileChooser.Cancel was renamed to CancelAsync, and it's not Async by @kblok in #2336
  • New options on CreateIncognitoBrowserContextAsync to pass proxy settings. by @kblok in #2346
  • Worker was renamed to WebWorker by @kblok in #2356
  • IExecutionContext.QueryObjectsAsync was removed by @kblok in #2356
  • IFrame.GetExecutionContextAsync was removed by @kblok in #2356
  • IJSHandle.ExecutionContext was removed by @kblok in #2356

What's New

  • Update Chrome to 119.0.6045.105 by @kblok in #2354
  • Introduce screenshot optimize for speed option by @kblok in #2330
  • Expose SessionAttached and SessionDetached events by @kblok in #2334
  • Add tagged (accessible) PDFs option by @kblok in #2347
  • Add IsVisibleAsync and IsHiddenAsync by @kblok in #2349

What's Changed

Full Changelog: v12.0.0...v13.0.0

v12.0.0

25 Sep 12:22
a2a0f9c
Compare
Choose a tag to compare

New Browser Version

Chrome version is now 117.0.5938.62

Breaking change.

Small breaking change. But as it's a breaking change, we need to bump major. LaunchOption.TargetFilter now expects a Target instead a TargetInfo.

What's Changed

  • Introduce Target initialization status by @kblok in #2318
  • BREAKING: Use target for filters by @kblok in #2319
  • Separate target init from construction by @kblok in #2320
  • Expose DevTools as a target by @kblok in #2321
  • Remove Microsoft.AspNetCore.WebUtilities dependency by @kblok in #2324
  • Add --disable-search-engine-choice-screen to default arguments by @kblok in #2325
  • Roll to Chrome 117.0.5938.62 (r1181205) by @kblok in #2327

Full Changelog: v11.0.6...v12.0.0