mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-07 18:18:42 -05:00
[PR #1407] [MERGED] PR-4: TinyTorch release prep — MIT/CC-BY-NC-SA dual licensing + v0.10.0 + workflow explicit-version override #6527
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/harvard-edge/cs249r_book/pull/1407
Author: @profvjreddi
Created: 4/19/2026
Status: ✅ Merged
Merged: 4/19/2026
Merged by: @profvjreddi
Base:
dev← Head:release-prep/tinytorch-prep📝 Commits (4)
35b52afchore(tinytorch): MIT LICENSE (replace Apache-2.0 stub) + dual-license NOTICEdfd6947release(tinytorch): bump v0.1.9 → v0.10.0 (Volume II launch milestone)b7043b0ci(tinytorch-publish): explicit-version override + cover settings.ini41997fffix(tinytorch): ship 00_tinytorch.pdf so big-picture viewer renders📊 Changes
9 files changed (+173 additions, -205 deletions)
View changed files
📝
.github/workflows/tinytorch-publish-live.yml(+48 -10)📝
tinytorch/.gitignore(+11 -0)➕
tinytorch/CHANGELOG.md(+56 -0)📝
tinytorch/LICENSE(+46 -190)📝
tinytorch/pyproject.toml(+1 -1)📝
tinytorch/settings.ini(+1 -1)📝
tinytorch/site-quarto/_quarto.yml(+7 -0)➕
tinytorch/site-quarto/assets/downloads/00_tinytorch.pdf(+0 -0)📝
tinytorch/site/_static/announcement.json(+3 -3)📄 Description
Summary
Prep TinyTorch for the v0.10.0 release that ships alongside the
Volume II launch. Three commits, all TinyTorch-scoped, no impact on
other subsites.
What's in this PR
1. License clarification (Apache 2.0 stub → MIT + dual-license NOTICE).
The repo had drifted:
tinytorch/LICENSEdeclared Apache 2.0, butpyproject.tomlandsettings.inideclared MIT. This commit makesMIT the source of truth (matches packaging metadata, matches the
"academic now, commercially-friendly later" intent of the project).
The replacement file ALSO carries a NOTICE explaining the dual-
licensing structure that makes TinyTorch fit cleanly inside the
MLSysBook ecosystem:
packaging) — MIT, freely embeddable in commercial / research
projects.
notebooks, problem statements, instructor materials) — CC-BY-NC-SA
4.0 via the textbook's root LICENSE.md.
code cells are MIT, the prose is CC-BY-NC-SA. NOTICE explains
when in doubt.
This reflects the practical reality of the codebase rather than
forcing it into a single license.
2. Version bump v0.1.9 → v0.10.0 (Volume II launch milestone).
Non-incremental jump, intentional — calls out v0.10.0 as a meaningful
educational milestone rather than continuing the patch-counter from
v0.1.x. Updates:
tinytorch/pyproject.toml(single source of truth)tinytorch/settings.ini(nbdev / tito metadata — was being missedby the publish workflow, fixed in commit 3 below)
tinytorch/site/_static/announcement.json(legacy Sphinx asset,kept for now to avoid orphaning the artifact pre-cleanup)
tinytorch/CHANGELOG.mddocumenting the v0.10.0 release plusolder versions and the stylistic conventions for future entries.
3. Workflow: explicit-version input + settings.ini coverage.
tinytorch-publish-live.ymlupdates:explicit_versioninput onworkflow_dispatch. Lets amaintainer ship a specific X.Y.Z (e.g. the v0.10.0 jump above)
without relying on the patch/minor/major auto-bump math. Validates
^[0-9]+\\.[0-9]+\\.[0-9]+$and refuses to re-tag an existingrelease.
settings.ini(wasmissing — caused version drift between pyproject and settings).
git addin the commit step now listssettings.iniso theauto-bump commit includes it.
Risk surface
No new restrictions on any user; if anything, slightly looser. CC-
BY-NC-SA on educational content is unchanged.
rebuild from the same source.
patch/minor/major auto-bump path is untouched. Backwards-compatible.
Test plan
tinytorch-publish-live.ymlwithexplicit_version=0.10.0in TESTING MODE; verify the versionstring is computed correctly without actually tagging.
grep version tinytorch/pyproject.toml tinytorch/settings.iniboth show 0.10.0.
tinytorch/LICENSE— visually verify MIT textand NOTICE block.
Related but separate
The Volume I/II per-volume versioning refactor (similar in spirit but
for the book) is in PR-4b (release-prep/book-versioning), since it
touches
book-publish-live.ymland the per-volumeindex.qmdfiles— different blast radius, deserves a focused review.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.