Plain is headed towards 1.0! Subscribe for development updates →

plain changelog

0.52.2 (2025-06-27)

What's changed

  • Improved documentation for the assets subsystem: the AssetsRouter reference in the Assets README now links directly to the source code for quicker navigation (65437e9)

Upgrade instructions

  • No changes required

0.52.1 (2025-06-27)

What's changed

  • Fixed plain help output on newer versions of Click by switching from MultiCommand to Group when determining sub-commands (9482e42)

Upgrade instructions

  • No changes required

0.52.0 (2025-06-26)

What's changed

  • Added plain-changelog as a standalone executable so you can view changelogs without importing the full framework (e4e7324)
  • Removed the runtime dependency on the packaging library by replacing it with an internal version-comparison helper (e4e7324)
  • Improved the error message when a package changelog cannot be found, now showing the path that was looked up (f3c82bb)
  • Fixed an f-string issue that broke plain.debug.dd on Python 3.11 (ed24276)

Upgrade instructions

  • No changes required

0.51.0 (2025-06-24)

What's changed

  • New plain changelog CLI sub-command to quickly view a package’s changelog from the terminal. Supports --from/--to flags to limit the version range (50f0de7).

Upgrade instructions

  • No changes required

0.50.0 (2025-06-23)

What's changed

  • The URL inspection command has moved; run plain urls list instead of the old plain urls command (6146fcb)
  • plain preflight gains a simpler --database flag that enables database checks for your default database. The previous behaviour that accepted one or more database aliases has been removed (d346d81)
  • Settings overhaul: use a single DATABASE setting instead of DATABASES/DATABASE_ROUTERS (d346d81)

Upgrade instructions

  • Update any scripts or documentation that call plain urls …:

    • Replace plain urls --flat with plain urls list --flat
  • If you invoke preflight checks in CI or locally:

    • Replace plain preflight --database <alias> (or multiple aliases) with the new boolean flag: plain preflight --database
  • In settings.py migrate to the new database configuration:

    # Before
    DATABASES = {
        "default": {
            "ENGINE": "plain.backends.sqlite3",
            "NAME": BASE_DIR / "db.sqlite3",
        }
    }
    
    # After
    DATABASE = {
        "ENGINE": "plain.backends.sqlite3",
        "NAME": BASE_DIR / "db.sqlite3",
    }
    

    Remove any DATABASES and DATABASE_ROUTERS settings – they are no longer read.