in ,

What is New in Version 1.0 · isomorphic-git, Hacker News

What is New in Version 1.0 · isomorphic-git, Hacker News

Today marks the release of isomorphic-git version 1.0! 🎉 There are a lot of big improvements to celebrate.

A number of other changes, such as returning

(Uint8Array) instead of (Buffer) , were done to pave the way for future refactoring. The size of the library can be shrunk significantly if we drop the Buffer polyfill dependency. Plus, Webpack 5 reportedly won't provide node polyfills automatically.

As always, all the functions are async and take named arguments, which makes adding new features without breaking old ones easy! I'm a huge fan of this pattern, and I think it's been very successful.

It is safe to say that the API for isomorphic-git will remain backwards compatible and have no breaking changes for at least a year, possibly two or three. Because I want you to always be able to upgrade to the latest and greatest version of isomorphic-git without having to change any of your code.

Except for today. Today, we are making breaking changes because it is a major release.

()

A HUGE THANK YOU to everyone

And an even bigger thanks to Everyone who contributed directly

! Seeing other people help improve the codebase has warmed my heart. And seeing your bug reports at least lets me know it is getting lots of use!

I'd like to thank a couple corporations, particularly Cardstack CleverCloud , and Antora .

Lastly, I'd like to thank Stoplight, Inc for hiring me and letting me work on isomorphic-git sometimes as part of my regular day job! Everyone has benefitted from the bugfixes, perf, and usability enhancements that have resulted from our using isomorphic-git in our world-class API designer, Stoplight Studio.

1.0 Breaking Changes
  • The supported node & browser versions have been bumped. (See beautiful table above.)
  • The plugin system has been eliminated and we're back to plain old dependency injection via function arguments! The plugin cores created a mysterious "global state" that makes it easy to trip up (I myself sometimes forgot to unset plugins after running tests). The old style of passing
fs

as a function argument was less aesthetic and more verbose, but it is a much simpler model than the plugin core model, and much safer because it makes it impossible for dependencies to accidentally share the default plugin core.

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *

GIPHY App Key not set. Please check settings

Join The Best Team in Video Tech | Mux, Hacker News

Join The Best Team in Video Tech | Mux, Hacker News

Hong Kong’s financial watchdog launches crypto exchange crackdown