Bun support is now limited and deprecated

(github.com)

273 points | by tamnd 4 hours ago

34 comments

  • johnfn 2 hours 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.

    • gpm 2 hours ago
      > 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.)

      On the flip side it's not on the yt-dlp authors to test Bun's new development process and see if it results in more segfaults, OOMs, security vulnerabilities, etc. In fact it would arguably be negligent to experiment on your users if you thought there was a reasonable probability of increased security vulnerabilities.

      I think there's a good argument that the responsible thing to say would be "we aren't going to immediately support running our software on a new bun release cut from main right now".

      It seems a bit unfortunate to me that they've apparently already intending to never support future releases instead of planning on re-evaluating in the future. On the other hand the yt-dlp developers definitely don't owe anyone anything.

      • johnfn 2 hours ago
        > It seems a bit unfortunate to me that they've apparently already intending to never support future releases instead of planning on re-evaluating in the future. On the other hand the yt-dlp developers definitely don't owe anyone anything.

        I think your final comment gets at it. If they said "OK, I am skeptical, so we're going to pause on updating to see how this Rust thing plays out" -- that sounds like a reasonable engineering decision. Saying "because they vibe coded we are dropping support for Bun" sounds political.

        • truncate 32 minutes ago
          > Saying "because they vibe coded we are dropping support for Bun" sounds political.

          I disagree that this is a political stance. People based on their experiences have formed opinions on whether they trust that model of development or not. Bun having taking extreme measure of going 100% in within a week is itself extreme positioning from their side which will likely result in extreme reactions because depending on who you are and your experience you'd bet on the fact that it may or may not work out.

        • gpm 1 hour ago
          > Saying "because they vibe coded we are dropping support for Bun" sounds political.

          I don't think "political" is necessarily a bad thing. Engaging in politics is how you shape the world. The mere act of writing and maintaining yt-dlp is quite political considering the context of IP law and enforcement that we live in.

          It happens that in this case that I'd disagree with their politics if that's why they are dropping Bun support - I think there's a great deal of value in moving to memory safe languages, little harm in accepting anthropic compute and funding to do so, and that use LLMs themselves is roughly value neutral (though many uses are very much not value neutral). That said reasonable people definitely disagree with me.

          • johnfn 1 hour ago
            That's not what I meant by political. I meant political in the more modern sense of "appealing to emotion rather than thought".

            EDIT:

            Everyone is rightfully calling me out that this doesn't make a lot of sense. What I meant is that the move is driven by ideology. I think there is a lot of overlap between politics and ideology, and an increasing amount of overlap between ideology and emotion. But it's fair enough to call me out here.

            • oaweoifjwpo 1 hour ago
              > I meant political in the more modern sense of "appealing to emotion rather than thought".

              I'm not familiar with this definition in any modern or archaic sense. Is there somewhere I can read about it? Just because a decision is not directly engineering related (which I'm not even convinced this is) doesn't mean that it's not thoughtful.

              • johnfn 14 minutes ago
                That's fair - I updated my comment a little. What I mean is that the decision was driven by an ideological basis, not an empirical one. Bun was written with AI, AI doesn't fit with my ideology, therefore I reject it. As opposed to Bun has these new problems X Y and Z, therefore I reject it.
              • ajyoon 15 minutes ago
                "Political" here means "I don't like it"
            • happytoexplain 38 minutes ago
              I can't see how this counts as "political" or "ideological" by your definition unless you believe that emotion can't exist as part of any decision, in which case you should give up interacting with human beings entirely.

              Regardless, the decision was 99% logical. In fact, even the emotional parts are laudable. For example, I love software. That's an emotion. If you disagree with that foundation, we will fundamentally never be able to converse with each other about what's best for software.

            • phoronixrly 1 hour ago
              Wait, expecting all code to be verified and tested by a human is not engineering-driven but instead emotion-driven mindset???
              • johnfn 12 minutes ago
                What code is fully, or even primarily, tested by a human? Haven't you heard of automated testing suites, regression testing, conformance testing..?
                • happytoexplain 8 minutes ago
                  Testing code written by a human counts as "tested by a human". Also, most code is literally tested (manually) by humans in addition to automated tests. You are being pointlessly pedantic.
                • phoronixrly 7 minutes ago
                  If I were to mirror your tone, I'd ask you if you've ever heard of the basic courtesy of running your code manually yourself before you waste anyone else's time with it... Or whether you've heard about QA, or about making demos for Product or for customers...

                  Neither of these can be replaced by an automated test suite of any kind, and all of these are examples of good engineering practices that guarantee software quality.

                  Additionally, even if you don't (need to) adhere to the best engineering practices and instead rely solely on an automated test suite, the tests in this suite must be validated - read and understood - by a human in order to guarantee that they nail down the correct requirements.

              • zephen 54 minutes ago
                [flagged]
            • awesome_dude 15 minutes ago
              Humans have always appealed to emotion - as part of their logical process.

              Fear (emotion) is used (advantageously) to force us to check that something isn't going to break us

              In this instance fear is being used to ensure that yt-dlp is not exposed to (genuine) concerns about the quality of bun that is openly being built making use of tools we as a whole know is problematic.

              I agree with you that the statements are a bit over the top (that's an emotional response to their statements btw) and that (eventually) you would /hope/ that bun gets to a point where it's got some genuine reliability from a users perspective.

              Edit: I see your edit to explain that the issue is ideology - but unfortunately (perhaps) that's not an improved stance - ideology has to guide us when we just don't know - it's a heuristic.

            • add-sub-mul-div 1 hour ago
              That has nothing to do with what "politics" means but it's exactly how people have started using "political" to mean "idea I don't agree with".
              • johnfn 6 minutes ago
                I think there is a lot of overlap between politics and ideology, and an increasing amount of overlap between ideology and emotion.

                I think it's fair to call me out for skipping a step, but I wasn't using it to mean "idea I don't agree with".

                • happytoexplain 5 minutes ago
                  >I wasn't using it to mean "idea I don't agree with".

                  I believe, maliciously or innocently, you were.

            • wgjordan 1 hour ago
              That's a perfectly cromulent meaning of the word.
        • beej71 10 minutes ago
          That wasn't my read, though. I think if they don't want to go with the vibe-coded version then they have to go with the last release before that. And presumably that last release won't be updated (except with the vibe-coded version). Therefore it makes sense to deprecate.
        • fmbb 1 hour ago
          Adding support again later is cheap.

          Stopping maintaining and testing support for upcoming versions is cheaper than doing that work.

          Sure it’s political but it is also just a sane approach, to stay away from such disruptive change and treat it as wait-and-see instead of tagging along for the ride. There is not really any technical upside to tagging along and promising support.

          • dmix 53 minutes ago
            > Stopping maintaining and testing support for upcoming versions is cheaper than doing that work.

            If it’s based on predictions of how some alpha software might turn out in the future then I don’t see how you can claim it’s cheaper.

            If a bunch of new bug reports came in then you said no, then everyone would understand.

            This is pretty obviously ideological otherwise. Which is fine, but we shouldn’t pretend otherwise because we might agree with it

        • cmiles74 58 minutes ago
          I disagree it's a political stance, this reads like a technical decision to me. In my opinion, there is no vibe-coded project that's going to be reliable long term. Eventually there's too much code, too many bugs and the whole things slows to a halt. Or it gets too expensive to continue to be vibe-coded, because token cost.

          If they had decided to drop Bun for "AI assisted coding," that might strike me as a political decision.

        • oytis 1 hour ago
          Vibe-coded code is a code no human has written, so no human truly understands how it works. It's a perfectly reasonable technical decision not to support such software, especially if actual human effoft is required for that
          • rho_soul_kg_m3 1 hour ago
            I wouldn't have problems with AI-generated code, but LLMs are not AIs, they are random sentence generators. They don't have logic, yet programs are logical constructs. So let's call this what it is: randomly-generated code, kinda sorta filtered by humans and tests. It's not because the output distribution has a good match with the expected distribution that it's not random. An LLM that is "hallucinating" is still working perfectly well and isn't doing anything different, in the same way that a straight-line fit through data points isn't "hallucinating" where it isn't overlapping the data points exactly.
      • Pay08 5 minutes ago
        > It seems a bit unfortunate to me that they've apparently already intending to never support future releases instead of planning on re-evaluating in the future. On the other hand the yt-dlp developers definitely don't owe anyone anything.

        The other side of this is that as far as I'm aware, Bun support in yt-dlp was always experimental. They mainly use Deno.

    • conartist6 3 minutes ago
      I wouldn't call it politics. I've seen enough people aim a gun at their foot and pull the trigger. They'll never thank you for stopping them, they just want to be left alone while they do it.

      So, great, if this dude wants to regress through the workforce to a level of engineering maturity I associate with a high school student, I don't wish to try to be the one to stop him. Doesn't mean I'm gonna follow him. It's possible to be smart enough to just not walk into the tarpit. He's going in, I'm not.

    • apalmer 2 hours ago
      It's not really political. Or let me rephrase possibly yt-dl is being political. VUT the concept of 'not adopting a core dependency until it has been widely used in production for 6 months - a year.', is not a political on general. A full rewrite of 1 million loc is essentially a new runtime that has the same ABI as the previous and for many downstream consumers it's not something they are comfortable taking a production dependency on. If for sale of argument BUn was fully rewritten by hand would be the same situation. I personally think this kind of decision is pretty standard, I also personally think the Bun LLM rewrite will be of good quality overall, but I certainly would not bet my product/company on it. I want to be the one making the risky changes on my software not being forced into it by downstream deps.
      • egorfine 1 hour ago
        > A full rewrite of 1 million loc is essentially a new runtime

        It's not a rewrite exactly. Nobody wrote anything. Not a single human has even seen, much less understood those 1m lines.

      • johnfn 2 hours ago
        I think your stance is more reasonable than the one in the article, TBH. If yt-dlp said something like "We're going to wait 6 months on the Rust rewrite", that would be reasonable. But instead it says something more like we think that Bun is vibe-coded, so we don't want to use it any more. That seems less reasonable.
        • tatjam 4 minutes ago
          Welp, I mean once the Rust rewrite is merged, isn't it vibecoded? Fair enough, it was vibecoded from a pretty detailed Zig specification :)
        • omnimus 1 hour ago
          It's not less reasonable. They don't have to promise giving Bun time in the future to evaluate. They might do it but they absolutely don't have to be responsible for doing it when the project made such dramatic shift.

          They can do absolutely what they want with their project especially when its majority decision. There can't be no doubt about that.

      • Brian_K_White 43 minutes ago
        Even re-written by hand isn't the same because a hand re-write proceeds slower over a longer period of time with more smaller updates that get tested somewhat along the way.

        Also I don't think it's wrong to use an action as an input to judging engineering character. That could be read as judging yt-dlp or judging bun but in this case I mean it's reasonable to judge bun's developers.

        IDK if i'd personally judge this action quite so badly though. It depends how they went about it and what they proffessed to get out of it.

        I am very much against letting llms think and decide for you, but I don't think it's so wrong for an actual coder to employ automation.

        But if they are acting like it's magic and everything will be so much better after the magic llm uses the magic safe language... yeah that definitely gets the side eye. Or no eye. Just no longer interested in or concerned with their output.

        Since this is being offered as the next release version while still being new and stuffed with unsafe, looks like it's the latter. So I'm with yt-dlp in this case.

        It doesn't matter if the new code happens to be ok or not, it's still a problem that they got there by hoping a black box does the right thing. A black box that that no one wrote and no one understands, not just themselves.

        gcc is a black box to me, but I know that someone wrote it and understands it (or some people collectively understand all it's parts), and I know that any time I want, I can choose to understand any part of it, and satisfy myself that it is doing something both sane and deterministic.

        So a developer choosing to use gcc when it's a black box to them does not reflect badly on them to me.

        But no one can say that about any llm or ai. So yeah, a developer choosing to use them, depending on exactly how, may reflect badly on them.

        The same was true for cheap off-shore gig coding by humans too. I have tried to use them myself in the past, hire out for small generic programming jobs using those web sites where you put up some escrow money and post a job and people bid for it, you choose one, they do it and get paid from the escrow. I only tried about 3 times for the same small job and every time I git ridiculously shit (but technically functional) results.

        These were humans 15-20 years ago, no possibility of hidden ai usage like today, and it's essentially the same dynamic of just hoping some magic will get you something good for cheap, and accepting any result that appears good as good.

        If someone said that that's how they made their product, I would decide that product is probably pretty crap inside and no way should I buy it or invest in it as a dependency if I have any choice.

        And that's humans not ai. The problem isn't really the ai, it's the judgement to use an ai that way.

    • GGO 2 hours 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.
      • aljgz 2 hours ago
        When expressed, sounds like a trivial principle. It's surprising how rare it is to see people actually do this. Not only with tech stack: choosing cars, laptops, staying in a toxic relation, the list goes on
      • tomjakubowski 59 minutes ago
        Notably, they aren't (yet) dropping support for older, pre-rewrite versions of Bun. They also could be leaving the door open to support Bun in the future, if the rewrite proves successful. I think waiting and seeing is the right, conservative move.
    • fdsajfkldsfklds 2 hours ago
      A key element of engineering is projecting a current trajectory. Given that, it absolutely makes sense to avoid tools that give you a bad feeling. The easiest time to move away from a tool that will become a train wreck is before you've integrated it.
      • johnfn 2 hours ago
        But what exactly are you projecting? Typically when people have said they have a bad feeling about something (imagine Next.js) it's because they are running into more bugs or they are seeing more production incidents. In this case there has been no chance to observe these things.
        • reitzensteinm 1 hour ago
          Bun in its current state absolutely has issues like segfaults. As nice as it is, I moved off of it back to node for production.

          Folks generally tolerate issues if they believe they’ll get better with time. I know I did for a while. If that confidence collapses, that’s not politics.

        • fdsajfkldsfklds 2 hours ago
          Engineering decisions and the resulting output.

          We've known for decades that machine-translated code is garbage, and should only be done as a last resort.

          • hathawsh 1 hour ago
            Your HN account is too new for me to be sure whether you're being sarcastic or not. Perhaps you know, or perhaps you don't, that all code is machine-translated, even assembly language. None of it is perfect, but it's not garbage. Today's AI merely provides a new level. It's a weird, non-deterministic level, but hiring an employee to write code for you is similarly non-deterministic.
            • fdsajfkldsfklds 1 hour ago
              Right, and that's why Mel was a true programmer!

              Seriously though, that's an overly-pedantic definition of a compiler. Broadly speaking, languages compile in a direction of decreasing abstraction. Crossing from one high-level abstraction to another is just asking for trouble, especially in this case where the target language makes very specific performance promises as long as certain abstractions are maintained.

        • egorfine 1 hour ago
          It's 1mloc that no human has seen. There is no possibility for that project to be reliable, at least initially.
          • tomjakubowski 58 minutes ago
            “You're absolutely right! I've seen things you humans wouldn't believe.”—Claude Opus 4.7
    • jmull 40 minutes ago
      Not sure what seems "political" about this.

      When deciding to support a given thing, you have to make a determination as to whether it's worth the effort or not.

      You don't simply ignore unknowns. That effectively means assigning the unknowns zero cost, which is unlikely to turn out to be true. Generally, the more unknowns, the higher the risk, and the higher the risk, the higher the estimated cost.

      There are a lot of unknowns about vibe bun right now.

      One effective strategy for dealing with unknowns is to turn them into knowns if you can. Here, that probably means waiting to see how vibe bun turns out.

      If it turns out to be stable and highly compatible, at some point in the future, they can always pick up support then.

    • nesarkvechnep 2 hours ago
      Then Bun's rewrite is also political. They couldn't upstream their vibe coded "improvements" so in spite they decided to vibe a rewrite in Rust. The arguments for the rewrite were not backed by any data.
      • gpm 1 hour ago
        > They couldn't upstream their vibe coded "improvements"

        What are you talking about? There is no upstream rejecting contributions here. It's the original bun developers who vibe-ported it to rust and they absolutely could and did upstream their vibe coded changes because they are the upstream.

        • soledades 1 hour ago
          they're referring to the changes they tried to upstream to zig.
          • tomjakubowski 1 hour ago
            To be fair, I don't know if the Bun team ever did try to upstream it. In their Twitter thread announcing their vibe-coded fork of the Zig compiler, they said they wouldn't bother trying to upstream their changes because of Zig's policy banning LLM-authored contributions. Still probably a calculated political move to cut ties with Zig and muster community support for a Rust rewrite. https://x.com/bunjavascript/status/2048428104893542781
          • happymellon 51 minutes ago
            The changes submitted to zig were rejected because they were off an old fork and had already been implemented.

            They may have been rejected for being vibe coded if they were original, but they were rejected for being pointless. The rust rewrite was because Bun was butt hurt that they didn't actually help.

    • 827a 2 hours ago
      FYI in case you aren't aware, the rewrite was shipped, and then had to be reverted due to issues being discovered. That's "Jarred's high quality bar" you're so confident in.
      • raincole 2 hours ago
        The whole point of having canary builds is that they're unstable. That's why they're called canary. Rockets failing in test flights isn't a bad thing.
        • Shank 2 hours ago
          > Rockets failing in test flights isn't a bad thing.

          I hate to be pedantic but for a whole host of environmental reasons, they are suboptimal, and it still incinerates money to lose a rocket during a flight test.

          • raincole 2 hours ago
            Yes, building rockets costs money and is bad for environments.
      • johnfn 2 hours ago
        Can you link me a source that says that the rewrite shipped to a point release (not canary)? I'm not seeing this.
      • gilrain 2 hours ago
        News to me… share a link?
    • cizezsy 2 hours ago
      I don't think refactoring 1M lines of code into another language within 7 days and merging it to master is responsible. I won't make my code depend on it.
      • egorfine 1 hour ago
        It's not refactoring. It's LLM transpiled.
        • ozozozd 28 minutes ago
          I think the correct term is *translopped*
        • cheesefck 27 minutes ago
          [dead]
    • kqp 55 minutes ago
      Every single macOS update the top comments are about giving it six months to stabilize, but when a program’s biggest ever rewrite involves a lot of AI, the top comment is calling you irrational if you don’t YOLO it, and probably a jerk, too.
      • atonse 47 minutes ago
        YOLO? Bun has an extensive test suite and this implementation passed the test suite.

        Can we at least try to be a bit more accurate and less hyperbolic?

        I will continue to use Bun because the same people that made bun have made this decision. I trusted them one week ago. I have used bun for the past 2 years, and so have many others.

        I'm not about to just assume they've become immature idiots yolo'ing stuff overnight. They're still the same people they were a week ago. Or two weeks ago.

        • truncate 26 minutes ago
          >> same people that made bun have made this decision

          Are they the same people though? Their interests, goals, environment, incentives, boss etc etc all changed after they got acquired by Anthropic. Its not uncommon for a big company to acquire a smaller one and completely destroy that product to serve the parent company's goal.

          • atonse 14 minutes ago
            You can go read all the details on Jarred's X account - including the progress, how it was thought out, strategy, that they're aware that it looks like zig still, etc etc etc.

            Speaking of environment though, everyone neglects to mention that the Bun core team now has access to Claude Mythos. You think they haven't already run Mythos against this? So they have private access to the best cybersecurity scanner known to man.

            Suffice to say, I'm yet to see anything that really worries me in any major way with this.

        • teaearlgraycold 2 minutes ago
          Presumably MacOS has an extensive test suite that it is passing before each disastrous release. Tests matter, but they aren’t the entire story.
        • xdennis 10 minutes ago
          > this implementation passed the test suite

          Didn't they also change the tests to make the re-write pass?

          • Pay08 1 minute ago
            They did, but they also reverted most of those changes.
    • king_geedorah 2 hours ago
      “... it seems unlikely he would ship this rewrite if it didn’t meet his quality bar” is every bit as vibes-based as the decision you are critiquing.
      • johnfn 2 hours ago
        Jared has shipped a lot of things that have impressed me. His software is measurably faster than the alternatives, and I have measured it. It runs code that Node et al can't run, and I have tried. These are normal, everyday experiences with software - based in fact, not vibes. I'm not going to argue every decision he's ever made is amazing, but his decisions have historically tracked above average.
        • egorfine 58 minutes ago
          He plays around with a toy project in a separate branch, tells everybody to relax that's just an experiment that has no chance of being merged, then abruptly merges 1m lines of code not seen by a human, effectively zeroing out all the contributions ever made by anyone to bun, including contributions in progress.

          At the same time, his arguments in favor of Rust are sound, there is no doubt about that.

        • n_e 59 minutes ago
          > It runs code that Node et al can't run

          What kind of code can't node run?

        • dogleash 1 hour ago
          So, you're fanboying?

          If we're gonna fight, lets go xbox vs playstation. Javscript runtimes are a snoozefest.

          • johnfn 1 hour ago
            Stating e.g. "Bun is more performant than Node [along a particular benchmark]" is not a fanboy statement. It's a statement of measurable fact.
    • lynndotpy 2 hours ago
      Every decision is made with imperfect information about the tool, its future, and your current/future needs. This is a normal type of engineering decision.

      Bun being replaced entirely with stochastically generated code is red flag (regardless of whether it was or not). But Bun was also acquired by a huge corporation, which has been classically a huge red flag. Both of these are plenty of reason for yt-dlp not to support Bun.

      In either case, this seems like a niche use case. I've used yt-dlp for years and I've never used Bun with it. If Anthropic really wants their recent acquisition to be supported in yt-dlp, it can fork it and support it itself.

    • the_gipsy 1 hour ago
      Why wait?

      Seems reasonable to preemptively drop support and let someone else either suffer the fallout, or get proven wrong and just pick up support again. It's not for a lack of people motivated by IA. Unless the motivation is more "use my IA generated content" than "actually consume IA generated content", of course.

    • rileymichael 2 hours ago
      > 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.

      being reactive is fine if you can tolerate issues. otherwise, you need to be proactive -- don't wait for the train to hit you before you move off the tracks

    • jameson 36 minutes ago
      > 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.)

      Your argument could go other way too. Why haven't they landed if they're so confident with the change?

    • blks 1 hour ago
      Anyone who merges such a huge PR of ai generated code doesn’t deserve trust. This is a real black box now, even for the developer himself.
    • htrp 1 hour ago
      >I don't select my engineering tools because they give me a bad feeling

      But you do select your engineering tools on faith apparently.

    • hnav 2 hours ago
      a vibecoded rewrite right after being acquired is not political?
      • raincole 2 hours ago
        No one says that? Of course Bun rewrite is political. And if you deprecate Bun support due to they did something political, obviously this decision itself is political too.
      • johnfn 1 hour ago
        Is it so unthinkable to people on "hacker" news that someone might want to try a cool experiment like rewriting an entire repo into Rust?
        • ozozozd 26 minutes ago
          Is it so unthinkable that people don’t want to participate in that cool experiment?
        • guilhas 1 hour ago
          Cool experiment? true

          Cool production? false

    • negura 2 hours ago
      > This decision seems to based more in politics than engineering.

      I'm glad some engineers realize that technology is inseparable from politics. It always has been. All evil came from engineers who beleived they were above politics. Selecting the tool which got the job done/made the number go up/paid a paycheck is how we got Facebook, Google, Palantir, crypto, AI, techno-fascism and neo-feudalism. None of it would've have happened without engineers blindly applying their knowledge to achieve "purely" technical results, while ignoring the social consequences. With the hindsight of the last 20 years, anyone who still advocates for an irresponsible adoption of technology should be considered automatically suspect

    • 827a 2 hours ago
      You may not want to take part in politics, but politics wants to take a part in you.
    • teaearlgraycold 10 minutes ago
      The rust rewrite isn’t even out of canary IIUC.
    • Robdel12 1 hour ago
      I have no idea how that’s what you get from this. I don’t want my project using any tech that decides to take 6 days to rewrite the entire library with AI. That is at its core an engineering decision.

      No healthy engineering team is going to do that. And I’d want to distance myself as far as I could from a project that behaves like that.

    • baublet 1 hour ago
      Yeah this is a cringe way to weigh in on something completely unrelated to your project. Who cares if some random package supports Bun? Compat was always on Bun, anyway.
    • throwaw12 1 hour ago
      > I don't select my engineering tools because they give me a bad feeling

      I do, for example when I see constant behavior of lying, or negligence for security issues or not considering valid PRs and rewriting it to fit their paid plan and so on.

      > I select them because they do the thing I want them to.

      This is one of the dimensions when I pick the tools, I know Oracle produces nice products, but I don't want to get sued if I do something accidentally their lawyers dislike.

    • guilhas 1 hour ago
      Isn't that what Bun/Anthropic did? A rewrite based on vibes?

      Except "because we can" and the expectation that some kind of bug will be reduced and other metrics will not get worse

      All Bun devs are happy to change programming language?

      When their competition is already in rust and more mature

      While using the LLM that is now paying their salaries. Kind of a conflict of interest

      Even a major version upgrade is enough for me not to touch it for 6 months, let alone a full rewrite

      Has Bun posted any analysis and shown the data?

      • egorfine 52 minutes ago
        > Has Bun posted any analysis and shown the data?

        Jarred promised a blog post just like he promised to not merge the slop branch.

    • 627467 1 hour ago
      > I will base that on data -- not a feeling I have.

      and yet...

      > If Bun starts having more bugs and feeling like worse software, I'll stop using it.

      Is it not possible to judge that certain approach is more likely to bring unforseen controlable problems than another by analyzing how it works without assessing it's output? No "feeling" is needed

    • t_mahmood 1 hour ago
      So, let's see here. Here we have a program, that is used to install scripts from source that has been targeted, and breached multiple times last few months, can run arbitrary code on millions or billions of user computer, servers. And, it was ported to another programming language, resulting in 1m LOC, in 7 days for publicity stunt of a LLM company

      Even multiple people can not go through 1m lines of code for any kind of vulnerability in 7 days, let alone 'observe' more segfaults, OOMS, unsafe behavior, on who knows how many possible ways things can go wrong in this new condition.

      Only guaranty is 99% tests passed, and the engineer who is paid by the same LLM company.

      How in the world, any sane engineer would agree, this would be remotely a good idea to continue using this tool, for a chance that such a expensive change won't actually land in production?

    • hypeatei 2 hours ago
      I believe you contradicted your first point by following it with "If Bun starts having more bugs and feeling like worse software"

      ...so you do use feelings in your calculation? To be clear, I have no problem with that and think there is some level of speculation you need to do when deciding what to rely on.

      As a hypothetical, pretend that Bun added obfuscated binary blobs that get executed at build time. Well, your code still works and no effects show up at runtime. Are you going to keep using it or dump it based on the "feeling" that something isn't right?

      • johnfn 2 hours ago
        Bug counts are numbers. Memory usage and performance are numbers. Eventually those numbers get so bad that you leave.
        • fmbb 1 hour ago
          Well if you promise support you promise support.

          You cannot take back a promise after you make it. So if you discover bugs later you cannot just leave.

          This script is just a JavaScript helper to bring full YouTube support to some media download tool. It does not seem important to anyone that executing it using Bun is supported. They support the Deno and Node runtimes.

    • leobuskin 2 hours ago
      absolutely, and `its development seems to have taken a turn towards being fully vibe-coded` ungrounded claim confirms the hysteria, I'm afraid
      • bhaak 2 hours ago
        The whole code base is a vibe coded rewrite, half a year after Bun was acquired by Anthropic.

        I see lots of ground for that claim.

        • leobuskin 2 hours ago
          I apologize, may I ask you, do you use Bun? If yes, you probably do monitor the development of this project (I do, it sounds reasonable to track your tools/deps), probably familiar with Jared's coding style, decision making process, architecture nuances, previous choices? Do you have any issues opened/closed in Bun's repo? Were you satisfied with contributors' reaction? Do you feel you can trust devteam behind Bun?
          • dogleash 1 hour ago
            I get it if you're trying to defend your buddy, but at the end of the day it's on software to justify itself to me. Not for me (or parent poster) to justify their refusal.

            Once bitten twice shy, y'know. Maybe the first bite wasn't even from bun. If bun can't take this on the chin and come back stronger, maybe bun wasn't a good choice to begin with. I'm sure a future version of bun with a rebuilt reputation will have an easy time getting re-adopted by most projects that needed to play it safe during the transition.

        • doug_durham 2 hours ago
          There is no evidence that it was "vibe" coded. It was ported to Rust by an expert engineer using an AI tool using solid SWE practices.
          • john_strinlai 15 minutes ago
            1 million lines of code in 7 days = ~6000 lines of code to be reviewed per hour, 24 hours per day.

            or... they just trust that their ai got it right, which to most people is "vibe coding".

          • egorfine 54 minutes ago
            It was not ported by an engineer. It was transpiled by an LLM and no engineer has ever seen those 1mloc.
          • oytis 1 hour ago
            How can you claim following SWE best practices if couldn't realistically even have read the code?
          • 12345hn6789 46 minutes ago
            1 million lines of code written and approved, in 9 days proves without reasonable doubt it was vibe coded.
          • vor_ 2 hours ago
            In 7 days?
          • 1attice 2 hours ago
            That's just agreeing with extra steps.
          • b40d-48b2-979e 2 hours ago
            Those SWE practices were so solid that the rewrite was already rolled back!
          • cheesefck 1 hour ago
            [dead]
      • cizezsy 2 hours ago
        What are you afraid of?
        • leobuskin 2 hours ago
          I'm afraid "we" tackle (agressively) the wrong problem, also making it's tough for the maintainers, who did nothing wrong (I have a lot of sympathy towards Bun's developers, they got a lot of ugly feedback within the last month). I don't think AI-written code is the problem at all. Human signs off the changeset the same way as it happened before. I don't care if Rust rewrite did happen using pipeline/harness and LLMs, if the maintainer takes responsibility, and in projects like Bun it happens "by default", I think.
          • cizezsy 2 hours ago
            I agree with you that AI-written code should not be a problem and tons of open-source projects have AI-written code right now. But do you really believe the way Bun rewrites and merges its code to master is the same as before? The change in rhetoric (from "don't overreact, it's just an experiment" to "merge it anyway"), the never-arrived blog post promised to explain the decision are concerning to me.

            I really appreciate the maintainers' effort towards this awesome project. However, I think it is fair to be a little bit less confident with the current state of Bun.

          • desecratedbody 2 hours ago
            [dead]
        • nish__ 2 hours ago
          A codebase that no human understands.
    • burnte 1 hour ago
      > This decision seems to based more in politics than engineering.

      You are 100% right. This is a decision made on VIBES and not evidence. The proof is here:

      > Bun was recently rewritten in Rust using Claude, and its development seems to have taken a turn towards being fully vibe-coded. This is alarming and disappointing for a number of reasons, and frankly it seems like a future headache that we'd prefer to avoid.

      They haven't tested it, they haven't found a single problem. They just don't like AI code and they're clearly saying "the fact that the project tested every line of code and it passes all tests doesn't matter to us. The fact that it's vide coded by people who literally make coding LLMs also doesn't matter."

      Pure ego, no data.

      • guilhas 1 hour ago
        So a vibed decision to reject vibed code. Minus minus equals plus?
        • burnte 50 minutes ago
          I think you should read what the bun devs published about their process. It's not just vibed.
          • guilhas 40 minutes ago
            Care to share a link? There are 0 posts on Bun blog, or the GitHub page README explaining the rational for the rewrite
      • cheesefck 24 minutes ago
        [dead]
  • zipy124 2 minutes ago
    So many people in the comments here are making assertions about the quality of the rust re-write but the point largely remains the same. There is no way you've read all million LOC in the time and reviewed to make sure it really is transpiled. It's not a criticism of the method, but the time and review process.
  • maxloh 3 hours 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

    • sroussey 2 hours 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.

      • egorfine 50 minutes ago
        > Image routines my heart sank. Another shiny object

        With quite a peculiar set of supported formats different between operating systems.

    • nkmnz 2 hours 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.
      • 827a 2 hours ago
        Its possible to do that over a period of a few years. Sadly, the Rust rewrite happened in (checks notes) 8 days.
        • cyanydeez 1 hour ago
          So this question was never answered: If Zig had so may problems that they felt compelled to rewrite it all in Rust, does that suggest the great Mythos was unable to fix the Zig version?

          Isn't this suppose to be the most advanced model ever and you're telling me they can't just schedule a cron job that detects and repairs the zig version?

          Really? Did they just completely admit that the great AI future can't secure a significant project repository?

          • 827a 42 minutes ago
            AI is extremely good at rewriting existing code, and rewriting code is a classic engineering productivity trap. That's a tale as old as time; "we need to rewrite the api in Go" said every new midlevel engineering hire ever. Of course, 9 times out of 10 we don't do it, because the unpredictable costs always outweigh the benefit, and in Jarred's case we're starting to see these costs surface. They aren't technical, they're political; broad swaths of the community have lost faith in him and the Bun project.
          • Jblx2 44 minutes ago
        • doug_durham 2 hours ago
          [flagged]
    • eddythompson80 2 hours ago
      Pretty normal in many corporate cultures especially ones with high turnover. You get assigned to a team that's "maintaining" a 10 year old code base with few million LoC. The most senior person on the team has been there for a year or 2 and it's just business as usual. You don't know what those 1M+ lines are doing. No one does. It's not a passion of anyone to work on it. You just get a bunch of requirements handed to you, you blackbox everything but the surface areas you need to touch. It's why there are 14 implementations of a background service 8 dependencies that do the same thing, 6 overlapping frameworks, a complete mismatch in style, approaches, etc. It doesn't really matter.
      • gryn 14 minutes ago
        > It doesn't really matter.

        It does matter, that's why those people quit because it's such a shitshow, progress happens at a glacial pace, more and more defects and slowdowns keep being created even if they have a big QA department/teams and the users are probably trapped because the software is the only thing in town, the bosses are the ones that makes the purchase decisions, or the it comes attached to big and/or expensive machines and they can't just buy another one for another X years.

      • egorfine 47 minutes ago
        Human-written code is theoretically surmountable.

        Large LLM-written code is called slop for a reason. It's hard to understand because oftentimes it does not follow human logic.

    • trollbridge 3 hours 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.
    • doug_durham 2 hours ago
      I'm certain that the maintainers of Bun have excellent understanding of their codebase. What makes you think that they don't? They wrote the code in the first place. They know the architecture. They know what pieces do what functions.
      • somebehemoth 1 hour ago
        They did not write the rust code. AI wrote that code. Your response is side stepping the primary issue people have with the rewrite: no human has read and understood all the code AI wrote.
    • thatxliner 2 hours ago
      it's funny how the readme still says "written in Zig"
      • prmoustache 1 hour ago
        If Claude isn't even able to correct the readme, I don't know how one can have hope it produces decent results.
    • hexage1814 2 hours ago
      >how could the maintainers understand their codebase if most of it was not directly written by them

      I think you are not understanding the new paradigm. The idea that 'humans are going to understand the codebase' is dead. Codebases will be maintained and reviewed by AI. You might think this is bad, but in many aspects of human history, we have traded understanding for convenience—that's the reason why we buy food at the supermarket instead of hunting for our meal. This has happened in every area of humanity, and it seems foolish to think that code generation would be immune.

      Again, you might think this is a bad thing, but it’s simply how humanity has been functioning. 'Oh, but who is going to maintain this?' AI. 'Oh, but what if one day that's not possible?' Well, what if one day the electricity goes out due to solar flame or whatever? You get it?

      • tomjakubowski 1 hour ago
        > in many aspects of human history, we have traded understanding for convenience—that's the reason why we buy food at the supermarket instead of hunting for our meal.

        You could always take a job on a cattle ranch or an abattoir or meat-packing plant, or watch a How It's Made documentary, and get some understanding of how the sausage gets made and put on the supermarket shelf for your convenience. This was also true as we built abstractions in computer technology: you could start off learning a high level language, then learn a lower level one, then study or build an operating system kernel, a compiler, an assembler, machine code, and then crack some books on microprocessor architecture and signal processing. You could always "go deeper" if you wanted to. And there is a payoff: understanding at a deeper level helps you get things done better at the higher levels (e.g.: understanding the concept of memory hierarchy helps you lay out data structures to make code faster).

        There is no such step for slop-coded codebases: you become entirely dependent on a context-limited LLM to have a shot at even approximating some understanding. The proponents of this style will tell you, don't look at the code. It's the antithesis of every other abstraction we've built in computing.

        Perhaps more productively, you treat the slop as a black box and build something understandable around it.

        This is also why the notion that developers in the future will be committing LLM prompts in English to repositories instead of code written in a programming language is so foolish. I am saying this as someone who uses LLMs quite a lot to help with generating and understanding code.

      • OptionX 1 hour ago
        What are you talking about? How do you think food get to the supermarket? People put it there.

        The entire chain from farm to table is managed and operated by humans.

        Every automatization effort ever always had human oversight.

        Its not the same thing as entrusting the entire codebase to overachieving markov-chain who has no concept of correctness over anything of sounding ok.

        Honestly, saying the humans understanding codebase is a dead concept is the most techbro-ish I heard today.

      • overgard 51 minutes ago
        [dead]
      • grebc 2 hours ago
        THIS time it’s different.
  • hootz 3 hours 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 2 hours 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 2 hours 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 2 hours ago
        It's too early. It might be too early forever.
      • cyanydeez 57 minutes ago
        Epistemically: if it can be so easily vibecoded to rust, why can't it be vibecoded to be reparted? Isn't the great and Almight AI unable to parse and repair Zig? Identify it's weak points and route around it?
    • garbagepatch 2 hours ago
      According to the bun team, it was already vibecoded for months before the Anthropic acquisition.
    • LoganDark 3 hours 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 3 hours ago
        It usually takes years for someone's values to be thrown out the window! How long was this one?
        • em-bee 2 hours ago
          changing your employer tends to accelerate that if the new employer has different values.
        • htrp 1 hour ago
          "It is difficult to get a man to understand something, when his salary depends upon his not understanding it"
      • vosper 3 hours ago
        How has it been trashed? Does the Bun software not work anymore?
        • tedivm 2 hours 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.
          • LoganDark 2 hours ago
            The worst part is that they basically didn't review the new code at all other than making sure it passes tests. We have no idea what could be lurking in the codebase now, and it's even all completely un-idiomatic, Zig-ish Rust.
            • nullpoint420 2 hours ago
              I swear they did this as a marketing ploy. To set the precedent that these large refactors are okay to do, and ingrain it in the engineering zeitgeist.
        • happytoexplain 2 hours ago
          >Does the Bun software not work anymore?

          Nobody knows.

    • colordrops 2 hours 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 2 hours 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.
      • gpm 2 hours 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?
      • layer8 2 hours 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.
        • rcxdude 2 hours ago
          Aren't the maintainers the same people? I haven't seen any talk of who's working on it changing drastically.
      • dlopes7 41 minutes ago
        No, would you use a proudly vibe-coded banking app?
      • happytoexplain 2 hours ago
        You want the yt-dlp authors to review the entire post-migration Bun codebase?

        And what are you referring to as "behavior"?

        • colordrops 1 hour ago
          Virtually no one reviews entire code bases of dependencies, what on earth are you talking about?
      • majormajor 2 hours 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.

        • colordrops 1 hour ago
          You are putting words in my mouth, I never said anything about such a stance.

          The vast majority of new software is written using AI. The problem is not that it is written by AI, but rather than some people treat it like a black box. It is entirely possible to use AI to write code and verify that it is correct. Even Linus Torvalds is allowing AI generated code into the Linux kernel as long as it's managed properly.

          • happytoexplain 58 minutes ago
            >The vast majority of new software is written using AI. The problem is not that it is written by AI

            How on earth does this follow? It's common, so it should be accepted without scrutiny?

            >The problem is not that it is written by AI, but rather than some people treat it like a black box.

            Yes, and guns don't kill people. Obviously the issue has two facets. It would be irrational to say "AI is flawless" or "humans are flawless".

            Allowing genAI code does not imply blindly trusting genAI code.

            >as long as it's managed properly.

            Correct. Hence the issue. This was vibe-coding by even the strictest definitions of the term. Vibe-coding is, by definition, not "properly managed".

  • getcrunk 1 hour ago
    It’s not like they are discriminating on someone’s race or religion. If they don’t want a major vibe coded surface, do they even have to defend that? It’s part their “artistic” license as developers.

    Or did we forget software inherently is opinionated

    • dbalatero 37 minutes ago
      Given some posters on the GitHub issue, I get the sense some people feel their religion is being violated.
    • john_strinlai 5 minutes ago
      fervor for and against ai is, in my opinion, very quickly approaching the levels of religion.
    • karel-3d 1 hour ago
      exactly... and it's not like it's hard to fork and just raise the minimum version. It will probably be just one number somewhere (I haven't actually looked.)

      if it works, it will keep working. they just don't want to support and maintain it and solve issues.

  • adamtaylor_13 2 hours 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.

    • andai 2 hours ago
      Vibe coding indeed originally meant "give in to the vibes [...] and forget that the code even exists."

      https://x.com/karpathy/status/1886192184808149383

      In the case of this specific port, the port was done so fast that it is clear humans did not verify the soundness of the translation. It is not clear whether this manual verification will ever occur.

      That being said, most software projects were already doing "vibe coding" by Dijkstra's standards long before AI showed up. Going on vibes and forgetting that correctness even exists ;)

      Guaranteeing the correctness of complex code is difficult, but it will increasingly become non-optional as we now have a billion hackers in a data center.

      ---

      Edit: "Bun's unreleased Rust port has 13,365 unsafe blocks"

      https://news.ycombinator.com/item?id=48239790

    • b40d-48b2-979e 2 hours ago

          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.
      
      Studies suggest you aren't any faster and may in fact be slower. It's difficult to study such a new tech, but even optimistically, empirical evidence is only showing a ~3% gain in some domains.

      Writing code is rarely the limiting factor in our work.

      • Kiro 33 minutes ago
        There's no uncertainty here. Every day I ask myself how long something I did would have taken without it. The answer is always crystal clear. It's not hard or difficult at all.
      • adamtaylor_13 46 minutes ago
        Those studies have well known flaws. I'm measuring my output so I happen to know I'm not only going faster, but the quality is better.

        I'm not vibe-measuring my output ;)

      • cdelsolar 1 hour ago
        studies suggest nothing. i've released a massive number of features in the last year for several projects that i estimate would have taken me multiple years to put together in a much more mentally exhausting way.
        • b40d-48b2-979e 33 minutes ago
          Your drive-by comments are unwelcome. You can estimate all you want, but the data is collating, and it isn't within your worldview.
    • throwaway92180 43 minutes ago
      [dead]
  • pizlonator 40 minutes ago
    I can’t help but read the logic as not being too far off from: “libfoo switched to being developed using emacs instead of vim so we can’t trust it anymore”

    It’s not the same obviously, but here’s why I can’t help but view it analogously:

    The only truth in software is whether it works or not for whatever your use case is. Even before AI, we couldn’t have known if the author of a piece of software was proceeding with rigor or just trying random stuff until it seemed to work.

    In other words, we didn’t judge someone’s software by inspecting their methodology or what tools they used. Heck, we often ended up using software that had no test suite or where the test suite was junk! And so many of us who are fans of memory safety use tools written in C, and vice versa (I’m no Rust fan but I use plenty of tools written in Rust).

    So yeah, the logic that goes, “I won’t use your stuff because I don’t approve of your use of AI” is about as believable to me as if you stopped using something because you didn’t like the authors choice of editor

    • jmull 16 minutes ago
      Most people probably think the text editor used would have no meaningful effect on the code written.

      I don't think many would say the same for LLMs.

      Maybe vibe bun is just as good or better than old bun, but how would we know at this point?

      > ...we couldn’t have known if the author of a piece of software was proceeding with rigor...we didn’t judge someone’s software by inspecting their methodology...

      That's not true. First, some people do directly check whether a project has a level of rigor they are comfortable with before adopting it (or when deciding whether to continue using it). I personally do it, where it matters. Many more use reputation signals, which, while certainly not perfect, correlate, may be good enough, and are a lot easier than direct, manual reviews.

  • tln 2 hours 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.

    • atonse 43 minutes ago
      Yep, it's one thing if there was some project that saw severe regressions in Bun.rs and actually showed data about regressions.

      But it's been available for a week. And so far, seems like crickets on actual data on any regressions. It's more "I just don't like this!" style grumbling.

  • apitman 3 hours 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 3 hours 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.
      • atonse 41 minutes ago
        Mostly unfounded in my opinion. They took the _exact_ same strategy that go did when they moved from C Go to a Go based compiler.

        First they essentially wrote a translator that preserved the C idioms (so it wasn't idiomatic go) until they had byte for byte output.

        Then they started changing code one by one to be more Go-based.

        Bun is doing the same. Right now it is mostly a one for one translation of the zig code. Over time they'll make it more idiomatic Rust.

  • insanitybit 2 hours 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.
  • therepanic 2 hours ago
    To be honest, I share primeagen's view that LLMs handle translating code from one language to another quite well. As far as I know, they converted the languages file by file. This is what led to such a high volume of `unsafe` code. Although, in any case let's be honest, this is causing, and will continue to cause, various issues. I find it easier to live with this point of view.
    • b40d-48b2-979e 2 hours ago

          primeagen's view
      
      He's a content creator on youtube, a celebrity, not a serious programmer.
      • love2read 26 minutes ago
        Who cares what you think of someone else’s qualifications?

        It’s just someone quoting someone to help ground their position.

        What if it was a journalist writing about a security vulnerability then a programmer quoting them, would that count then?

    • egorfine 43 minutes ago
      > This is what led to such a high volume of `unsafe` code

      Which defeats the purpose of having it in rust.

      • Supermancho 13 minutes ago
        That is incorrect.

        Identifying where code is unsafe, is a qualitative improvement. Not guaranteed to be complete, but more complete than a language that does not focus on that concern. Moving forward, the benefits of Rust compound. The concern about AI is orthogonal to the concern about moving to Rust.

        Now there are 2 versions[1] that can be instrumented, regardless of the misgivings about AI.

        [1] Bun v1.3.14, released on May 13, 2026 (commit 0d9b296af) and current.

  • 5G_activated 1 hour ago
    Who was actually using yt-dlp with bun? The primary use is to solve JavaScript challenges sent by YouTube, which uses Deno by default.

    To be fair, I'm not quite sure why it would prefer either Deno or Bun when it's far more likely that a user has Node on their system.

  • winrid 2 hours ago
    What does this use bun for? I thought this was a python project?
    • aarroyoc 1 hour ago
      They need a JavaScript runtime to execute some challenges that certain pages present (like YouTube)
  • fastball 3 hours ago
    The "to vibe code or not to vibe code" holy war is now in full swing.
    • nh23423fefe 2 hours ago
      war implies "not vibe code" could win. that's impossible
      • nish__ 2 hours ago
        There's literally nothing that LLMs can build that humans cannot. The only factor influencing people to use AI is time. They trade off a small amount of quality for a large amount of time savings. The tortoise and the hare parable comes to mind.
  • sashank_1509 2 hours ago
    Has bun really shipped using a million line vibecoded PR. I know they merged it, but merging something in a new dir doesn’t mean anything compared to what code is actually running for customers. It’s crazy if the vibecoded rust version is what’s running for customers and not just some experimental hack.
  • sharts 1 hour ago
    Why even use bun or anything else if everything is getting slapped together with LLMs? May as well use them to build native
  • merb 2 hours ago
    Google did something similar with golang. Of course it was a tool based rewrite and they did lots of tests but some bugs still emerged. People should stop being mad about a company that delivers a tool that is about shipping software faster. The world does not resolve around high quality software, the world resolves around things that might need a reboot every other day, that was never touched for over 2 years. Things that somebody did once and it worked but most people do not understand it because of the aweful code. Yes of course we still need high quality code in some parts, but most parts of the world is already running on software that is way worse than modern vibe coded things
    • registeredcorn 1 hour ago
      Do not vote on this comment! I am a server! :)
    • dogleash 2 hours ago
      tl;dr: give up, stop trying. just approve the juniors' PR without comment so you have more time to proompt.
  • cabernal 3 hours ago
    there could be recommended runtimes, but shouldn’t the runtime be user-configurable anyway?
    • layer8 3 hours 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 2 hours 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 2 hours ago

         --js-runtimes [deno|node|bun|quickjs]
      • sroussey 2 hours ago
        There is another by Meta for react native. Forgot the name.
  • yanis_t 2 hours ago
    Do we know which model was used for the rewrite?
    • Supermancho 9 minutes ago
      Claude

      Bun’s source code rewrite from Zig to Rust was executed primarily through AI-assisted development using Anthropic’s Claude agents, specifically within a branch named claude/phase-a-port. The project creator, Jarred Sumner, merged the massive pull request (PR #30412) on May 14, 2026, which involved over 1 million lines of code added and 6,755 commits completed in roughly one week.

    • geodel 1 hour ago
      Gemini, obviously.
  • thot_experiment 2 hours 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.
  • the__alchemist 2 hours ago
    Bun alert!
  • meindnoch 2 hours ago
    Good news!
  • xmodem 2 hours ago
    I see a lot of commentators in this thread who are aggressively critical of volunteer maintainers for making a decision about how to maximize the value of the free labor they donate to the world.

    And yet none have offered to volunteer their time to maintain a downstream fork or otherwise rectify the perceived problem.

    Strange.

    • Jblx2 55 minutes ago
      Which "volunteers" are you referring to? Bun? yt-dlp?
      • tredre3 25 minutes ago
        yt-dlp, clearly. Bun has no volunteers (as of the rust rewrite at least, it's all highly paid SWEs and GPUs.)
  • gkfasdfasdf 1 hour ago
    Idiotic. Why do they care what language it's written in? If it works it works.
  • potsandpans 1 hour ago
    Ah yes, more examples of averse behavioral ai syndrome
  • anthk 1 hour ago
    yt-dlp launches propietary software:

    https://jxself.org/shifting-the-trap.shtml

    You can run a BF and, soon, subleq.

  • satvikpendem 3 hours 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.
    • blain 3 hours ago
      Well, apparently Deno is also a slop now: https://github.com/yt-dlp/yt-dlp/issues/16766#issuecomment-4...
      • sheept 3 hours ago
        Deno's LLM contributions have been smaller in scope, so they're more likely to be reviewed by a human, and the codebase remains understood by its contributors. Can the same be said of Bun, which switched to an entirely different language in a single, million-line PR?[0]

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

        • szmarczak 2 hours ago
          Since when small vibe coded slop became the norm? Because there exists bigger vibe coded slop, it's no justification to have a smaller vibe coded slop.
          • dsherret 1 hour ago
            One shotting slop is very different from iterating back and forth with an AI. Also, most of the AI work that's being done has been getting node compatibility tests passing with the help of comparing that to the Node.js code, which is something an LLM is very good at.
            • szmarczak 25 minutes ago
              > One shotting slop is very different from iterating back and forth with an AI.

              Bun is also iterating back and forth with AI. The rewrite only got popular because of bigger scope. The bigger the scope is, the more bugs there are.

              > getting node compatibility tests passing

              So does Bun.

              > which is something an LLM is very good at.

              Doesn't matter. The code those LLMs operate on is simple enough that any middle software engineer can do.

      • charcircuit 2 hours ago
        Using AI to write code is not necessarily vibecoding nor slop.
  • antonvs 3 hours ago
    Reason #2 is purely speculative. It’s disappointing to see technical decisions being made on such grounds.
    • smlavine 3 hours 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 3 hours 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.
        • layer8 2 hours 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.
          • cyanydeez 51 minutes ago
            Any rational person investing in AI rewrites at this scale must fundamentally believe that all the downsides of the slop will eventually be cleaned up by the next version of the slop machine. So it's slop all the way down until, wave wands, the slop is indistinguishable from magic.

            That is to say, techno jesus cometh.

        • happytoexplain 3 hours 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.
        • gpm 3 hours 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.
      • doug_durham 2 hours ago
        Really?? So you base your engineer in "speculation". The Bun team has a deep track record of delivering a high quality product. What makes you think that is going to stop?
        • john_strinlai 0 minutes ago
          >What makes you think that is going to stop?

          a million-line rewrite over 7-8 days

        • happytoexplain 13 minutes ago
          >What makes you think that is going to stop?

          The PR that was merged.

    • happytoexplain 3 hours 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 2 hours 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 3 hours 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 3 hours 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 3 hours ago
          The existence of bad code doesn't mean you should be happy to accept it.
      • cortesoft 3 hours ago
        There is quite the selection bias going on here... you aren't hearing about the successful projects.
        • Dylan16807 3 hours ago
          People love to brag about using AI to get work done. If anything I expect the successful projects to be overrepresented.
        • dawnerd 3 hours ago
          Care to list them then? I have yet to see a successful vibe coded project
        • add-sub-mul-div 3 hours ago
          With all the unprecedented investment and desperation behind it, these hypothetical LLM successes would be getting shoved down our throats.
        • asadotzler 2 hours 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 3 hours ago
        Doesn’t bun have a massive test suite that the rewrite passes? What else do people want?
        • applfanboysbgon 2 hours ago
          1. You cannot make bug-free software with tests alone. Moreover, code that compiles and executes successfully is only one goal, memory efficiency and performance and security 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 at perfect parity with the Zig codebase 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 humans, 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 2 hours 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.
          • skeledrew 1 hour ago
            How is "written by a thinking mind" a beneficial quality? All of sounds like to me is bias and gatekeeping. History repeating itself.
      • denidoman 3 hours 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 3 hours 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 3 hours ago
      [dead]
  • draw_down 3 hours ago
    [dead]
  • mvdtnz 3 hours 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 2 hours 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.
  • umvi 3 hours 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 2 hours ago
      Rather than have complexity centralised and managed, let's generate the same vulnerable code across millions of apps. Great plan.
    • tredre3 20 minutes ago
      > There's something really satisfying about a go binary with minimal dependencies running in a busybox docker container.

      Go binaries are immensely satisfying, but I don't follow your logic here. The vast vast majority of dependencies in Go do not depend on the outside world, so the binary would remain self-contained whether it has 1 or 100 dependencies, no?

    • josephcsible 3 hours 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 2 hours ago
        You only add what you need instead of importing some bloated dependency. That means you can actually review the code yourself.
        • wizzwizz4 2 hours 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.

          • olzd 2 hours ago
            Are you aware this is satire?
            • wizzwizz4 1 hour ago
              Yes, it says so right under the title. But it's not wholly fictional: this happens all the time, to the point we have a name for it (Not Invented Here syndrome).

              That it took so long before they started trying to phase out their home-rolled library for the "hard cases" is somewhat unrealistic, although possible in a sufficiently-dysfunctional organisation. Some of the details about the problems of their homespun library are clearly anecdotes translated from other settings, and are unrealistic in the context of a mathematics / finance library. (They only noticed that interest calculations were wrong when a customer complained? Seriously?) The development of 6.1.0 (via 6.0.0) taking only two weeks isn't congruent with the rest of the story, although it may be realistic for AI-driven development (with which I am unaccustomed).

              But otherwise, this is one of the more realistic satire pieces I've read.

    • c-hendricks 1 hour ago
      That must be why so many vibe-coded UIs have awful UX (terrible contrast, too small fonts, everything gets its own colors, no attempts at standardized behaviour)
    • echelon 3 hours 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.

  • muglug 3 hours ago
    This like if BitTorrent cut off Windows support over objections to Microsoft embrace/extend/extinguish. It’s a slightly incoherent position.
    • happytoexplain 2 hours ago
      This seems like a tenuous analogy, to put it lightly.
      • pessimizer 2 hours ago
        Care to explain why, or nah?
    • garbagepatch 2 hours 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.
    • ivanjermakov 2 hours ago
      Not BitTorrent, but I can see a world where e.g. Transmission dropping Windows support because of Microsoft policies.
    • IcyWindows 2 hours ago
      Which company doesn't do that?