bustapi 0.13.1__tar.gz → 0.13.4__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.
- {bustapi-0.13.1 → bustapi-0.13.4}/.github/workflows/manual-publish.yml +3 -5
- {bustapi-0.13.1 → bustapi-0.13.4}/.gitignore +2 -0
- bustapi-0.13.4/AGENT_KNOWLEDGE.md +6 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/CHANGELOG.md +24 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/Cargo.lock +88 -94
- {bustapi-0.13.1 → bustapi-0.13.4}/Cargo.toml +1 -1
- {bustapi-0.13.1 → bustapi-0.13.4}/PKG-INFO +1 -1
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/changelog.md +24 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/responses.md +21 -2
- {bustapi-0.13.1 → bustapi-0.13.4}/pyproject.toml +1 -1
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/__init__.py +1 -1
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/dispatch.py +0 -1
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/http/request.py +2 -0
- bustapi-0.13.4/tests/test_discussion_21.py +242 -0
- bustapi-0.13.4/tests/test_discussion_22.py +60 -0
- bustapi-0.13.4/tests/test_issue_23.py +45 -0
- bustapi-0.13.1/check_path.py +0 -22
- bustapi-0.13.1/create_issues.sh +0 -10
- bustapi-0.13.1/test_trim.rs +0 -13
- {bustapi-0.13.1 → bustapi-0.13.4}/- +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/.github/FUNDING.yml +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/.github/workflows/ci-multiplatform.yml +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/.github/workflows/ci.yml +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/.github/workflows/docs.yml +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/.python-version +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/Dockerfile +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/LICENSE +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/README.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/CACHE_BENCHMARK.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/README.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/app.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/benchmark_all.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/benchmark_avg.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/benchmark_cache.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/benchmark_combined.png +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/bustapi.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/bustapi_bench.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/bustapi_internal.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/comparison_bench.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/comprehensive_benchmark.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/gen_graph.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/quick_bench.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/resource_bench.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/rps_comparison.png +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/run_comparison_auto.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/benchmarks/ws_benchmark.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/advanced/async.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/advanced/blueprints.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/advanced/dependency_injection.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/advanced/deployment.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/advanced/middleware.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/advanced/security.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/advanced/validation.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/api-reference.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/assets/logo.png +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/complete-api-reference.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/deployment-performance-guide.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/deployment.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/examples-guide.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/index.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/installation.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/overrides/.gitkeep +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/quickstart.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/release_track.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/advanced/async_support.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/advanced/blueprints.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/advanced/dependency_injection.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/advanced/middleware.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/advanced/validation.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/api/all.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/api/app.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/api/context.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/api/utilities.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/assets/logo.png +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/changelog.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/core_concepts/request_data.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/core_concepts/responses.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/core_concepts/routing.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/core_concepts/templates.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/examples/index.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/getting_started/index.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/getting_started/quickstart.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/index.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/script.js +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/site/style.css +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/stylesheets/extra.css +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/authentication.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/caching.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/cli.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/database.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/documentation.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/error_handling.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/jwt.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/logging.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/multiprocessing.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/request_data.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/routing.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/sessions.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/static_files.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/templates.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/turbo-routes.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/user-guide/video-streaming.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/docs/websockets.md +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/advanced/08_auto_docs.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/advanced/12_test_modes.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/advanced/13_error_handling.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/advanced/14_middleware.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/advanced/16_middleware_session.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/advanced/20_file_uploads.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/advanced/24_body_and_depends.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/advanced/27_video_stream.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/advanced/28_websocket.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/advanced/29_turbo_websocket.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/basics/01_hello_world.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/basics/02_parameters.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/basics/03_async.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/basics/04_request_data.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/basics/19_all_types.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/database/07_database_raw.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/database/10_database_sqlmodel.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/routing/06_blueprints.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/routing/09_complex_routing.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/routing/21_path_validation.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/routing/22_path_docs.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/routing/23_query_validation.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/routing/blueprint_with_jwt.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/security/10_rate_limit_demo.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/security/11_security_demo.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/security/17_jwt_auth.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/security/17_safe_features.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/security/18_jwt_cookies.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/security/18_safe_advanced.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/security/18_session_login.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/templates/05_templates.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/templates/26_complex_template.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/templates/templates/index.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/turbo/cache_test.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/turbo/fair_benchmark.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/turbo/typed_turbo_example.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/ws/app.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/ws/templates/index.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/ws/websockets_demo.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/examples/ws/ws_limit.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/mkdocs.yml +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/app.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/auth/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/auth/csrf.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/auth/decorators.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/auth/login.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/auth/password.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/auth/tokens.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/auth/user.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/cli/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/cli/main.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/context.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/core/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/core/asgi.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/core/exceptions.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/core/helpers.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/core/logging.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/dependencies.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/documentation/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/documentation/generator.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/extraction.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/fastapi_compat.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/hooks.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/http/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/http/response.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/jwt.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/logging.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/middleware.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/multiprocess.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/params.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/py.typed +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/responses.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/routing/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/routing/blueprints.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/routing/decorators.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/safe/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/safe/concurrency.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/safe/types.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/security/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/security/extension.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/security/rate_limit.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/server/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/server/runner.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/server/wsgi.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/sessions.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/templating/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/templating/engine.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/templating/mixin.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/testing/__init__.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/testing/client.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/utils.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/python/bustapi/websocket.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/run_all_examples.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/scratch/test_abort.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/scratch/test_headers.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/bindings/app.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/bindings/converters.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/bindings/handlers.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/bindings/mod.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/bindings/request.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/bindings/typed_turbo.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/bindings/websocket.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/crypto.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/jwt.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/lib.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/logger.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/rate_limiter.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/request/methods.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/request/mod.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/request/tests.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/response/builders.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/response/methods.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/response/mod.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/router/handlers.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/router/matching.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/router/middleware.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/router/mod.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/router/tests.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/server/handlers.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/server/mod.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/server/startup.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/server/stream.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/static_files.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/templating.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/watcher.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/websocket/config.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/websocket/mod.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/websocket/session.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/src/websocket/turbo.rs +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/static/style.css +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/templates/base.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/templates/complex.html +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/docs_test_all.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/docs_test_api_reference.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/docs_test_installation.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/docs_test_quickstart.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/docs_test_simple.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_050_features.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_async_hooks.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_async_login.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_auth.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_examples.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_hot_reload.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_issue_18.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_jwt.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_jwt_cookies.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_login_manager.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_middleware.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_multiprocess_stability.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_new_examples.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_orm_conflict.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_path_standalone.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_path_validation.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_rate_limit_rust.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_safe.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_security_unit.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_sessions.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/test_zero_copy.py +0 -0
- {bustapi-0.13.1 → bustapi-0.13.4}/tests/verify_router.py +0 -0
|
@@ -4,11 +4,9 @@ on:
|
|
|
4
4
|
workflow_dispatch:
|
|
5
5
|
inputs:
|
|
6
6
|
run_id:
|
|
7
|
-
description:
|
|
7
|
+
description: "CI Run ID to download artifacts from"
|
|
8
8
|
required: true
|
|
9
9
|
type: string
|
|
10
|
-
release:
|
|
11
|
-
types: [published]
|
|
12
10
|
|
|
13
11
|
jobs:
|
|
14
12
|
publish-to-pypi:
|
|
@@ -29,14 +27,14 @@ jobs:
|
|
|
29
27
|
path: dist
|
|
30
28
|
name_is_regexp: true
|
|
31
29
|
name: "wheels-.*|sdist"
|
|
32
|
-
|
|
30
|
+
|
|
33
31
|
- name: Flatten artifacts
|
|
34
32
|
run: |
|
|
35
33
|
# Move all files from subdirectories to dist/ root
|
|
36
34
|
find dist -mindepth 2 -type f -exec mv {} dist/ \;
|
|
37
35
|
# Remove empty subdirectories
|
|
38
36
|
find dist -type d -empty -delete
|
|
39
|
-
|
|
37
|
+
|
|
40
38
|
- name: Display collected files
|
|
41
39
|
run: |
|
|
42
40
|
echo "Files to be published:"
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Agent Knowledge
|
|
2
|
+
|
|
3
|
+
To maintain consistency and performance in the BustAPI codebase, all AI agents must follow these instructions:
|
|
4
|
+
|
|
5
|
+
1. **Python Management**: Use `uv` for all Python-related tasks, including dependency management and running scripts/tests.
|
|
6
|
+
2. **Quality Control**: Always run linting checks (e.g., `ruff check`) before committing any changes to the repository.
|
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented here.
|
|
4
4
|
|
|
5
|
+
## [0.13.4] - 2026-06-02
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Session and Redirect Tests**: Added regression tests (`test_discussion_22.py` and `test_issue_23.py`) to verify `session.permanent` scoping and redirect execution.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Token Double-Reset**: Fixed a `RuntimeError` when returning a response from a synchronous before-request hook by removing a redundant contextvar token reset call in `create_sync_wrapper`.
|
|
12
|
+
|
|
13
|
+
## [0.13.3] - 2026-05-30
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- **CI Linting**: Formatted `generator.py` with `black` to resolve CI linting pipeline failure.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- **Git Config**: Added `*.db` to `.gitignore` to prevent tracking database files.
|
|
20
|
+
|
|
21
|
+
## [0.13.2] - 2026-05-30
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- **Authentication Tests**: Added comprehensive test cases (`test_discussion_21.py`) verifying role and permission decorators (`@roles_required`, `@permission_required`).
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- **Request State Initialization**: Initialized `_login_user` and `_login_fresh` attributes directly on `Request` object instantiation to ensure robust compatibility with login management decorators.
|
|
28
|
+
|
|
5
29
|
## [0.13.1] - 2026-05-03
|
|
6
30
|
|
|
7
31
|
### Fixed
|
|
@@ -8,7 +8,7 @@ version = "0.5.2"
|
|
|
8
8
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9
9
|
checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a"
|
|
10
10
|
dependencies = [
|
|
11
|
-
"bitflags
|
|
11
|
+
"bitflags",
|
|
12
12
|
"bytes",
|
|
13
13
|
"futures-core",
|
|
14
14
|
"futures-sink",
|
|
@@ -29,7 +29,7 @@ dependencies = [
|
|
|
29
29
|
"actix-service",
|
|
30
30
|
"actix-utils",
|
|
31
31
|
"actix-web",
|
|
32
|
-
"bitflags
|
|
32
|
+
"bitflags",
|
|
33
33
|
"bytes",
|
|
34
34
|
"derive_more 2.1.1",
|
|
35
35
|
"futures-core",
|
|
@@ -53,7 +53,7 @@ dependencies = [
|
|
|
53
53
|
"actix-service",
|
|
54
54
|
"actix-utils",
|
|
55
55
|
"base64",
|
|
56
|
-
"bitflags
|
|
56
|
+
"bitflags",
|
|
57
57
|
"brotli",
|
|
58
58
|
"bytes",
|
|
59
59
|
"bytestring",
|
|
@@ -229,7 +229,7 @@ dependencies = [
|
|
|
229
229
|
"serde_json",
|
|
230
230
|
"serde_urlencoded",
|
|
231
231
|
"smallvec",
|
|
232
|
-
"socket2 0.6.
|
|
232
|
+
"socket2 0.6.4",
|
|
233
233
|
"time",
|
|
234
234
|
"tracing",
|
|
235
235
|
"url",
|
|
@@ -354,9 +354,9 @@ dependencies = [
|
|
|
354
354
|
|
|
355
355
|
[[package]]
|
|
356
356
|
name = "autocfg"
|
|
357
|
-
version = "1.5.
|
|
357
|
+
version = "1.5.1"
|
|
358
358
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
359
|
-
checksum = "
|
|
359
|
+
checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
|
|
360
360
|
|
|
361
361
|
[[package]]
|
|
362
362
|
name = "base64"
|
|
@@ -372,15 +372,9 @@ checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
|
|
|
372
372
|
|
|
373
373
|
[[package]]
|
|
374
374
|
name = "bitflags"
|
|
375
|
-
version = "
|
|
375
|
+
version = "2.12.1"
|
|
376
376
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
377
|
-
checksum = "
|
|
378
|
-
|
|
379
|
-
[[package]]
|
|
380
|
-
name = "bitflags"
|
|
381
|
-
version = "2.11.1"
|
|
382
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
383
|
-
checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
|
|
377
|
+
checksum = "84d7ced0ae9557296835c32bf1b1e02b44c746701f898460fb000d7eaa84f00a"
|
|
384
378
|
|
|
385
379
|
[[package]]
|
|
386
380
|
name = "blake2"
|
|
@@ -411,9 +405,9 @@ dependencies = [
|
|
|
411
405
|
|
|
412
406
|
[[package]]
|
|
413
407
|
name = "brotli"
|
|
414
|
-
version = "8.0.
|
|
408
|
+
version = "8.0.3"
|
|
415
409
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
416
|
-
checksum = "
|
|
410
|
+
checksum = "8119e4516436f5708bbc474a9d395bf12f1b5395e93a92a56e647ac3388c8610"
|
|
417
411
|
dependencies = [
|
|
418
412
|
"alloc-no-stdlib",
|
|
419
413
|
"alloc-stdlib",
|
|
@@ -422,9 +416,9 @@ dependencies = [
|
|
|
422
416
|
|
|
423
417
|
[[package]]
|
|
424
418
|
name = "brotli-decompressor"
|
|
425
|
-
version = "5.0.
|
|
419
|
+
version = "5.0.1"
|
|
426
420
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
427
|
-
checksum = "
|
|
421
|
+
checksum = "5962523e1b92ce1b5e793d9169b9943eece10d39f62550bc04bb605d75b94924"
|
|
428
422
|
dependencies = [
|
|
429
423
|
"alloc-no-stdlib",
|
|
430
424
|
"alloc-stdlib",
|
|
@@ -432,13 +426,13 @@ dependencies = [
|
|
|
432
426
|
|
|
433
427
|
[[package]]
|
|
434
428
|
name = "bumpalo"
|
|
435
|
-
version = "3.20.
|
|
429
|
+
version = "3.20.3"
|
|
436
430
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
437
|
-
checksum = "
|
|
431
|
+
checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
|
|
438
432
|
|
|
439
433
|
[[package]]
|
|
440
434
|
name = "bustapi_core"
|
|
441
|
-
version = "0.13.
|
|
435
|
+
version = "0.13.4"
|
|
442
436
|
dependencies = [
|
|
443
437
|
"actix-files",
|
|
444
438
|
"actix-http",
|
|
@@ -497,9 +491,9 @@ dependencies = [
|
|
|
497
491
|
|
|
498
492
|
[[package]]
|
|
499
493
|
name = "cc"
|
|
500
|
-
version = "1.2.
|
|
494
|
+
version = "1.2.63"
|
|
501
495
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
502
|
-
checksum = "
|
|
496
|
+
checksum = "556e016178bb5662a08681bbe0f00f8e17631781a4dfc8c45e466e4b185ec27f"
|
|
503
497
|
dependencies = [
|
|
504
498
|
"find-msvc-tools",
|
|
505
499
|
"jobserver",
|
|
@@ -659,9 +653,9 @@ dependencies = [
|
|
|
659
653
|
|
|
660
654
|
[[package]]
|
|
661
655
|
name = "crypto-common"
|
|
662
|
-
version = "0.2.
|
|
656
|
+
version = "0.2.2"
|
|
663
657
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
664
|
-
checksum = "
|
|
658
|
+
checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453"
|
|
665
659
|
dependencies = [
|
|
666
660
|
"hybrid-array",
|
|
667
661
|
]
|
|
@@ -781,20 +775,20 @@ dependencies = [
|
|
|
781
775
|
|
|
782
776
|
[[package]]
|
|
783
777
|
name = "digest"
|
|
784
|
-
version = "0.11.
|
|
778
|
+
version = "0.11.3"
|
|
785
779
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
786
|
-
checksum = "
|
|
780
|
+
checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
|
|
787
781
|
dependencies = [
|
|
788
782
|
"block-buffer 0.12.0",
|
|
789
783
|
"const-oid",
|
|
790
|
-
"crypto-common 0.2.
|
|
784
|
+
"crypto-common 0.2.2",
|
|
791
785
|
]
|
|
792
786
|
|
|
793
787
|
[[package]]
|
|
794
788
|
name = "displaydoc"
|
|
795
|
-
version = "0.2.
|
|
789
|
+
version = "0.2.6"
|
|
796
790
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
797
|
-
checksum = "
|
|
791
|
+
checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
|
|
798
792
|
dependencies = [
|
|
799
793
|
"proc-macro2",
|
|
800
794
|
"quote",
|
|
@@ -1059,9 +1053,9 @@ dependencies = [
|
|
|
1059
1053
|
|
|
1060
1054
|
[[package]]
|
|
1061
1055
|
name = "hashbrown"
|
|
1062
|
-
version = "0.17.
|
|
1056
|
+
version = "0.17.1"
|
|
1063
1057
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1064
|
-
checksum = "
|
|
1058
|
+
checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
|
|
1065
1059
|
|
|
1066
1060
|
[[package]]
|
|
1067
1061
|
name = "heck"
|
|
@@ -1124,9 +1118,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
|
|
|
1124
1118
|
|
|
1125
1119
|
[[package]]
|
|
1126
1120
|
name = "hybrid-array"
|
|
1127
|
-
version = "0.4.
|
|
1121
|
+
version = "0.4.12"
|
|
1128
1122
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1129
|
-
checksum = "
|
|
1123
|
+
checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da"
|
|
1130
1124
|
dependencies = [
|
|
1131
1125
|
"typenum",
|
|
1132
1126
|
]
|
|
@@ -1283,18 +1277,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
1283
1277
|
checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
|
|
1284
1278
|
dependencies = [
|
|
1285
1279
|
"equivalent",
|
|
1286
|
-
"hashbrown 0.17.
|
|
1280
|
+
"hashbrown 0.17.1",
|
|
1287
1281
|
"serde",
|
|
1288
1282
|
"serde_core",
|
|
1289
1283
|
]
|
|
1290
1284
|
|
|
1291
1285
|
[[package]]
|
|
1292
1286
|
name = "inotify"
|
|
1293
|
-
version = "0.11.
|
|
1287
|
+
version = "0.11.2"
|
|
1294
1288
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1295
|
-
checksum = "
|
|
1289
|
+
checksum = "533e68a5842e734946fe159fb03fc9bbbb254f590dd0d8ad321ae5ff7beca2c1"
|
|
1296
1290
|
dependencies = [
|
|
1297
|
-
"bitflags
|
|
1291
|
+
"bitflags",
|
|
1298
1292
|
"inotify-sys",
|
|
1299
1293
|
"libc",
|
|
1300
1294
|
]
|
|
@@ -1335,9 +1329,9 @@ dependencies = [
|
|
|
1335
1329
|
|
|
1336
1330
|
[[package]]
|
|
1337
1331
|
name = "js-sys"
|
|
1338
|
-
version = "0.3.
|
|
1332
|
+
version = "0.3.99"
|
|
1339
1333
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1340
|
-
checksum = "
|
|
1334
|
+
checksum = "142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11"
|
|
1341
1335
|
dependencies = [
|
|
1342
1336
|
"cfg-if",
|
|
1343
1337
|
"futures-util",
|
|
@@ -1347,9 +1341,9 @@ dependencies = [
|
|
|
1347
1341
|
|
|
1348
1342
|
[[package]]
|
|
1349
1343
|
name = "kqueue"
|
|
1350
|
-
version = "1.
|
|
1344
|
+
version = "1.2.0"
|
|
1351
1345
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1352
|
-
checksum = "
|
|
1346
|
+
checksum = "273c0752728918e0ac4976f2b275b6fefb9ecd400585dec929419f3844cd87b5"
|
|
1353
1347
|
dependencies = [
|
|
1354
1348
|
"kqueue-sys",
|
|
1355
1349
|
"libc",
|
|
@@ -1357,11 +1351,11 @@ dependencies = [
|
|
|
1357
1351
|
|
|
1358
1352
|
[[package]]
|
|
1359
1353
|
name = "kqueue-sys"
|
|
1360
|
-
version = "1.
|
|
1354
|
+
version = "1.1.2"
|
|
1361
1355
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1362
|
-
checksum = "
|
|
1356
|
+
checksum = "07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087"
|
|
1363
1357
|
dependencies = [
|
|
1364
|
-
"bitflags
|
|
1358
|
+
"bitflags",
|
|
1365
1359
|
"libc",
|
|
1366
1360
|
]
|
|
1367
1361
|
|
|
@@ -1391,9 +1385,9 @@ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
|
|
|
1391
1385
|
|
|
1392
1386
|
[[package]]
|
|
1393
1387
|
name = "libmimalloc-sys"
|
|
1394
|
-
version = "0.1.
|
|
1388
|
+
version = "0.1.49"
|
|
1395
1389
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1396
|
-
checksum = "
|
|
1390
|
+
checksum = "6a45a52f43e1c16f667ccfe4dd8c85b7f7c204fd5e3bf46c5b0db9a5c3c0b8e9"
|
|
1397
1391
|
dependencies = [
|
|
1398
1392
|
"cc",
|
|
1399
1393
|
]
|
|
@@ -1438,9 +1432,9 @@ dependencies = [
|
|
|
1438
1432
|
|
|
1439
1433
|
[[package]]
|
|
1440
1434
|
name = "log"
|
|
1441
|
-
version = "0.4.
|
|
1435
|
+
version = "0.4.31"
|
|
1442
1436
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1443
|
-
checksum = "
|
|
1437
|
+
checksum = "113b30b4cd05f7c06868fdb2854f66a7b9fece9a48425351cd532e810d74024f"
|
|
1444
1438
|
|
|
1445
1439
|
[[package]]
|
|
1446
1440
|
name = "matchers"
|
|
@@ -1459,9 +1453,9 @@ checksum = "2f926ade0c4e170215ae43342bf13b9310a437609c81f29f86c5df6657582ef9"
|
|
|
1459
1453
|
|
|
1460
1454
|
[[package]]
|
|
1461
1455
|
name = "memchr"
|
|
1462
|
-
version = "2.8.
|
|
1456
|
+
version = "2.8.1"
|
|
1463
1457
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1464
|
-
checksum = "
|
|
1458
|
+
checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8"
|
|
1465
1459
|
|
|
1466
1460
|
[[package]]
|
|
1467
1461
|
name = "memo-map"
|
|
@@ -1471,9 +1465,9 @@ checksum = "38d1115007560874e373613744c6fba374c17688327a71c1476d1a5954cc857b"
|
|
|
1471
1465
|
|
|
1472
1466
|
[[package]]
|
|
1473
1467
|
name = "mimalloc"
|
|
1474
|
-
version = "0.1.
|
|
1468
|
+
version = "0.1.52"
|
|
1475
1469
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1476
|
-
checksum = "
|
|
1470
|
+
checksum = "2d4139bb28d14ad1facf21d5eb8825051b326e172d216b39f6d31df53cc97862"
|
|
1477
1471
|
dependencies = [
|
|
1478
1472
|
"libmimalloc-sys",
|
|
1479
1473
|
]
|
|
@@ -1496,9 +1490,9 @@ dependencies = [
|
|
|
1496
1490
|
|
|
1497
1491
|
[[package]]
|
|
1498
1492
|
name = "minijinja"
|
|
1499
|
-
version = "2.
|
|
1493
|
+
version = "2.20.0"
|
|
1500
1494
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1501
|
-
checksum = "
|
|
1495
|
+
checksum = "2929e494b2280e1e18959bb2e121da03347ae896896fdfaceaab43c88a02803f"
|
|
1502
1496
|
dependencies = [
|
|
1503
1497
|
"memo-map",
|
|
1504
1498
|
"serde",
|
|
@@ -1517,9 +1511,9 @@ dependencies = [
|
|
|
1517
1511
|
|
|
1518
1512
|
[[package]]
|
|
1519
1513
|
name = "mio"
|
|
1520
|
-
version = "1.2.
|
|
1514
|
+
version = "1.2.1"
|
|
1521
1515
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1522
|
-
checksum = "
|
|
1516
|
+
checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda"
|
|
1523
1517
|
dependencies = [
|
|
1524
1518
|
"libc",
|
|
1525
1519
|
"log",
|
|
@@ -1533,7 +1527,7 @@ version = "0.30.1"
|
|
|
1533
1527
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1534
1528
|
checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
|
|
1535
1529
|
dependencies = [
|
|
1536
|
-
"bitflags
|
|
1530
|
+
"bitflags",
|
|
1537
1531
|
"cfg-if",
|
|
1538
1532
|
"cfg_aliases",
|
|
1539
1533
|
"libc",
|
|
@@ -1545,7 +1539,7 @@ version = "8.2.0"
|
|
|
1545
1539
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1546
1540
|
checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3"
|
|
1547
1541
|
dependencies = [
|
|
1548
|
-
"bitflags
|
|
1542
|
+
"bitflags",
|
|
1549
1543
|
"fsevent-sys",
|
|
1550
1544
|
"inotify",
|
|
1551
1545
|
"kqueue",
|
|
@@ -1563,7 +1557,7 @@ version = "2.1.0"
|
|
|
1563
1557
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1564
1558
|
checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a"
|
|
1565
1559
|
dependencies = [
|
|
1566
|
-
"bitflags
|
|
1560
|
+
"bitflags",
|
|
1567
1561
|
]
|
|
1568
1562
|
|
|
1569
1563
|
[[package]]
|
|
@@ -1577,9 +1571,9 @@ dependencies = [
|
|
|
1577
1571
|
|
|
1578
1572
|
[[package]]
|
|
1579
1573
|
name = "num-conv"
|
|
1580
|
-
version = "0.2.
|
|
1574
|
+
version = "0.2.2"
|
|
1581
1575
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1582
|
-
checksum = "
|
|
1576
|
+
checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441"
|
|
1583
1577
|
|
|
1584
1578
|
[[package]]
|
|
1585
1579
|
name = "num-traits"
|
|
@@ -1877,7 +1871,7 @@ version = "0.5.18"
|
|
|
1877
1871
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1878
1872
|
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
|
|
1879
1873
|
dependencies = [
|
|
1880
|
-
"bitflags
|
|
1874
|
+
"bitflags",
|
|
1881
1875
|
]
|
|
1882
1876
|
|
|
1883
1877
|
[[package]]
|
|
@@ -1930,7 +1924,7 @@ version = "1.1.4"
|
|
|
1930
1924
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1931
1925
|
checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
|
|
1932
1926
|
dependencies = [
|
|
1933
|
-
"bitflags
|
|
1927
|
+
"bitflags",
|
|
1934
1928
|
"errno",
|
|
1935
1929
|
"libc",
|
|
1936
1930
|
"linux-raw-sys",
|
|
@@ -2002,9 +1996,9 @@ dependencies = [
|
|
|
2002
1996
|
|
|
2003
1997
|
[[package]]
|
|
2004
1998
|
name = "serde_json"
|
|
2005
|
-
version = "1.0.
|
|
1999
|
+
version = "1.0.150"
|
|
2006
2000
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2007
|
-
checksum = "
|
|
2001
|
+
checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
|
|
2008
2002
|
dependencies = [
|
|
2009
2003
|
"itoa",
|
|
2010
2004
|
"memchr",
|
|
@@ -2042,7 +2036,7 @@ checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214"
|
|
|
2042
2036
|
dependencies = [
|
|
2043
2037
|
"cfg-if",
|
|
2044
2038
|
"cpufeatures 0.3.0",
|
|
2045
|
-
"digest 0.11.
|
|
2039
|
+
"digest 0.11.3",
|
|
2046
2040
|
]
|
|
2047
2041
|
|
|
2048
2042
|
[[package]]
|
|
@@ -2067,9 +2061,9 @@ dependencies = [
|
|
|
2067
2061
|
|
|
2068
2062
|
[[package]]
|
|
2069
2063
|
name = "shlex"
|
|
2070
|
-
version = "
|
|
2064
|
+
version = "2.0.1"
|
|
2071
2065
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2072
|
-
checksum = "
|
|
2066
|
+
checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
|
|
2073
2067
|
|
|
2074
2068
|
[[package]]
|
|
2075
2069
|
name = "signal-hook-registry"
|
|
@@ -2111,9 +2105,9 @@ dependencies = [
|
|
|
2111
2105
|
|
|
2112
2106
|
[[package]]
|
|
2113
2107
|
name = "socket2"
|
|
2114
|
-
version = "0.6.
|
|
2108
|
+
version = "0.6.4"
|
|
2115
2109
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2116
|
-
checksum = "
|
|
2110
|
+
checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51"
|
|
2117
2111
|
dependencies = [
|
|
2118
2112
|
"libc",
|
|
2119
2113
|
"windows-sys 0.61.2",
|
|
@@ -2250,9 +2244,9 @@ dependencies = [
|
|
|
2250
2244
|
|
|
2251
2245
|
[[package]]
|
|
2252
2246
|
name = "tokio"
|
|
2253
|
-
version = "1.52.
|
|
2247
|
+
version = "1.52.3"
|
|
2254
2248
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2255
|
-
checksum = "
|
|
2249
|
+
checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe"
|
|
2256
2250
|
dependencies = [
|
|
2257
2251
|
"bytes",
|
|
2258
2252
|
"libc",
|
|
@@ -2260,7 +2254,7 @@ dependencies = [
|
|
|
2260
2254
|
"parking_lot",
|
|
2261
2255
|
"pin-project-lite",
|
|
2262
2256
|
"signal-hook-registry",
|
|
2263
|
-
"socket2 0.6.
|
|
2257
|
+
"socket2 0.6.4",
|
|
2264
2258
|
"tokio-macros",
|
|
2265
2259
|
"windows-sys 0.61.2",
|
|
2266
2260
|
]
|
|
@@ -2353,9 +2347,9 @@ dependencies = [
|
|
|
2353
2347
|
|
|
2354
2348
|
[[package]]
|
|
2355
2349
|
name = "typenum"
|
|
2356
|
-
version = "1.20.
|
|
2350
|
+
version = "1.20.1"
|
|
2357
2351
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2358
|
-
checksum = "
|
|
2352
|
+
checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
|
|
2359
2353
|
|
|
2360
2354
|
[[package]]
|
|
2361
2355
|
name = "unicase"
|
|
@@ -2371,9 +2365,9 @@ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
|
|
2371
2365
|
|
|
2372
2366
|
[[package]]
|
|
2373
2367
|
name = "unicode-segmentation"
|
|
2374
|
-
version = "1.13.
|
|
2368
|
+
version = "1.13.3"
|
|
2375
2369
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2376
|
-
checksum = "
|
|
2370
|
+
checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
|
|
2377
2371
|
|
|
2378
2372
|
[[package]]
|
|
2379
2373
|
name = "unicode-xid"
|
|
@@ -2463,9 +2457,9 @@ dependencies = [
|
|
|
2463
2457
|
|
|
2464
2458
|
[[package]]
|
|
2465
2459
|
name = "wasm-bindgen"
|
|
2466
|
-
version = "0.2.
|
|
2460
|
+
version = "0.2.122"
|
|
2467
2461
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2468
|
-
checksum = "
|
|
2462
|
+
checksum = "3ed04576f974d2b2fba0f38c51dbc5518011e38c36bf1143164be765528fd409"
|
|
2469
2463
|
dependencies = [
|
|
2470
2464
|
"cfg-if",
|
|
2471
2465
|
"once_cell",
|
|
@@ -2476,9 +2470,9 @@ dependencies = [
|
|
|
2476
2470
|
|
|
2477
2471
|
[[package]]
|
|
2478
2472
|
name = "wasm-bindgen-macro"
|
|
2479
|
-
version = "0.2.
|
|
2473
|
+
version = "0.2.122"
|
|
2480
2474
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2481
|
-
checksum = "
|
|
2475
|
+
checksum = "916151b09da36bd82f6615cbf3a419e2f0ba23a03c6160e8e92eb6bd4aa1dec6"
|
|
2482
2476
|
dependencies = [
|
|
2483
2477
|
"quote",
|
|
2484
2478
|
"wasm-bindgen-macro-support",
|
|
@@ -2486,9 +2480,9 @@ dependencies = [
|
|
|
2486
2480
|
|
|
2487
2481
|
[[package]]
|
|
2488
2482
|
name = "wasm-bindgen-macro-support"
|
|
2489
|
-
version = "0.2.
|
|
2483
|
+
version = "0.2.122"
|
|
2490
2484
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2491
|
-
checksum = "
|
|
2485
|
+
checksum = "299047362ccbfce148b67ab7e73349f77748e00c8296f9542adfad2ad82c5c5e"
|
|
2492
2486
|
dependencies = [
|
|
2493
2487
|
"bumpalo",
|
|
2494
2488
|
"proc-macro2",
|
|
@@ -2499,9 +2493,9 @@ dependencies = [
|
|
|
2499
2493
|
|
|
2500
2494
|
[[package]]
|
|
2501
2495
|
name = "wasm-bindgen-shared"
|
|
2502
|
-
version = "0.2.
|
|
2496
|
+
version = "0.2.122"
|
|
2503
2497
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2504
|
-
checksum = "
|
|
2498
|
+
checksum = "9a929b2c61f11ba3e9bc35b50c1f25cb38e0e892c0c231ae2b8cf78d5dad4437"
|
|
2505
2499
|
dependencies = [
|
|
2506
2500
|
"unicode-ident",
|
|
2507
2501
|
]
|
|
@@ -2534,7 +2528,7 @@ version = "0.244.0"
|
|
|
2534
2528
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2535
2529
|
checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
|
|
2536
2530
|
dependencies = [
|
|
2537
|
-
"bitflags
|
|
2531
|
+
"bitflags",
|
|
2538
2532
|
"hashbrown 0.15.5",
|
|
2539
2533
|
"indexmap",
|
|
2540
2534
|
"semver",
|
|
@@ -2837,7 +2831,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
2837
2831
|
checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
|
|
2838
2832
|
dependencies = [
|
|
2839
2833
|
"anyhow",
|
|
2840
|
-
"bitflags
|
|
2834
|
+
"bitflags",
|
|
2841
2835
|
"indexmap",
|
|
2842
2836
|
"log",
|
|
2843
2837
|
"serde",
|
|
@@ -2898,18 +2892,18 @@ dependencies = [
|
|
|
2898
2892
|
|
|
2899
2893
|
[[package]]
|
|
2900
2894
|
name = "zerocopy"
|
|
2901
|
-
version = "0.8.
|
|
2895
|
+
version = "0.8.50"
|
|
2902
2896
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2903
|
-
checksum = "
|
|
2897
|
+
checksum = "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1"
|
|
2904
2898
|
dependencies = [
|
|
2905
2899
|
"zerocopy-derive",
|
|
2906
2900
|
]
|
|
2907
2901
|
|
|
2908
2902
|
[[package]]
|
|
2909
2903
|
name = "zerocopy-derive"
|
|
2910
|
-
version = "0.8.
|
|
2904
|
+
version = "0.8.50"
|
|
2911
2905
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2912
|
-
checksum = "
|
|
2906
|
+
checksum = "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639"
|
|
2913
2907
|
dependencies = [
|
|
2914
2908
|
"proc-macro2",
|
|
2915
2909
|
"quote",
|
|
@@ -2918,9 +2912,9 @@ dependencies = [
|
|
|
2918
2912
|
|
|
2919
2913
|
[[package]]
|
|
2920
2914
|
name = "zerofrom"
|
|
2921
|
-
version = "0.1.
|
|
2915
|
+
version = "0.1.8"
|
|
2922
2916
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2923
|
-
checksum = "
|
|
2917
|
+
checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272"
|
|
2924
2918
|
dependencies = [
|
|
2925
2919
|
"zerofrom-derive",
|
|
2926
2920
|
]
|
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented here.
|
|
4
4
|
|
|
5
|
+
## [0.13.4] - 2026-06-02
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Session and Redirect Tests**: Added regression tests (`test_discussion_22.py` and `test_issue_23.py`) to verify `session.permanent` scoping and redirect execution.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Token Double-Reset**: Fixed a `RuntimeError` when returning a response from a synchronous before-request hook by removing a redundant contextvar token reset call in `create_sync_wrapper`.
|
|
12
|
+
|
|
13
|
+
## [0.13.3] - 2026-05-30
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- **CI Linting**: Formatted `generator.py` with `black` to resolve CI linting pipeline failure.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- **Git Config**: Added `*.db` to `.gitignore` to prevent tracking database files.
|
|
20
|
+
|
|
21
|
+
## [0.13.2] - 2026-05-30
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- **Authentication Tests**: Added comprehensive test cases (`test_discussion_21.py`) verifying role and permission decorators (`@roles_required`, `@permission_required`).
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- **Request State Initialization**: Initialized `_login_user` and `_login_fresh` attributes directly on `Request` object instantiation to ensure robust compatibility with login management decorators.
|
|
28
|
+
|
|
5
29
|
## [0.13.1] - 2026-05-03
|
|
6
30
|
|
|
7
31
|
### Fixed
|