Rolldown 1.1.4 Deaktiviert `experimental.lazyBarrel` Wieder als Standard, Einen Monat Nachdem 1.1.0 Es Standardmäßig Aktiviert Hatte

Rolldown 1.1.4 Deaktiviert `experimental.lazyBarrel` Wieder als Standard, Einen Monat Nachdem 1.1.0 Es Standardmäßig Aktiviert Hatte

lschvn

Rolldown v1.1.4, veröffentlicht am 2026-07-01T14:02:02Z, ist eine vier Wochen spätere Rücknahme der Hauptänderung in Rolldown v1.1.0 (2026-06-03), die experimental.lazyBarrel standardmäßig aktiviert hatte mit dem Hinweis, dass das Opt-out für eine Entfernung in einem zukünftigen Release vorgesehen sei. Das Release 1.1.4 flippt den Standard zurück auf off, erzwingt die Option im Dev-Mode auf off zusätzlich zum bestehenden Force-off für treeshake, und liefert einen Schwanz von 19 Fehlerbehebungen. Die zugrundeliegende Korrekturlücke wird im neuen Tracking-Issue #10085 „Tracking strictExecutionOrder correctness and architecture issues“ gesammelt, das am Tag nach dem Release eröffnet wurde. 1.1.4 ist das erste Release in der 1.1.x-Linie, das die lazyBarrel-Konfigurationsoberfläche seit dem 1.1.0-Standard-Flip anfasst.

Der vorherige Artikel zu Rolldown 1.1.0 und lazyBarrel behandelte den ursprünglichen Standard-Flip: lazyBarrel wechselte von einem zurückhaltenden Opt-in zu einem standardmäßig aktivierten Verhalten, der Aufhänger des 1.1.0-Releases. Der Artikel sagte auch „the opt-out flag is planned for removal in a future release“ und „if you encounter a case where you need to disable it, the recommendation is to open an issue so the underlying detection logic can be improved instead.“ 1.1.4 nimmt die geplante Entferung zurück und liefert stattdessen den „open an issue“-Pfad: Das Opt-in bleibt, der Standard flippt, und die zugrundeliegende Erkennungslogik ist Gegenstand des neuen Tracking-Issues.

Was 1.1.4 in der Konfiguration ändert

