Software

Useful pages.
No nonsense.

Languages, runtimes, operating systems, and IDEs — every public release with what changed, how to check what you have, and the corporate and engineering history around each line.

Android Versions

Every public release of Android — version, dessert codename, API level, initial release date, and what materially changed — with the corporate and legal story around it (the founding, the dessert era, the Oracle Java case, the Huawei break, the Epic verdict).

Open →

Windows Versions

Every public release of Microsoft Windows over forty years — codename, ship date, and headline changes — plus the antitrust, corporate, and engineering history around it. From Windows 1.0 (1985) through Copilot+ PCs (2024).

Open →

iOS Versions

Every public release of iOS, from iPhone OS 1 in 2007 through iOS 26 — what each version changed, plus the App Store, App Tracking Transparency, Epic v. Apple, and EU Digital Markets Act story around the platform.

Open →

Mac Versions

Every public release of the Macintosh operating system over forty years — System 1.0 (1984) through macOS 26 Tahoe (2025) — with codename, era, and headline changes. Plus the NeXT acquisition, the Microsoft investment, the Intel and Apple Silicon transitions, the Liquid Glass redesign, and the rest of the surrounding history.

Open →

.NET Versions

Every public release of .NET — .NET Framework 1.0 (2002) through .NET 10 (2025) — with end-of-life dates, LTS / STS support windows, and the major changes per version. Plus the Mono lineage, the Connect(); 2014 open-source pivot, the Xamarin acquisition, and the .NET 5 unification. Includes the dotnet CLI commands to inspect or pin your install.

Open →

Java Versions

Every public release of Java — JDK 1.0 (1996) through Java 26 (2026) — with LTS status, Oracle and third-party end-of-life dates, and the major changes per version. Plus a comparison of the major OpenJDK distributions (Oracle, Temurin, Corretto, Zulu, Microsoft, Red Hat, IBM Semeru, GraalVM), the Sun launch, the Oracle acquisition, the API lawsuit, the OpenJDK split, the six-month cadence, and Project Loom virtual threads.

Open →

C# Versions

Every public release of the C# language — C# 1.0 (2002) through C# 14 (2025) — mapped to the .NET version that ships it, with the headline language features each one introduced. Generics, LINQ, async / await, the Roslyn rewrite, nullable reference types, records, pattern matching, primary constructors. Plus the <LangVersion> and #error version commands to inspect or pin your project.

Open →

Kotlin Versions

Every public release of Kotlin — Kotlin 1.0 (2016) through the current 2.x line — with the K1 / K2 compiler progression, Kotlin Multiplatform target stability per release, and the headline language features per version. Plus the JetBrains origin, the Google I/O 2017 first-class Android announcement, coroutines and structured concurrency, the multi-year K2 frontend rewrite, and the November 2023 KMP stable launch.

Open →

Python Versions

Every public release of Python — from Python 0.9.0 (1991) through Python 3.14 (2025) — with end-of-life dates, current support state (Bugfix / Security / EOL), and the headline changes per version. Plus the December 2008 Python 2 / 3 split and the eleven-year migration to Sunset Day, Guido van Rossum's July 2018 resignation, the Steering Council, the Faster CPython project, and the free-threaded / no-GIL push. Includes the python --version, pyenv, and uv commands to inspect or pin your install.

Open →

TypeScript Versions

Every public release of TypeScript — from TypeScript 0.8 (2012) through TypeScript 6.0 (March 2026) — with ship dates and the headline type-system features per version. Anders Hejlsberg's design lineage, the AtScript merger with Google's Angular team, the strictNullChecks revolution, conditional and template literal types, the decorators long road to Stage 3, native-TypeScript-in-runtimes (Deno, Bun, Node 22+), and the Go-rewrite arc from the March 2025 announcement through TS 6.0 as the final JavaScript-codebase compiler and the @typescript/native-preview 7.0 nightly. Includes tsc --version, npm ls typescript, and the VS Code TS Server selection recipe.

Open →

JavaScript Versions

Every ECMAScript edition — from ES1 (1997) through ES2026 (finalized December 2025) — with the headline language features per year. Plus a feature-to-year lookup (when did async/await ship? when did optional chaining?), an engine-support matrix (V8, SpiderMonkey, JavaScriptCore), and prose history covering Brendan Eich's ten-day prototype, the JavaScript / Java naming dispute, the original engine wars, the ES4 collapse, the December 2009 ES5 detente, the June 2015 ES6 watershed, the TC39 stage process, and the Node.js fork-of-V8 lineage.

Open →

Swift Versions

Every public release of Swift — Swift 1.0 (2014) through the current 6.x line — with the Xcode version that ships each release, headline language features, and the concurrency-progression arc from GCD through async/await to strict concurrency. Plus the Chris Lattner / LLVM origin, the December 2015 open-source moment, the Swift Evolution process, and the Swift 6 strict-concurrency push.

Open →

Android Studio Versions

Every public stable release of Android Studio — Studio 1.0 (2014) through the current alphabetical-animal codename line — with the minimum supported Android Gradle Plugin, Gradle, Kotlin Gradle Plugin, and JDK versions for each release. The least you have to upgrade to keep building, in one place. Plus a JDK explainer for the three different JDKs (Studio's, Gradle's, the toolchain’s) that get conflated when an upgrade goes wrong.

Open →

Xcode Versions

Every public release of Xcode — Xcode 1.0 (2003) through the current line — with the minimum supported macOS to install, the bundled Swift version, the iOS / iPadOS / macOS / tvOS / watchOS / visionOS SDK set, and the current App Store submission floor. The Apple-side counterpart to the Android Studio cascade, with the macOS upgrade as the binding constraint and the App Store submission floor as the silent failure mode.

Open →