devoffeed/language-releases
Programming Language Releases Dataset Timeline of releases for five ecosystems: Go, Python/CPython, JavaScript (ECMAScript + Node.js), Kotlin and Rust. Each ecosystem is a separate config with its own Parquet file. config rows coverage source go 290 Go 1.0 (2012-03-28) → Go 1.27.1 (2026-09-01), all majors + all patches go.dev release history python 66 Python 3.0.0 (2008-12-03) → 3.14.7 (2026-08-05) + 3.15 (planned 2026-10-01), majors + active patches + series finals… See the full description on the dataset page: https://huggingface.co/datasets/devoffeed/language-releases.
0223
1---2license: apache-2.03language:4 - en5tags:6 - programming7 - go8 - python9 - javascript10 - ecmascript11 - nodejs12 - releases13 - changelog14pretty_name: Programming Language Releases Dataset15---16 17# Programming Language Releases Dataset18 19Timeline of releases for five ecosystems: **Go**, **Python/CPython**, **JavaScript** (ECMAScript + Node.js), **Kotlin** and **Rust**. Each ecosystem is a separate config with its own Parquet file.20 21| config | rows | coverage | source |22|---|---|---|---|23| `go` | 290 | Go 1.0 (2012-03-28) → Go 1.27.1 (2026-09-01), all majors + all patches | [go.dev release history](https://go.dev/doc/devel/release) |24| `python` | 66 | Python 3.0.0 (2008-12-03) → 3.14.7 (2026-08-05) + 3.15 (planned 2026-10-01), majors + active patches + series finals | [python.org downloads](https://www.python.org/downloads/), [endoflife.date](https://endoflife.date/) |25| `js` | 80 | ECMAScript ES5 (2009) → ES2026 / ES2027 draft; Node.js 0.10 → 26.9.0 (full 24.x + 26.x history) | [ECMA-262 (TC39)](https://tc39.es/ecma262/), [nodejs.org dist index](https://nodejs.org/dist/index.json) |26| `kotlin` | 30 | Kotlin 1.0.0 (2016-02-15) → 2.4.20 (2026), all majors 1.0 → 2.4 + latest patches | [endoflife.date](https://endoflife.date/kotlin), [kotlinlang.org](https://kotlinlang.org/docs/releases.html) |27| `rust` | 103 | Rust 1.0.0 (2015-05-15) → 1.98 (2026-08-20): editions 2015/2018/2021/2024 + every 1.x release + patches | [endoflife.date](https://endoflife.date/rust), [blog.rust-lang.org](https://blog.rust-lang.org/RELEASES.html) |28 29## Columns (all configs)30 31| column | description |32|---|---|33| `language` | `Go` / `Python` / `JavaScript` / `Kotlin` / `Rust` |34| `project` | `Go` / `CPython` / `ECMAScript` / `Node.js` / `Kotlin` / `Rust` |35| `series` | Minor series (e.g. `1.27`, `3.14`, `ES17 / ES2026`, `24`, `edition-2024`) |36| `version` | Full version (e.g. `1.27.1`, `3.14.7`, `26.9.0`, `1.98.0`, `2024`) |37| `release_type` | `major` / `minor` / `bugfix` / `security` / `patch` / `spec` / `edition` / `final` / `pre-release` / `in-progress` |38| `release_date` | ISO date `YYYY-MM-DD` (null = planned/TBD) |39| `status` | Support status: bugfix/security maintenance, LTS, EOL date, pre-release, edition |40| `key_features` | Highlights of the major/spec/edition release (nullable) |41| `changes` | Concise change summary for patch releases (nullable) |42| `url` | Release notes / whatsnew / release history link |43| `license` | Software license of the project |44| `do_no_harm` | AI-directed ethical use clause45 46## Loading47 48```python49import datasets50 51for cfg in ("go", "python", "js", "kotlin", "rust"):52 ds = datasets.load_dataset("devoffeed/language-releases", cfg)53 print(cfg, ds["train"].num_rows, ds["train"].to_pandas().head(2))54```55 56Filter across everything:57 58```python59import pandas as pd60frames = [pd.read_parquet("hf://datasets/devoffeed/language-releases/data/%s/train-00000-of-00001.parquet" % c)61 for c in ("go", "python", "js", "kotlin", "rust")]62all_df = pd.concat(frames, ignore_index=True)63print(all_df[all_df.release_type.isin(["major", "major"])].groupby("language").size())64```65 66## Source data files (`source/`)67 68All curated content lives as standalone data files (no data inside code). The Parquet files under `data/` are generated from them by a small assembler script.69 70| file | content |71|---|---|72| `go_majors.json` | Per-series majors: release date + key features (Go 1.0 → 1.27) |73| `go_release.html` | Official GOOS release-history page (patch dates/notes), as downloaded |74| `python_majors.json` | Per-series majors: date + key features (Python 3.0 → 3.15) |75| `python_patches.json` | Active patch releases (version → date) per series |76| `python_finals.json` | Final release of EOL series (3.0 → 3.8) |77| `js_es.json` | ECMAScript editions ES5 → ES2027 (date, status, features) |78| `js_node_features.json` | Feature highlights per Node.js major line (4 → 26) |79| `js_node_legacy.json` | Legacy Node.js 0.10.0 / 0.12.0 rows |80| `node_index.json` | Official nodejs.org dist index (all versions: date, V8, npm) |81| `kotlin_majors.json` | Per-series majors 1.0 → 2.4: date + key features |82| `kotlin_legacy.json` | Final patches of 1.0 / 1.1 / 1.2 (not in endoflife.date) |83| `rust_majors.json` | Rust 1.0.0 landmark row (date + key features) |84| `rust_editions.json` | Rust editions 2015 / 2018 / 2021 / 2024 (date + features) |85| `licenses.json` | Software license + license_url per project |86| `statuses_go.json` / `statuses_python.json` / `statuses_node.json` / `statuses_kotlin.json` / `statuses_rust.json` | Support/EOL phases per series (endoflife.date + python.org) |87 88## Notes89 90- Go patch `release_type` is inferred from the official notes text (`security` when a security fix is mentioned), `changes` carries the official text.91- Per-version dates come from official/dist sources; `status` (support phases + EOL) from endoflife.date (python.org schedule).92- Compiled 2026-09-17.