News for hackers. Stuff that matters.
Re:V8 Release v9.4 by vaughan on Monday September 06, 2021 @03:55PM (#28437341)
It's driven by library developers wanting to prevent access to internals. I was annoyed by it initially because I love poking around in internals and it makes it easy to add missing functionality or fix bugs, but I can kind of understand from popular library maintainers.

If Bar depends on a private internal of Baz, and Foo depends on Bar, then if Baz publishes a patch version that changes an internal to fix a bug, Bar breaks, and so does Foo.

Re:V8 Release v9.4 by nicoburns on Monday September 06, 2021 @04:44PM (#28437883)
I think React have the right approach. If something isn't part of the committed to public API, then it's named `__unstable_foo`. Consumers of the library are free to use them, but they can and will change at the whim of the maintainers regardless of any stability guarantees that the library usually provides.

This allows advanced consumers to tinker where they need to and are prepared to take on the maintenance while leaving potential complainers no leg to stand on if the API changes.

Re:V8 Release v9.4 by ectopod on Monday September 06, 2021 @03:58PM (#28437390)
Can't you already hide your implementation details using a closure?
Re:V8 Release v9.4 by kccqzy on Monday September 06, 2021 @04:35PM (#28437782)
Yes you can. But few libraries actually do that.