Der einzige Feature-Eintrag in 1.1.4 ist eine Zeile im Changelog: „disable experimental.lazyBarrel by default (#10071) by @shulaoda“. Der PR-Body umfasst vier Absätze. Der erste Absatz ist die Nachricht: „temporarily disables experimental.lazyBarrel by default again (back to opt-in).“ Der zweite ist der Grund: „Only one unresolved issue is left: a strictExecutionOrder tree shaking issue, which is the root cause of the lazy barrel runtime error. Even though it could be fixed quickly, it doesn't hurt to turn the option off today and re-enable it by default in a future release once that issue is resolved.“ Der dritte ist der technische Fix: „Default experimental.lazyBarrel to false in is_lazy_barrel_enabled. Update the @default JSDoc tag on the lazyBarrel option to `false.“ Der vierte ist die Doku-Änderung: „Update the lazy barrel docs to reflect that it is now disabled by default and document how to opt in“.

Die zweite konfigurationsseitige Änderung in 1.1.4 ist ein Dev-Mode-Fix, ebenfalls von @shulaoda. PR #10060 führt die drei Dev-Mode-Overrides in einem einzigen Block in prepare_build_context.rs zusammen: incrementalBuild wird auf on gezwungen, treeshake wird auf off gezwungen, und lazyBarrel wird auf off gezwungen. Die PR ist explizit zum Grund des dritten Overrides: „Dev mode requires treeshaking to be disabled, and lazy barrel relies on treeshaking, so it must be disabled as well.“ Das Override fließt durch is_lazy_barrel_enabled(), sodass ein einziges Some(false) das Feature im Module Task, im Module Loader und in den Flat Options deaktiviert. Der Fix beseitigt die Inkonsistenz, bei der ein Dev-Build einen Barrel-bewussten Tree-Shake-Pass auf einem Graphen ausführte, auf dem das allgemeine Tree-Shaking deaktiviert war.

Die verfolgte Grundursache

Das Release 1.1.4 wird einen Tag vor dem kanonischen Issue #10085 ausgeliefert, das das Team für die zugrundeliegende Lücke eröffnet. Der Titel des Issues lautet „Tracking strictExecutionOrder correctness and architecture issues“, und der Body ist eine strukturierte Liste von zwei spezifischen Bugs und zwei Architekturproblemen. Der erste Bug ist ein onDemandWrapping-Miss: Top-Level-Import-Binding-Reads werden nicht berücksichtigt, sodass ein rein aussehendes Modul über eine Mutation hinweg verschoben werden und den falschen Live-Export-Wert einfangen kann. Der zweite Bug ist ein ExecutionOrderSensitive-Miss: Der aktuelle Check fragt, ob eine Anweisung selbst etwas Beobachtbares tun kann, verfehlt aber Reads, deren beobachteter Wert von einer früheren Modulausführung abhängt. Die beiden Architekturprobleme sind: StmtEvalAnalyzer schließt bei Side Effects kurz (sodass er nicht auch als vollständiger Sammler von Ordnungsfakten dienen kann), und das breitere Muster, zunächst breit zu wrappen und dann zu entwrappen, anstatt Wrapping-Pflichten aus ausführungsordnungsempfindlichen Fakten und Graphabhängigkeiten abzuleiten.

Das Schwester-Issue #10077 „Support tree shaking and lazy barrel under dev mode“ ist die Dev-Mode-Nacharbeit: Der Dev-Mode zwingt Tree-Shake auf off, weil die ursprüngliche Implementierung die Korrektheit mit dem On-Demand-Ausführungsmodell nicht garantieren konnte, und lazyBarrel baut auf Tree-Shake auf. Der Fix besteht darin, die Dev-Mode-Tree-Shake-Korrektheit auf das Niveau des Produktionsmodus zu bringen, woraufhin lazyBarrel auch im Dev aktiviert sein kann. Die beiden Issues sind die Arbeit, die den nächsten Standard-Flip entsperrt.

Die 19 Fehlerbehebungen zusätzlich

Das Release 1.1.4 liefert 19 Fehlerbehebungen, alle zusätzlich zu einer unveränderten 1.1.x-API-Oberfläche. Die Spitzenreiter sind drei preserveModules-JSON-Default-Export-Fixes (#10056, #10020, #9996), die zusammen das vollständige JSON-Interface unter preserveModules bewahren und den JSON-Default-Split kurzschließen, wenn das Objekt entkommt. Der Chunk-Facade-Retention-Fix (#9997) bewahrt die Entry-Facade, wenn ein geteilter Chunk das Modul eines anderen Entries hält, was einen echten Produktions-Build-Edge-Case verhindert, bei dem ein re-exportierter Entry seine Facade verlieren würde. Der Deconflict-Fix (#9921) benennt CJS-umhüllte Locals um, die Chunk-Root-Bindings verschatteten, was eine Klasse von Variablen-Schatten-Problemen in gemischten CJS/ESM-Builds behebt. Die Tree-Shake-Fixes decken die await-Klassifikation (#9987), Side Effects von Namespace-Member-Zugriffen (#9986), JSON-Default-Mutations-Bailouts (#9972) und Computed-Key-Side-Effects bei Namespace-Member-Zugriffen ab. Die Dev-Mode-Fixes umfassen abfangbare Init-Fehler in Lazy-Compiled-Modulen (#9981) und einen Plugin-Metadata-Fix (#9991, zurückgenommen durch #10005).

Das Release liefert auch den üblichen Performance-Schwanz, angeführt von der Deaktivierung von preserve_parens über alle Parse-Pfade (#10057), dem Inlining von declared_symbols mit SmallVec (#9920) und dem Packen von TaggedSymbolRef auf 8 Bytes (#9919). Das Release aktualisiert auf oxc 0.138.0 und migriert die AST-Konstruktion zu Per-Type-Factories, was eine Voraussetzung für die strictExecutionOrder-Korrektheitsarbeit ist, die nun unter dem neuen Tracking-Issue skopiert wird.

Warum dies für die Rolldown-Roadmap zählt

Das Release 1.1.4 ist ein kleiner Versionssprung, der ein bedeutsames Signal darüber liefert, wie das Projekt mit Flaggschiff-Feature-Regressionen umgeht. Der Standard-Flip auf experimental.lazyBarrel war die sichtbarste Änderung in den 1.1.0-Release Notes, und das Vier-Wochen-Fenster zwischen dem Flip und der Rücknahme ist die Art von Kadenz, die Vertrauen schafft: Das Team hat das Feature aktiviert, die Fehlerberichte aufgenommen, ein Tracking-Issue eröffnet und den Standard zurückgenommen, anstatt die Lücke zu übertünchen. Der Opt-in-Pfad ist unverändert, sodass jedes Projekt, das bereits auf dem Opt-in-Pfad war, nichts zu tun hat. Jedes Projekt, das das standardmäßig aktivierte Verhalten implizit erhalten hatte, bekommt den konservativeren alten Pfad. Das Team hat kein Release-Fenster für die Reaktivierung zugesagt, aber die Tracking-Issues sind öffentlich und die Arbeit ist skopiert.

Die Vite 8.1 Stable-Release, die am 2026-06-23 ausgeliefert wurde und auf Rolldown 1.1.2 läuft, erbt das standardmäßig aktivierte Verhalten vorerst. Das erste Vite-Release, das auf Rolldown 1.1.4 ausgeliefert wird, nimmt die Standard-Flip-Rücknahme und den Dev-Mode-Fix auf und wird das Release sein, das den 1.1.0-zu-1.1.4-Bogen für Vite-Nutzer schließt. Die Vite 8 / Rolldown-Ära Retrospektive vom März ist der Long-Form-Kontext, warum dies zählt: Vite 8 war das erste Release, bei dem der Dev-Server auf demselben Rolldown-Graphen lief wie der Produktions-Build, und der lazyBarrel-Standard-Flip war ein Schritt, diesen Graphen zum schnellsten im Ökosystem zu machen. Die 1.1.4-Rücknahme ist ein Schritt zurück auf der Geschwindigkeitskurve und ein Schritt vorwärts auf der Korrektheitskurve; das Team verlangsamt weder das eine noch das andere, liefert aber auch keinen schnellen, aber falschen Standard.

Häufig gestellte Fragen

Claude Code 2.1.198 macht Claude in Chrome allgemein verfügbar, lässt Hintergrund-Agenten committen, pushen und Draft-PRs öffnen, ergänzt die `/dataviz`-Skill und führt Claude Platform on AWS in der Gateway ein

Anthropic hat Claude Code [v2.1.198](https://github.com/anthropics/claude-code/releases/tag/v2.1.198) am 2026-07-01T20:45:36Z veröffentlicht, am zweiten Tag in Folge mit einer Claude-Code-Auslieferung nach der v2.1.197 (die Sonnet 5 zum Standardmodell machte) am Vortag. Die wichtigste Änderung ist, dass Claude in Chrome in Claude Code nun allgemein verfügbar ist: der Assistenz-Agent im Browser, der sich noch in der Research Preview befand, wechselt auf einen stabilen Kanal und ist nicht mehr hinter einem Feature-Flag oder einer Warteliste versteckt. Die Version liefert außerdem die erste Ende-zu-Ende-Automatisierung für Hintergrund-Agenten in `claude agents`, die committen, pushen und einen Draft-Pull-Request öffnen, wenn sie eine Code-Aufgabe in einem Worktree abschließen, anstatt anzuhalten und nachzufragen. Weitere nennenswerte Ergänzungen: eine `/dataviz`-Skill für Diagramm- und Dashboard-Design mit einem ausführbaren Farbpaletten-Validator, ein Gateway-Upstream für Claude Platform on AWS (`anthropicAws`), bei dem model-not-found-Antworten die Failover-Kette weiterreichen, ein eingebauter Explore-Agent, der nun das Modell der Hauptsitzung übernimmt (gedeckelt auf Opus) statt auf Haiku zu laufen, sowie Sub-Agenten, die die Extended-Thinking-Konfiguration der übergeordneten Sitzung übernehmen. Die Version entfernt außerdem den `/agents`-Wizard und ersetzt ihn durch den konversationellen Ablauf, behebt eine lange Liste von Zuverlässigkeits-Bugs rund um Hintergrund-Agenten, Netzwerkabbrüche und Plattform-Authentifizierung und verbessert die Syntaxhervorhebung durch ein Upgrade auf highlight.js 11.

Verwandte Artikel

Weitere Berichterstattung zu ähnlichen Themen und Tags.

Prettier 3.9 überholt fünf Parser: micromark für Markdown, yaml v2, GraphQL.js v17, ein Rust-basierter Flow-Parser und Angular
tooling

Prettier 3.9 überholt fünf Parser: micromark für Markdown, yaml v2, GraphQL.js v17, ein Rust-basierter Flow-Parser und Angular

Prettier 3.9.0, veröffentlicht am 27. Juni 2026 (prettier/prettier, Blogpost von Fisker Cheung), ist eine parserlastige Version, die Markdown von remark-parse v8 auf micromark v4 hebt (bessere CommonMark- und GFM-Konformität sowie eine Reihe lange bestehender Parsing-Bugs behoben), YAML auf yaml v2, GraphQL auf GraphQL.js v17 (Fragment-Argumente und Direktiven auf Direktivdefinitionen), Flow auf den neuen Rust-basierten oxidized-Parser des Flow-Teams (rund 37 % schneller bei Prettiers gültigen Flow-Fixtures und 43 % schneller bei flow_parser.js in lokalen Parser-only-Benchmarks) und Angular. Auch der JavaScript- und TypeScript-Printer wurde überarbeitet, insbesondere im --no-semi-Modus, wo Kommentare um break und continue jetzt über mehrere Durchläufe stabil sind (ein Idempotenz-Fix), sowie redundante Klammern in return, die Ausrichtung von eingebetteten Template-Interpolationen und das Inlining von logischen Negationen. Die Version entfernt die veraltete import ... assert {}-Syntax (Babel 8 hat das Parser-Plugin entfernt; migriert zu with), repariert eine stillschweigend defekte Option --cache-strategy content und verhindert, dass EditorConfig-Dateien oberhalb von Git-Worktrees einsickern. Das Team erinnert daran, die genaue Version in der package.json festzupinnen, da die Formatierungsänderungen Diffs erzeugen.
Playwright v1.61.0: WebAuthn-Passkeys, eine echte WebStorage-API und Trace-artige Video-Modi für den Test-Runner
tooling

Playwright v1.61.0: WebAuthn-Passkeys, eine echte WebStorage-API und Trace-artige Video-Modi für den Test-Runner

Playwright v1.61.0 (15. Juni 2026) liefert einen virtuellen Authenticator für WebAuthn/Passkey-Zeremonien, eine erstklassige page.localStorage / page.sessionStorage-API, Netzwerk-Security-Details auf APIResponses und bringt die Video-Aufzeichnung des Test-Runners auf Parität mit der Trace-Aufzeichnung. Browser-Kanäle: Chromium 149, Firefox 151, WebKit 26.5.
Vite 8.1 Beta: direkte `.wasm`-Imports, `build.chunkImportMap` und `server.hmr` → `server.ws`-Umbenennung
tooling

Vite 8.1 Beta: direkte `.wasm`-Imports, `build.chunkImportMap` und `server.hmr` → `server.ws`-Umbenennung

Vite 8.1.0-beta.0 (15. Juni 2026) ist die erste Beta der 8.1-Linie. Sie liefert den WASM-ESM-Integration-Standard als direkte .wasm-Imports, eine build.chunkImportMap-Option, die Import Maps nutzt, um Chunk-Cache-Hit-Raten zu verbessern, die Integration mit Vite Task für Zero-Config-Build-Caching, Support für lightningcss-Plugin-Dependencies, und einen Breaking Rename, der alle `server.hmr`-Optionen nach `server.ws` verschiebt.

Kommentare

Anmelden Melden Sie sich an, um an der Diskussion teilzunehmen.

Noch keine Kommentare. Seien Sie der Erste, der seine Gedanken teilt.