plain 0.68.0__tar.gz → 0.68.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {plain-0.68.0 → plain-0.68.1}/PKG-INFO +1 -1
- {plain-0.68.0 → plain-0.68.1}/plain/CHANGELOG.md +11 -1
- {plain-0.68.0 → plain-0.68.1}/plain/preflight/registry.py +1 -1
- {plain-0.68.0 → plain-0.68.1}/pyproject.toml +1 -1
- {plain-0.68.0 → plain-0.68.1}/.gitignore +0 -0
- {plain-0.68.0 → plain-0.68.1}/LICENSE +0 -0
- {plain-0.68.0 → plain-0.68.1}/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/AGENTS.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/__main__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/assets/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/assets/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/assets/compile.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/assets/finders.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/assets/fingerprints.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/assets/urls.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/assets/views.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/chores/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/chores/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/chores/registry.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/agent/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/agent/docs.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/agent/llmdocs.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/agent/md.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/agent/prompt.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/agent/request.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/build.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/changelog.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/chores.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/core.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/docs.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/formatting.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/install.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/output.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/preflight.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/print.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/registry.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/scaffold.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/settings.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/shell.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/startup.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/upgrade.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/urls.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/cli/utils.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/csrf/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/csrf/middleware.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/csrf/views.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/debug.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/exceptions.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/forms/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/forms/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/forms/boundfield.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/forms/exceptions.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/forms/fields.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/forms/forms.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/http/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/http/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/http/cookie.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/http/multipartparser.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/http/request.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/http/response.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/files/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/files/base.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/files/locks.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/files/move.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/files/temp.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/files/uploadedfile.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/files/uploadhandler.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/files/utils.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/handlers/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/handlers/base.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/handlers/exception.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/handlers/wsgi.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/middleware/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/middleware/headers.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/middleware/hosts.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/middleware/https.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/internal/middleware/slash.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/json.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/logs/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/logs/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/logs/configure.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/logs/debug.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/logs/formatters.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/logs/loggers.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/logs/utils.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/packages/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/packages/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/packages/config.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/packages/registry.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/paginator.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/preflight/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/preflight/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/preflight/checks.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/preflight/files.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/preflight/results.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/preflight/security.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/preflight/urls.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/runtime/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/runtime/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/runtime/global_settings.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/runtime/user_settings.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/runtime/utils.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/signals/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/signals/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/signals/dispatch/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/signals/dispatch/dispatcher.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/signals/dispatch/license.txt +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/signing.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/templates/AGENTS.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/templates/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/templates/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/templates/core.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/templates/jinja/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/templates/jinja/environments.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/templates/jinja/extensions.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/templates/jinja/filters.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/templates/jinja/globals.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/test/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/test/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/test/client.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/test/encoding.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/test/exceptions.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/urls/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/urls/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/urls/converters.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/urls/exceptions.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/urls/patterns.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/urls/resolvers.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/urls/routers.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/urls/utils.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/cache.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/crypto.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/datastructures.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/dateparse.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/deconstruct.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/decorators.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/duration.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/encoding.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/functional.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/hashable.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/html.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/http.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/inspect.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/ipv6.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/itercompat.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/module_loading.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/regex_helper.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/safestring.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/text.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/timesince.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/timezone.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/utils/tree.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/validators.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/views/README.md +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/views/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/views/base.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/views/errors.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/views/exceptions.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/views/forms.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/views/objects.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/views/redirect.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/views/templates.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/plain/wsgi.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/.gitignore +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/app/.gitignore +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/app/settings.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/app/test/__init__.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/app/test/default_settings.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/app/urls.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/conftest.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/test_cli.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/test_csrf.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/test_http_hosts.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/test_logs.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/test_runtime.py +0 -0
- {plain-0.68.0 → plain-0.68.1}/tests/test_wsgi.py +0 -0
@@ -1,5 +1,15 @@
|
|
1
1
|
# plain changelog
|
2
2
|
|
3
|
+
## [0.68.1](https://github.com/dropseed/plain/releases/plain@0.68.1) (2025-09-25)
|
4
|
+
|
5
|
+
### What's changed
|
6
|
+
|
7
|
+
- Preflight checks are now sorted by name for consistent ordering ([cb8e160](https://github.com/dropseed/plain/commit/cb8e160934))
|
8
|
+
|
9
|
+
### Upgrade instructions
|
10
|
+
|
11
|
+
- No changes required
|
12
|
+
|
3
13
|
## [0.68.0](https://github.com/dropseed/plain/releases/plain@0.68.0) (2025-09-25)
|
4
14
|
|
5
15
|
### What's changed
|
@@ -11,7 +21,7 @@
|
|
11
21
|
|
12
22
|
### Upgrade instructions
|
13
23
|
|
14
|
-
-
|
24
|
+
- Update any uses of the `plain preflight` command to `plain preflight check`, and remove the `--database` and `--fail-level` options which no longer exist
|
15
25
|
- Custom preflight checks should be class based, extending `PreflightCheck` and implementing the `run()` method
|
16
26
|
- Preflight checks need to be registered with a custom name (ex. `@register_check("app.my_custom_check")`) and optionally with `deploy=True` if it should run in only in deploy mode
|
17
27
|
- Preflight results should use `PreflightResult` (optionally with `warning=True`) instead of `preflight.Warning` or `preflight.Error`
|
@@ -28,7 +28,7 @@ class CheckRegistry:
|
|
28
28
|
"Check for typos or remove outdated check names."
|
29
29
|
)
|
30
30
|
|
31
|
-
for name, (check_class, deploy) in self.checks.items():
|
31
|
+
for name, (check_class, deploy) in sorted(self.checks.items()):
|
32
32
|
# Skip silenced checks
|
33
33
|
if name in silenced_checks:
|
34
34
|
continue
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|