Bun support is now limited and deprecated

(github.com)

150 points | by tamnd 2 hours ago

19 comments

  • johnfn 11 minutes ago
    This decision seems to based more in politics than engineering. Have you observed Bun have more segfaults, OOMs, etc, since the Rust rewrite? Have you noticed more security vulnerabilities? Have you seen more bugs? (Of course you haven't, the rewrite hasn't even landed yet.) It seems that you are making this decision because you get a bad feeling when thinking about AI involvement.

    I don't select my engineering tools because they give me a bad feeling - I select them because they do the thing I want them to. If Bun starts having more bugs and feeling like worse software, I'll stop using it. But I will base that on data -- not a feeling I have. Jarred has done a lot of impressive stuff with Bun, and it seems unlikely he would ship this rewrite if it didn't meet his quality bar - I am willing to see him out here.

    • GGO 4 minutes ago
      If you wait for more segfaults, OOMs and other issues, than you have failed to avoid the problem. In my opinion this direction is correct and history will show who's right.
    • lynndotpy 4 minutes ago
      [delayed]
    • leobuskin 6 minutes ago
      absolutely, and `its development seems to have taken a turn towards being fully vibe-coded` ungrounded claim confirms the hysteria, I'm afraid
      • cizezsy 3 minutes ago
        What are you afraid of?
  • hootz 1 hour ago
    Oh well, I really like using Bun and I get kinda sad about the turn they are taking after the Anthropic acquisition. I really want a good Node with batteries included, but I don't want it vibe coded.
    • torben-friis 12 minutes ago
      Have there been any significant issues caused by the vibecoded translation?

      To be clear, I'm not implying support for the merge. I am against this whole YOLO approach to engineering. Just curious how the switch is going since I haven't seen any news since the merge announcement.

      • 827a 1 minute ago
        IMO the source of the new code is less important than the sheer volume of it. Bun does not need to be entirely rewritten; certainly not over a period of a week, possibly not even over a period of a year. Stability is hard-fought and battle-tested. Everyone has a plan until they get punched in the face; and every repository has passing tests until it runs production code.
      • happytoexplain 11 minutes ago
        It's too early. It might be too early forever.
    • garbagepatch 15 minutes ago
      According to the bun team, it was already vibecoded for months before the Anthropic acquisition.
    • LoganDark 38 minutes ago
      I think it's hilarious how hopeful people were at the acquisition that Bun would be able to continue on mostly as it had been but then that all got completely thrown away and trashed.

      (Hilarious in the way that's terribly sad, of course.)

      • abnercoimbre 34 minutes ago
        It usually takes years for someone's values to be thrown out the window! How long was this one?
        • em-bee 26 minutes ago
          changing your employer tends to accelerate that if the new employer has different values.
      • vosper 33 minutes ago
        How has it been trashed? Does the Bun software not work anymore?
        • tedivm 25 minutes ago
          They literally threw out every line of code that existed before and rewrote it in a completely different language, seemingly on a whim. That's how it was trashed, in the very literal sense that all of the existing project was tossed in the trash in favor of a completely brand new code base. That's a big deal even if you ignore the coding agent aspects.
        • happytoexplain 27 minutes ago
          >Does the Bun software not work anymore?

          Nobody knows.

    • colordrops 26 minutes ago
      Unless specific issues have been identified that were introduced by it being "vibe coded", isn't a reaction to reject it outright without actually checking the ground truth just exhibiting the behavior you are criticizing?
      • hootz 23 minutes ago
        It's just a trust issue. Have you seen the absolute state of the Claude Code CLI development? I don't want that to suddenly happen to Bun after I've already used it for production stuff.
      • layer8 8 minutes ago
        The ground truth is that the new maintainers can’t possibly have a good understanding of the many millions of lines of vibe-translated code. Even assuming that the code happens to work okay in its current state, the lack of understanding means a high risk that its continuing maintenance won’t result in a satisfactory level of reliability.
      • gpm 24 minutes ago
        I don't see any hypocrisy in the comment you are criticizing. The behavior they are criticizing appears to be vibe coding. How is rejecting something for being vibe coding "exhibiting the behavior" of vibe coding?
      • swatcoder 15 minutes ago
        In a million line code base, its infeasible to check ground truth. That's the point.

        Anthropic took a mature and trusted project, threw it in a blender, and served the sloppy mess back out to the public.

        Who would want their project to be held responsible for the million lines of code that even its vendor can no longer vouch for.

        Maybe the new code will prove itself to be mature and worthy again someday, but that's going to take a long time and a lot of eyes. It's now completely reasomable to just move on from the project until that happens.

      • happytoexplain 13 minutes ago
        You want the yt-dlp authors to review the entire post-migration Bun codebase?

        And what are you referring to as "behavior"?

      • majormajor 13 minutes ago
        I'm not sure what "exhibiting the behavior you are criticizing" would even mean here.

        BUT.

        "Ignore anything but actual problems" is a terrible stance to take generally for software and dependency selection. Incidents are fairly sparse, process is much easier to observe. So if you can find connections between process and incident possibility, that's a very reasonable heuristic. And it's easy to find examples of overaggressive LLM usage introducing problems into software.

  • maxloh 49 minutes ago
    I understand their decision. How could the maintainers understand their codebase if most of it was not directly written by them?

    It is impossible to review the entire rewritten codebase. There are just too many lines of code, 1 million lines to be exact [1].

    [1]: https://github.com/oven-sh/bun/pull/30412

    • nkmnz 3 minutes ago
      So it was possible to write ~2 million lines of (mostly) zig, but it's not possible to review ~1 million lines of rust, even though the same test suite included in those 2 million lines of zig can still be used? I'm not convinced the rewrite is a good idea and will work out, but I'm equally unconvinced by your argument.
    • sroussey 17 minutes ago
      I don’t think changing from zig to rust suddenly means that don’t know what a certain file contains or how it works or how it relates to other files.

      It’s all the same just different syntax. Which, by the way, is why it looks ugly to rust developers. The devs wanted the code to look familiar to them.

      I do think they should have called this 2.0 though. Would not feel such a rush (1.3.14 has a few regressions, and no one really cares because there are lots of small rust fires now).

      Overall, the bigger issue is that bun chases shiny objects. But never finishes. Just look at test stuff. Most of vistest, but not all. Most of jest, but not all. Most of pnpm, but not all. Now we have image stuff, so most of sharp, but not all. dev server? Most of vite, but you guessed it… not all. Long running process… mostly like node but with memory leaks (and a motivation for rust I’m sure).

      When I saw them posting about the Image routines my heart sank. Another shiny object. Coincided with test bugs so I moved to vitest completely.

    • trollbridge 46 minutes ago
      Right. I now have responsibility for rather large codebases where the person who generated it with agentic tools (I'd say it's better than pure 'vibe coding') barely understands how it works. This is okay for unimportant parts of the codebase, but completely unacceptable for a critical piece of infrastructure where it really needs to be well thought out.
    • thatxliner 21 minutes ago
      it's funny how the readme still says "written in Zig"
  • tln 10 minutes ago
    This is about the rust conversion but that has not been released.

    > Due to foreseeable compatibility and security issues

    Hmm, Zig bun crashes plenty.

    I wish yt-dlp linked to detail on why there are foreseeable compatibility issues. Both projects have test suites, in an ideal world they would allow fast rewrites. Maybe they want to limit inflaming the situation, but if they have spotted some specific issues it would be good to see.

    I hope Bun.rs is 1.4 or even 2.0 and not a minor release, with some alpha/beta releases.

  • adamtaylor_13 4 minutes ago
    We desperately need some new terminology to describe using LLMs to support development work. "Vibe code" has a strict definition but no one really cares. I have a really hard time believing that the Rust port was 100% "vibed" the way the original definition was laid out.

    It's a big slushy of emotions that I understand (both positive and negative) but it makes it so hard to actually tells what problem someone actually has when they just use "vibe coding" as a general LLM usage slur.

    I'm using LLMs to assist my development and I'm measurably (in all the ways we engineers could possibly care about) doing better work faster.

  • insanitybit 2 minutes ago
    They foresee potential issues in the future, so they deprecate now? I mean, whatever lol do as you like, but that's an odd choice.
  • apitman 41 minutes ago
    Say what you will about Rust vs Zig as languages, the Zig toolchain is definitely the easier of the two to integrate into another project.
    • josephcsible 37 minutes ago
      This doesn't really have anything to do with the merits of the languages themselves, but rather with the rewrite being entirely vibe coded. If it had been from Rust to Zig instead of from Zig to Rust, I expect the exact same response would have happened.
  • fastball 56 minutes ago
    The "to vibe code or not to vibe code" holy war is now in full swing.
    • nh23423fefe 17 minutes ago
      war implies "not vibe code" could win. that's impossible
  • thot_experiment 31 minutes ago
    I assume they need to do a bunch of WebAPI bullshit to get around Youtube's draconian policies, but maybe one day https://txikijs.org/ will solve all problems with embedding javascript. I believe, and maybe the strength of my belief will be enough.
  • umvi 49 minutes ago
    Honestly I hope agentic AI ushers in a new age of minimal-SBOM software. I myself am moving all of my projects towards nearly 100% vanilla where possible. For example, golang. Why use [insert web framework] when you can just use vanilla for 99% of web apps?

    There's something really satisfying about a go binary with minimal dependencies running in a busybox docker container.

    • xmodem 30 minutes ago
      Rather than have complexity centralised and managed, let's generate the same vulnerable code across millions of apps. Great plan.
    • josephcsible 34 minutes ago
      Wouldn't that be worse? With dependencies, it's at least possible that someone else has audited the code, but with a vibe-coded from scratch app, it's definitely totally unreviewed.
      • Kiro 24 minutes ago
        You only add what you need instead of importing some bloated dependency. That means you can actually review the code yourself.
        • wizzwizz4 8 minutes ago
          Relevant reading: https://nesbitt.io/2026/02/16/changelog.html

          > Removed: mathjs dependency. 14MB, 200+ functions. Twelve functions used. Added: Custom math utilities module (src/math-utils.js). Addition, subtraction, multiplication, division, a handful of trig functions. Co-authored-by: chatgpt. Changed: Bundle size reduced by 68%. Build time down from 12s to 4s. Module: 47 lines across 1 file. 0 tests. 0 dependencies.

    • echelon 46 minutes ago
      Frameworks and ORMs were the pre-agentic AI "iron man suit".

      I'm quite liking how good Claude Code Opus is at Rust + sqlx (raw SQL with type safety) + actix-web.

  • cabernal 41 minutes ago
    there could be recommended runtimes, but shouldn’t the runtime be user-configurable anyway?
    • layer8 34 minutes ago
      There is no generic “JavaScript runtime” interface that runtimes would implement, therefore support must be tailored to the specific interfaces of existing runtimes.
      • sheept 28 minutes ago
        At one point we had UMD[0], which effectively provided runtime-agnostic interface, but ES modules were incompatible with that.

        Deno and Bun have decent Node compatibility, so couldn't Node APIs be used as the generic runtime interface?

        [0]: https://github.com/umdjs/umd

    • rob 32 minutes ago

         --js-runtimes [deno|node|bun|quickjs]
      • sroussey 14 minutes ago
        There is another by Meta for react native. Forgot the name.
  • satvikpendem 51 minutes ago
    As long as Deno support is still there I'm not sure why you need anything else. It's not vibe coded slop for one.
  • meindnoch 21 minutes ago
    Good news!
  • antonvs 1 hour ago
    Reason #2 is purely speculative. It’s disappointing to see technical decisions being made on such grounds.
    • smlavine 55 minutes ago
      All dependency management is speculative. You've got to hedge your bets that the dependency is reliable and fit for purpose. It is reasonable to view Bun's recent choices as increasing the risk associated with depending on it.
      • popinman322 43 minutes ago
        Very much agree. Until the vibe-coded version has been fully audited and profiled to perform, within reasonable tolerances, as well as the original code base, it feels like a bad idea to support it downstream or use it in production.
        • happytoexplain 34 minutes ago
          Yes, but only if auditing includes an exhaustive human review of the code, not just passing the tests we (or an AI) thought to write.
        • layer8 23 minutes ago
          Even if it performs reasonably, it may still be unmaintainable, meaning that any future changes are likely to introduce bugs and instabilities. At the present state of AI coding it’s completely understandable not wanting to depend on code that the maintainers have no good understanding of. The code auditors would have to become the maintainers.
        • gpm 34 minutes ago
          I'd hope that the bun team is going to put into the work to ensure the LLM translated version is up to snuff before cutting a release from it though... it doesn't seem fair to assume that that isn't going to happen.
    • happytoexplain 51 minutes ago
      It's a common fallacy among tech folks to believe that every decision can be made from 100% deterministic grounds ("X decision will result in Y percent change"). In reality, successful decision-making often involves speculation. The speculation in question is within the bounds of reason. You may disagree, but the fact that it is speculative isn't the problem.
      • dgellow 17 minutes ago
        And not acting while doing the whole analysis to reach close to 100% deterministic grounds mis a decision in itself! It’s perfectly reasonable to drop support for bun, and potentially revisit later on when more details come up
    • malfist 56 minutes ago
      What part of the recent history of vibe coded projects has not resulted in low quality, bug laden code? Dismissing this a "purely speculative" is just like dismissing the weather report as "purely speculative" when deciding what to wear in the morning.
      • jhack 38 minutes ago
        Low quality, bug laden code has existed long before LLMs and it'll continue to exist long after. Their rationale about avoiding future headaches could literally apply to any open source project they have a dependency on.
        • happytoexplain 33 minutes ago
          The existence of bad code doesn't mean you should be happy to accept it.
      • cortesoft 45 minutes ago
        There is quite the selection bias going on here... you aren't hearing about the successful projects.
        • Dylan16807 41 minutes ago
          People love to brag about using AI to get work done. If anything I expect the successful projects to be overrepresented.
        • dawnerd 41 minutes ago
          Care to list them then? I have yet to see a successful vibe coded project
        • add-sub-mul-div 40 minutes ago
          With all the unprecedented investment and desperation behind it, these hypothetical LLM successes would be getting shoved down our throats.
        • asadotzler 10 minutes ago
          We're only hearing about the failed projects? I call BS. Precisely the oppositee is both true and obvious if you're not a shill. The "successful" ones are being trotted out all the time trying to convince us how great it is. If anything, we're not hearing about all the catastrophic and costly failures while the cherry-picked almost successes are all over this platform and others.
      • nekzn 40 minutes ago
        Doesn’t bun have a massive test suite that the rewrite passes? What else do people want?
        • applfanboysbgon 22 minutes ago
          1. You cannot make bug-free software with tests alone. Also, code that compiles and executes successfully is only one goal, memory efficiency and performance are other desirable traits. Claude Code can consume GBs of memory to display 1kb of text because it is slopware.

          2. Even if somehow you did make bug-free software with tests alone, even if the Rust port is perfect today owing to the years of careful human work that went into building tests as a framework to guide the AI... the future can only be downhill from here. Nobody has a mental model of the new 1m loc codebase that's never read by a human, so Bun's future is committed to 100% vibecoding. Maybe the carefully planned tests minimized the worst case scenario, but the future tests will be written by Claude too.

          If, and this is a big if, it turns out that there are no major problems and Bun is better off in a year from today than it is now... then somebody can just fire up Claude and fork yt-dlp to support Bun anyways and their decision doesn't matter. In any other scenario than human code becoming completely obsolete, they are simply saving themselves a headache by getting rid of a troublesome dependency.

        • happytoexplain 31 minutes ago
          Tests are one quality control. It's horrifying that some of us treat them as the only thing that matters. There's review, obviously, and of course we haven't even had to think about "written by a thinking mind" as a beneficial quality until now.
      • denidoman 40 minutes ago
        Vibe coding from scratch is far from translating an existing app to another language.

        I don't know any bad stories about ai-translated apps. Partially because it's a relatively new trend, but also because a big amount of usual vibe code fail modes are not applicable here.

    • mvdtnz 54 minutes ago
      It's a reasonable decision to not take a dependency which doesn't meet your own engineering standards. People in the JS community could learn something from that.
    • tuo-lei 37 minutes ago
      [dead]
  • draw_down 39 minutes ago
    [dead]
  • mvdtnz 53 minutes ago
    Wow, bun support was just added in November last year (I think). That's a lot of work to throw away, but you can't argue with their reasoning.
    • em-bee 27 minutes ago
      bun is still supported for specific versions so nothing is being thrown away. in any case the actual code is the same, since it's all javascript. it's more a matter of the wrapper code that calls the different runtimes and maybe some edgecases where the runtimes are not 100% compatible.
  • muglug 33 minutes ago
    This like if BitTorrent cut off Windows support over objections to Microsoft embrace/extend/extinguish. It’s a slightly incoherent position.
    • garbagepatch 1 minute ago
      To me it feels more like the old "this site only supports IE6". Instead of checking which JS engine the user has, check for specific api support and fail gracefully.
    • happytoexplain 28 minutes ago
      This seems like a tenuous analogy, to put it lightly.
      • pessimizer 20 minutes ago
        Care to explain why, or nah?
    • ivanjermakov 24 minutes ago
      Not BitTorrent, but I can see a world where e.g. Transmission dropping Windows support because of Microsoft policies.
    • IcyWindows 16 minutes ago
      Which company doesn't do that?