plain-assets changelog
0.3.0 (2026-05-12)
What's changed
- Command renamed:
plain assets build→plain assets compile. Now that the command lives underplain.assets(not core deploy-prep), the verb follows what the asset pipeline actually does. Pre-steps (user shell commands, package entry points) generate inputs that get compiled. (3b30b62309) - User shell commands move from
[tool.plain.assets.build.run]to[tool.plain.assets.run]. Drops the redundant.build.segment. - Entry-point group renamed from
plain.assets.buildtoplain.assets.compile. Packages registering pre-compile hooks update their group name.
Upgrade instructions
- Replace
plain assets buildwithplain assets compilein deploy scripts, Procfiles, and CI. - Rename
[tool.plain.assets.build.run]→[tool.plain.assets.run]in yourpyproject.toml. - If you ship a third-party package with a build entry point, rename the group from
plain.assets.buildtoplain.assets.compile. Framework-internal packages (plain.tailwind,plain.esbuild) are updated in this release wave.
0.2.0 (2026-05-12)
What's changed
- Build orchestrator namespace renamed from
plain.buildtoplain.assets.buildso the contract follows the package that owns it. (f698ec3436)- User-defined commands move from
[tool.plain.build.run]to[tool.plain.assets.build.run]inpyproject.toml. - Package entry points move from
[project.entry-points."plain.build"]to[project.entry-points."plain.assets.build"].
- User-defined commands move from
- README documents the build hooks (
[tool.plain.assets.build.run]for shell commands, the entry-point group for packages) under a new "Pre-compile build steps" section.
Upgrade instructions
Rename your
pyproject.toml:# Before [tool.plain.build.run] openapi = {cmd = "..."} # After [tool.plain.assets.build.run] openapi = {cmd = "..."}If you ship a third-party package that registers a build entry point, rename your entry-point group from
plain.buildtoplain.assets.build. The framework-internal packages (plain.tailwind,plain.esbuild) are updated in this release wave.
0.1.0 (2026-05-12)
What's changed
- First release.
plain.assetsis now a separate package, extracted fromplaincore (844f46e428). It owns:- The asset finder, manifest, compile pipeline,
AssetView, andAssetsRouter - The
plain assets buildCLI command (replaces the oldplain build) - The
asset()template global - Settings:
ASSETS_REDIRECT_ORIGINAL,ASSETS_CDN_URL,ASSETS_LOG_304
- The asset finder, manifest, compile pipeline,
Upgrade instructions
- Install the package and add it to
INSTALLED_PACKAGES— see theplain0.142.0 release notes for the full migration.