Releases: hardkoded/puppeteer-sharp
Releases · hardkoded/puppeteer-sharp
v1.8
New Features
- 339c7dc Roll Chromium to r588429.
New APIs
- e2b9191 TaskEvaluateFunctionAsync and TaskEvaluateFunctionAsync.
- 7b5cb82 BrowserContext.OverridePermissionsAsync.
- 7b5cb82 BrowserContext. ClearPermissionOverridesAsync.
- 7b5cb82 Page. SetGeolocationAsync.
- c01a17e NavigationOptions.Referer.
- 79fe9e0 Response.RemoteAddress.
- ad30cf5 Response.StatusText
Changelog
- 5214cef Fix null-type bugs.
- 157cba4 Improve PdfOptions documentation.
- a3339a7 Create Request class right away from payload.
- 085ff89 Drop object factory from execution context.
- 460d905 Page.goto should properly handle historyAPI in beforeunload.
- cf1500f New ResourceType.Ping.
- 419a3a8 Launch with Environment Variables.
v1.7
New Features
- e2c114c Typing emojis.
- 1f3e60c Bump Chormium to r579032.
- f6c6776 Page.ClickAsync should work with disabled javascript
New APIs
- 6a0bdf1 New PdfOptions.PreferCSSPageSize option.
- 5f22946 Page.GoToAsync(string url, WaitUntilNavigation waitUntil).
- 583b240 LaunchOptions.DefaultViewport - ConnectOptions.DefaultViewport
- 583b240 LaunchOptions. IgnoredDefaultArgs
- 583b240 Puppeteer.DefaultArgs().
- 61a6a27 BrowserContext.PagesAsync().
- dd101a7 Make WaitTaskTimeoutException public.
- 0286563 Extension improvements: ElementHandle.EvaluateFunctionAsync and JSHandle.EvaluateFunctionAsync.
Breaking Changes
- 583b240 Dropped LaunchOptions.AppMode - ConnectOptions.AppMode
Changelog
v.1.6.2
v1.6
New Features
- a2482c8 Support thrown strings and numbers in getExceptionMessage.
- 93ea816 Implement PageError event from a worker.
- 69321c0 Click wrapped links support.
- 36d39a1 Add an option to collect coverage of anonymous scripts.
- 050325b ElementHandle.IsIntersectingViewportAsync and Offsetclicks.
New APIs
- cb6cf77 Page.WaitForRequestAsync and Page.WaitForResponseAsync.
Breaking Changes
- 6162974 Remove throw in case of empty elementHandle.
- 7b2707a EvaluateFunctionAsync and EvaluateFunctionAsync now will throw and EvaluationFailedException.
Changelog
- 6640f5d Roll Chromium to r571375.
- 04fa70f Migrate exposeFunction from console.debug to Runtime.installBinding.
- 73f515d Don't pass a reference to the page into frames.
- 59f9f3c Simplify EmulationManager.
- c781283 Clarify docs about waitForNavigation.
- 000dc19 Add new error reasons for request.abort().
- b4ca3f4 Fix random tests flakiness.
- acceb52 Test that verifies pptr works with SVG nodes.
- 7b2707a Nicer protocol error messages.
- f2e27c7 Add support for target.page for 'backgroud_page'.
- a3f4175 New devices.
- 18adf78 Fix race condition in WaitTask.
- fb4cf11 Make Payload constructor Public.
- fb4cf11 Fix ContinueAsync payload override.
v.1.5
New Features
New APIs
- 07cdbd8 Target.Opener.
- aa6470f Request.IsNavigationRequest.
- 1de769f Page.IsClosed.
- d2abe29 Change accessibilty on Payload.
- c4b876a Page. ScreenshotBase64Async and ElementHandle.ScreenshotBase64Async.
- 3298bd4 ElementHandle.QuerySelectorAllHandleAsync.
- 25bc019 CDPSession.TargetType.
- 25bc019 Page.WorkerCreated.
- 25bc019 Page.WorkerDestroyed.
- 25bc019 Page.Workers.
Breaking Changes
- 7490355 Disable crash reporting by default.
- f8b5ff5 Added .ConfigureAwait(false) to each await.
- e510b19 Change ScreenshotOptions.Quality type.
- 25bc019 Dropped CDPSession.TargetId.
- 25bc019 Dropped ExecutionContext.FrameId.
- 25bc019 Dropped ExecutionContext.IsDefault.
Changelog
- 709cefd Chromium updated to r564778.
- 7ef326b Update PuppeteerSharp.Tests packages versions.
- 1f0ecbf Launch browser with 'about:blank' by default.
- 9ad9de3 Respect timeout 0 in Page.waitForFunctionAsync.
- cdb4c88 Add a missing test for elementHandle.
- f19813b Pass through "background_page" types.
- c918744 Ensure first page is created when browser is launched.
- 31ad5b0 Improve access to files to use true asynchronous methods.
- 67ac040 Add test that validates that pages open with userDataDir arg.
- 539a4cf Normalize scrollbars in headful tests.
- def5803 Disable OOPIF by default.
- eb0a322 Not pass user options to browser constructor.
- c043062 Verify ignoreHTTPSErrors works with puppeteer.ConnectAsync.
- 521ec40 Update ConsoleType.
v1.4
New APIs
Minor changes
- b1f108b Rolled Chromium to r555668.
- 1ca3e70 Status 204 support.
- 21daa2d Report 'Log' domain entries as 'console' events.
- b187eb1 Verify file url interception works as expected.
- 8e62366 DownloadAsync should return revision info even if the revision was already downloaded.
- 5b66364 Allow user gesture restricted code to be run in Page.EvaluateExpressionAsync.
- 1a86165 Add pixel2/pixel2 xl.
- c39f625 Add explanation to page.waitForNavigation.
- 60c2c0e ElementHandle EvaluateFunctionAsync examples.
v1.3
New Features
New APIs
- 3e985c5 Page.SetBypassCSPAsync
- 64a2b19 Page.WaitForExpressionAsync
- 64a2b19 Frame.WaitForExpressionAsync
- 0f328c5 ElementHandle.BoxModelAsync
- ee41463 Page.Close event
Breaking Changes
- 079273d ConnectOptions.KeepAliveInterval and LaunchOPtions.KeepAliveInterval were marked as obsolete because Chromim doesn't support pings yet (see: https://bugs.chromium.org/p/chromium/issues/detail?id=865002)
- ff30f2a ScreenshotOptions.Type is now an enum
Changelog
- c99a35d Add an option to disable timeout for WaitForFunctionAsync
- cd5f9ed Tracing.StopAsync now returns a string with the trace data.
- 8bfb4d4 ViewPortOptions.DeviceScaleFactor, IsLandscape and HasTouch now has a public setter.
- 1497c79 Page.waitForNavigation handle mixed content correctly.
- 011908d Explicitly throw on content request for redirect response
- 0e581d8 Consume protocol errors when initiating browser.close()
v1.2
New Features
- New RequestChain property
- Chromium updated to r543305
New APIs
- ccf6e01 Request.RedirectChain
- 21ad44f ElementHandle.ContentFrameAsync
- https://github.com/kblok/puppeteer-sharp/commit/5323e8f647f9405e08247f915cc18d5cd7745c58 AddTagOptions.Type. Allowing the user to declare script tags (using Page.AddScriptTagAsync) as modules.
Changes
v1.1
New Features
- New Chromium version r536395
- Service workers support
- Cache Support
- New WaitFor options
- New BrowserFetcher utility
- Dump IO implementation
New APIs
- Page.SetCacheEnabledAsync
- Page.DOMContentLoaded
- Page.WaitForXPathAsync
- ResponseData.FromServiceWorker
- ExecutionContext.Frame
- Frame.EvaluateExpressionHandleAsync
- Frame.EvaluateFunctionHandleAsync
- Frame.WaitForSelectorAsync
- Frame.WaitForXPathAsync
- Frame.WaitForSelectorOrXPathAsync
Breaking Changes
Downloader changes
The Downloader
class was renamed to BrowserFetcher
. BrowserFetcher
has the following API:
- DefaultRevision
- DownloadsFolder
- DownloadHost
- Platform
- DownloadProgressChanged
- CanDownloadAsync(int revision)
- LocalRevisions()
- Remove(int revision)
- RevisionInfo(int revision)
- DownloadAsync(int revision)
- GetExecutablePath(int revision)
- GetExecutablePath(Platform platform, string folderPath)
If you were using Downloader
like this:
await Downloader.CreateDefault().DownloadRevisionAsync(chromiumRevision);
It should be changed to :
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
Puppeteer.LaunchAsync breaking change
In order to simplify the API, the revision argument was removed from the LaunchAsync
method. So this piece of code:
Puppeteer.LaunchAsync(launcherOptions, Downloader.DefaultRevision);
Should be changed to:
Puppeteer.LaunchAsync(launcherOptions);
If you need to launch Puppeteer using another revision you should handle that using the ExecutablePath
option:
var myRevisionInfo = await new BrowserFetcher().DownloadAsync(myRevision);
var browser = Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true,
ExecutablePath = myRevisionInfo.ExecutablePath
});
v1
The day has come. Puppeteer Sharp is fully compatible with Puppeteer V1!
New Features
- Request.RespondAsync support.
- CSS and JS Coverage.
- Request Interception.
New APIs
- Request.RespondAsync
- Page.Coverage.StartJSCoverageAsync
- Page.Coverage.StopJSCoverageAsync
- Page.Coverage.StartCSSCoverageAsync
- Page.Coverage.StopCSSCoverageAsync
- Page.ScreenshotDataAsync
- Page.PdfDataAsync
- Page.SetRequestInterceptionAsync
- Page.GoBackAsync
- Page.GoForwardAsync
- Page.QueryObjectsAsync
- ElementHandle.ScreenshotDataAsync
- ElementHandle.PdfDataAsync
- Browser.WebSocketEndpoint
- Browser.Process
Namespace Changes
- PuppeteerSharp.ClickOptions => PuppeteerSharp.Input.ClickOptions
- PuppeteerSharp.Key => PuppeteerSharp.Input.Key
- PuppeteerSharp.Keyboard => PuppeteerSharp.Input.Keyboard
- PuppeteerSharp.KeyDefinition => PuppeteerSharp.Input.KeyDefinition
- PuppeteerSharp.KeyDefinitions => PuppeteerSharp.Input.KeyDefinitions
- PuppeteerSharp.Mouse => PuppeteerSharp.Input.Mouse
- PuppeteerSharp.MouseButton => PuppeteerSharp.Input.MouseButton
- PuppeteerSharp.MoveOptions => PuppeteerSharp.Input.MoveOptions
- PuppeteerSharp.PressOption => PuppeteerSharp.Input.PresspPtions
- PuppeteerSharp.Touchscreen => PuppeteerSharp.Input.TouchScreen
- PuppeteerSharp.Clip => PuppeteerSharp.Media.Clip
- PuppeteerSharp.MarginOptions => PuppeteerSharp.Media.MarginOptions
- PuppeteerSharp.MediaType => PuppeteerSharp.Media.MediaType
- PuppeteerSharp.PaperFormat => PuppeteerSharp.Media.PaperFormat
- PuppeteerSharp.ScreenOrientation => PuppeteerSharp.Media.ScreenOrientation
- PuppeteerSharp.ScreenOrientationType => PuppeteerSharp.Media.ScreenOrientationType
- PuppeteerSharp.DeviceDescriptor => PuppeteerSharp.Mobile.DeviceDescriptor
- PuppeteerSharp.DeviceDescriptors => PuppeteerSharp.Mobile.DeviceDescriptors
- PuppeteerSharp.DeviceDescriptorName => PuppeteerSharp.Mobile.DeviceDescriptorName