Explore · Breaking

Breaking Changes per Major Version

Verified breaking changes between major versions, with migration hints. Call this before any major-version bump.

Recent breaking changes (12)

PackageFrom → ToTypeBreaking changeMigration hint
cargo/reqwest0.110.12apiHttp/hyper 1.0 upgrade. TLS backend features renamed; default TLS now rustls (was native-tls).For native-tls, enable `features = ["native-tls"]` explicitly. Blocking API shape unchanged for most users.
cargo/axum0.60.7api`axum::extract::Body` moved to `axum::body::Body`. `axum::extract::RawBody` removed. http/hyper dependencies bumped.Global search-and-replace `axum::extract::Body` -> `axum::body::Body`. Match on updated middleware signatures.
npm/@angular/core1819apiStandalone components are the default (modules optional). SSR with hydration events.New projects get standalone by default. Existing NgModule-based apps continue to work — migrate at your pace with `ng generate @angular/core:standalone`.
npm/@angular/core1718apiSignal-based reactivity stable; `@if` / `@for` / `@switch` control flow default.Angular schematics auto-migrate *ngIf / *ngFor to the new control flow: `ng update @angular/core@18`.
npm/nuxt23apiComplete rewrite on Vue 3 + Vite + Nitro. Different directory layout, different auto-imports, different modules API.Not a migration — a rewrite. Use the official migration guide or consider Nuxt 2 LTS (frozen).
pypi/ruff0.50.8configFormatter and linter config merged under [tool.ruff] with `lint` and `format` sub-tables. Output of some rules changed.Run `ruff check --fix` after upgrade. For CI pinning, pin an exact version — ruff makes breaking rule-output changes between minors.
pypi/pandas12apiPyArrow-backed dtypes, copy-on-write (CoW) opt-in then default in 3.0, nullable dtypes default.Set `pd.set_option('mode.copy_on_write', True)` to preview Pandas 3 semantics. Audit chained indexing (df[...][...] = ...).
pypi/numpy12apiNumPy 2.0 released 2024: cleaned up main namespace (many aliases removed), promotion rules for mixed types tightened (NEP 50).Run `ruff check --select NPY2` (numpy-deprecation rules). Pin `numpy<2` for legacy code; for new code, upgrade and fix the small set of renamings.
swift/swift56apiTyped throws: `func foo() throws(MyError)` — errors carry their concrete type.Opt-in. Existing untyped throws continue to work. Use typed throws for libraries where callers need exhaustive handling.
swift/swift56behaviorStrict data-race safety by default (complete concurrency checking). Existing code with data races now warns or errors.Opt in progressively with `-warnings-as-errors` disabled first. Mark shared state with `@MainActor` / `Sendable` / `nonisolated(unsafe)` as needed.
nuget/Microsoft.NETCore.App8.09.0runtime.NET 9 (STS release). Improvements to AOT, System.Text.Json, LINQ. HybridCache API new.STS = Standard Term Support (18 months). For long-running production stick to .NET 8 LTS (until Nov 2026).
nuget/Microsoft.EntityFrameworkCore7.08.0apiComplex types (value objects), JSON columns for non-owned types, hierarchyid for SQL Server.Opt-in. Existing models continue to work. Consider migrating owned-entity types to ComplexProperty for better DX.
Sample of curated entries across ecosystems. Search for a specific package above.

What we track

Curated major-version transitions for packages that matter to AI coding agents: React, Next.js, Prisma, Express, Node, TypeScript, ESLint, Tailwind, Vite, Pydantic, SQLAlchemy, Django, Python, Rust editions, Rails, Laravel, Symfony, Spring Boot, Jakarta EE, .NET, Swift and more. Each entry links the breaking behaviour with a tested migration command or code pattern.