Skip to content

Latest commit

 

History

History
91 lines (71 loc) · 7.38 KB

File metadata and controls

91 lines (71 loc) · 7.38 KB

GitHub issue backlog (batch-ready)

This directory holds 20 + N issue bodies (bodies/) and a PRIORITIES.md file. The first batch was generated from the OxyRoute roadmap; 21+ are follow-ups from docs/feature.md.

Status and GitHub (living backlog)

  • Active milestone v0.2.0: next PyPI 0.2.0 — open work includes #4 (perf), #8 (JWK/oxyjwt), #17 (ASGI), #18 (lifespan/state), #46#48 (sub-routers, multipart, global exceptions), #50#54 (HTTP/2 docs, SSE, WebSocket research, CSRF, security headers).
  • Closed milestone v0.3.0: unused name; work consolidated under v0.2.0.
  • Optional OpenAPI depth ($ref / $defs): 09.md; issue #9 is closed — open a new issue if you pick this up.
  • Do not re-run ./scripts/create-github-issues.sh on an already-populated repo (duplicates). Check open work with: gh issue list -R QueryaHub/OxyRoute --state open.

Prerequisites

  1. GitHub CLI installed (gh).
  2. Authenticate: gh auth login (the repository cannot create issues in your project without a logged-in gh or a GH_TOKEN with issues:write).

One-shot: create the milestone, labels, and all issues

From the repository root:

./scripts/create-github-issues.sh

The script:

  • Ensures you are logged into gh.
  • Creates labels (P0, P1, research, enhancement, tech-debt, ci, documentation, test) if missing.
  • Creates milestone v0.2.0 if missing.
  • Opens 20 issues with titles, bodies, labels, and the milestone (see the script for the exact mapping).

Warning: Running the script twice will duplicate issues. If you need idempotency, check open issues on GitHub first or add guards (not included).

Manual: single issue

gh issue create --title "feat: expose PATCH routes on Python App" \
  --body-file .github/ISSUE_BACKLOG/bodies/01.md \
  -l enhancement -l P1 -m v0.2.0

Table of issues

# Body file Title (for gh issue create) Labels (suggested) Milestone
1 bodies/01.md feat: expose PATCH routes on Python App enhancement, P1 v0.2.0
2 bodies/02.md fix: apply URL decoding to query string keys and values bug, P0 v0.2.0
3 bodies/03.md feat: map Python exceptions in dispatch to HTTP 500 with safe body enhancement, P0 v0.2.0
4 bodies/04.md perf: reduce lock contention on route match (RWLock or route snapshot) tech-debt, enhancement v0.2.0
5 bodies/05.md feat: pass request context into dependencies and support dependency chains enhancement, P1 v0.2.0
6 bodies/06.md feat: extend JWT Validation with iss/aud and optional leeway enhancement, P1 v0.2.0
7 bodies/07.md feat: read JWT from Cookie header for require_jwt enhancement v0.2.0
8 bodies/08.md research+feat: JWK/PEM-based JWT verify in Rust (align with oxyjwt) enhancement, research v0.2.0
9 bodies/09.md feat: add optional Pydantic / JSON schema hooks for OpenAPI body enhancement v0.2.0
10 bodies/10.md feat: structured Response object for headers and status enhancement, P1 v0.2.0
11 bodies/11.md feat: optional middleware chain in run_rsgi before route match enhancement v0.2.0
12 bodies/12.md test: e2e HTTP against granian --interface rsgi test, P0 v0.2.0
13 bodies/13.md ci: add cargo clippy and Rust unit tests to workflow ci v0.2.0
14 bodies/14.md ci: PyPI publish on version tag (trusted publishing) ci v0.2.0
15 bodies/15.md tech-debt: upgrade pyo3 0.21 -> current and validate Granian RSGI tech-debt, research v0.2.0
16 bodies/16.md docs+test: clarify include_openapi vs set_openapi_served and 404 for /openapi.json documentation, test v0.2.0
17 bodies/17.md fix: review ASGI protocol bridge (run_coroutine_threadsafe) under load bug, research v0.2.0
18 bodies/18.md feat: pass app state / lifespan for shared resources (optional design) enhancement v0.2.0
19 bodies/19.md feat: return 405 when path exists for another method enhancement v0.2.0
20 bodies/20.md feat: register HEAD/OPTIONS and sensible defaults enhancement v0.2.0

Follow-up issues (milestone v0.2.0 / 0.2.0, feature research)

# GitHub Body file Title
46 issue bodies/21.md feat: sub-routers and route prefix composition (include_router)
47 issue bodies/22.md feat: multipart/form-data and urlencoded request bodies
48 issue bodies/23.md feat: global HTTPException and exception handlers
49 issue bodies/24.md feat: first-class CORS helper (middleware / preflight)
50 issue bodies/25.md research+docs: HTTP/2 with Granian/TLS and framework guarantees
51 issue bodies/26.md feat: Server-Sent Events (SSE) streaming responses
52 issue bodies/27.md research+feat: WebSocket support (Granian / ASGI integration)
53 issue bodies/28.md feat: optional CSRF protection for cookie/session-based flows
54 issue bodies/29.md feat: security headers preset (HSTS, X-Frame-Options, CSP, etc.)
55 - bodies/47.md research: sqlx integration in Rust hot path
56 - bodies/48.md feat: connection pool management in AppState
57 - bodies/49.md feat: dynamic query execution from Python dependencies
58 - bodies/50.md feat: serialize DB rows to Python objects via PyO3

Priority tier (P0 / P1)

See PRIORITIES.md for the current order (milestone v0.2.0 / release 0.2.0).

Documentation