Last report of 2018! No, I won’t get emotional. Let’s go to the facts (cries a little bit thinking about December).

We launched v1.10 during November. Every time I say “and we caught Puppeteer” they release a new version at the very next day, so I won’t say that. But November wasn’t only about v1.10.

Examples Section

As I mentioned in our previous report, Bilal Durrani stepped into the project and helped us build an Examples section.

yeah

This is the first step, but I hope this section to grow a lot in the future.

Concurrency improvement

PR 720 was quite hard to pull off. However, we managed to improve a lot our code, and now we have better concurrency support and error handling.

CamelCase the world

When you read PR 769, you might think: “Why didn’t you do that the very first time?”. You know the way projects grow, you have to prioritize and try to move on. Now the code is way cleaner without all those JsonProperty attributes.

Better ASP.NET Full Framework support

We launched PuppeteerSharp.AspNetFramework . This library provides a new IConnectionTransport called AspNetWebSocketTransport, which uses HostingEnvironment.QueueBackgroundWorkItem instead of Task.Run, which is something we shouldn’t use in ASP.NET. If you are launching PuppeteerSharp on ASP.NET Full Framework you should pass this connection transport to PuppeteerSharp:

using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions()
            {
                Headless = true,
                Transport = new AspNetWebSocketTransport()
            }).ConfigureAwait(false)) 

What’s next

Puppeteer v1.11 was released a few days ago. We made good progress there. I hope we can ship it next week.
There are some code debt that it would be great if we can make some progress: Review ContinueWith usage, use cancellation tokens, among many others.

Activity

  • Repository Stars: 340 (prev. 300) +13%
  • Repository Forks: 61 (prev. 56) +8%
  • Nuget downloads: 26856 (prev. 20822) +29%

Contributors

Bilal Durrani pushed 5 PRs. He did a great job implementing Browser.WaitForTargetAsyc.

Final Words

I’m looking forward to getting more feedback. Having real-world feedback helps us a lot. The issues tab in GitHub is open for all of you to share your ideas and thoughts. You can also follow me on Twitter @hardkoded.

Never stop coding!

Previous Reports