Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

browserless v2.0.0 #3345

Merged
merged 110 commits into from
Oct 30, 2023
Merged

browserless v2.0.0 #3345

merged 110 commits into from
Oct 30, 2023

Conversation

joelgriffith
Copy link
Collaborator

@joelgriffith joelgriffith commented Jul 5, 2023

October 30th we'll cut the final tag of V1 and merge this V2 branch into master.

We started browserless nearly 6 years ago, with the goal of making the web an API for developers. In those 6 years we've seen a ton of development and proliferation of use-cases... more than you can possibly imagine! Thanks to the community for helping us push this forward from a solo side project to a full-blown business!

In those 6 years a lot has change in the ecosystem and community. We've been silently rebuilding browserless in the background to better conform to these changes. This PR introduces those changes into this repo. For the full list of why's and what's, see here.

In short, this rewrite introduces:

  • A new framework for routing both WebSocket and HTTP routes so we can introduce library-specific routes.
  • The beginnings of a Node SDK so you can write and extend all the parts of browserless for yourself.
  • Support the big three browsers!
  • Runtime TypeScript type checks for REST APIs with a dev-time compilation step.
  • Moving the /function API to run in the browser's context and not Node's for better security posture.
  • Numerous breakages, mostly in the docker environment variables, notably: KEEPALIVE and PREBOOT are removed due to the fact that they introduce more unintentional behavior than they help. Don't worry, we have stuff to replace them soon.

There's a lot we need to do before we can merge this into mainline, here's the list:

  • Add LICENSE.md file.
  • Verify API symmetry as much as possible.
  • Port REST API tests over to this repository.
  • Port WebSocket tests over to this repository.
  • Add GitHub Actions for tests.
  • Update docker builds.
  • Document breaking and minor changes.
  • Add Webhook Support.
  • Add Webkit and Mozilla.
  • Final Dependency Updates.
  • Full documentation update to incorporate 2.0 changes.

Don't worry, we'll keep old browserless around at least until 2024 to give folks plenty of time to migrate. Our intention is to make the rewrite worth the slight effort of upgrading. We haven't had any breaking changes since starting the project 6 years ago, so we have a history of being respectful of your development workflows. Everything with browserless 2.0 will be marked as such so you can be sure there's no unintentional breakages until then.

Your feedback is crucial and important! We'll monitor this PR for a while for feedback, but your best bet on giving us feedback is here. Thanks!

@joelgriffith
Copy link
Collaborator Author

Alright, V2 Package now available on https://github.com/orgs/browserless/packages!

@joelgriffith joelgriffith merged commit 55dd7c9 into master Oct 30, 2023
7 checks passed
@joelgriffith joelgriffith deleted the feat/v2.0.0 branch October 30, 2023 23:19
@ps-jessejjohnson
Copy link

Congrats! Nice work 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants