Releases: lagowski/dap
Releases · lagowski/dap
Release list
DAP v0.3.0 — multi-user release
What's Changed
- feat: pivot stack from TypeScript/Node to Python + uv by @rafeekpro in #2
- feat(ci): gate PRs with ruff + pytest by @rafeekpro in #4
- chore(ci): enforce "main merges only from develop" by @rafeekpro in #6
- chore: type cleanup + add mypy to CI by @rafeekpro in #8
- feat(cli): F1 — process management by @rafeekpro in #10
- feat(engine): F2 — REST CRUD for agents, pipelines, runs (read-only) by @rafeekpro in #12
- feat(prompt-dsl): F4 — Jinja2 → XML compiler + render-preview endpoint by @rafeekpro in #14
- feat(runtimes): F3 — api-call adapter (Anthropic SDK) by @rafeekpro in #16
- feat(engine): F5 — LangGraph pipeline execution + POST /runs by @rafeekpro in #18
- feat(dashboard): F6 — Dashboard MVP (Next.js 15 + React Flow) by @rafeekpro in #20
- feat(engine): DAG validation endpoint (POST /pipelines/validate) by @rafeekpro in #22
- feat(dashboard): F7 — Pipeline Designer (visual DAG editor) by @rafeekpro in #24
- feat(engine): background runs + abort + graceful shutdown by @rafeekpro in #26
- feat(engine): pause/resume runs via LangGraph SqliteSaver by @rafeekpro in #28
- feat(dashboard): pause/resume/abort buttons on run detail page by @rafeekpro in #30
- feat(dashboard): trigger runs from the dashboard by @rafeekpro in #39
- feat(runtimes): bash adapter — shell command execution by @rafeekpro in #40
- feat(engine): retry-node + skip-node endpoints by @rafeekpro in #41
- chore(dashboard): ESLint flat config + lint gate in CI by @rafeekpro in #42
- docs: README quickstart + architecture + runtimes guide by @rafeekpro in #43
- feat(engine): per-role output parsing for structured node results by @rafeekpro in #44
- feat(dashboard): F8 — agent detail / edit / archive + version history by @rafeekpro in #45
- fix: CORS for dashboard :3000 + designer surface server errors inline by @rafeekpro in #70
- feat(runtimes): api-call → multi-provider (Anthropic + OpenAI + OpenAI-compat + Gemini) by @rafeekpro in #71
- feat(dashboard): AgentForm — runtime-specific config fields by @rafeekpro in #72
- feat(runtimes): claude-code adapter — Anthropic CLI subprocess by @rafeekpro in #73
- feat(runtimes): gemini-cli adapter — Google CLI subprocess by @rafeekpro in #74
- feat(runtimes): http adapter — generic POST for Ollama, custom servers by @rafeekpro in #75
- feat(dashboard): /settings page — provider catalog + runtime healthchecks by @rafeekpro in #76
- docs: providers.md — recipes for each LLM through API + CLI by @rafeekpro in #77
- feat(runtimes): codex adapter — OpenAI Codex CLI subprocess (#53) by @rafeekpro in #78
- feat(engine): typed input/output schemas per agent (#58) by @rafeekpro in #79
- feat(prompt-dsl): scope Jinja to declared input_schema fields (#60) by @rafeekpro in #80
- feat(engine): pipeline cohesion validation against agent contracts (#59) by @rafeekpro in #81
- feat(dashboard): AgentForm — input/output field pickers (#61) by @rafeekpro in #82
- feat(dashboard): designer + run viewer — annotate edges with state field flow (#62) by @rafeekpro in #83
- feat(engine): Project model + CRUD endpoints (#63) by @rafeekpro in #84
- feat(engine): Run.project_id + project-scoped runs filter (#64) by @rafeekpro in #85
- feat(engine,runtimes): project context plumbing — working_directory + env overlay (#65) by @rafeekpro in #86
- feat(engine): POST /projects/{id}/run/{kind} convenience trigger (#66) by @rafeekpro in #87
- feat(dashboard): /projects CRUD pages + workflow trigger UI (#67) by @rafeekpro in #88
- feat(dashboard): sidebar project picker + scope list pages (#68) by @rafeekpro in #89
- docs: docs/projects.md — workspace layer + workflow recipes (#69) by @rafeekpro in #90
- chore(dashboard): inline configuration help on /settings by @rafeekpro in #91
- feat(dashboard): Clone agent button — pre-fill /agents/new from existing (#92) by @rafeekpro in #95
- feat(dashboard): built-in agent templates — quick-start library on /agents/new (#93) by @rafeekpro in #96
- chore(dashboard): always show install commands on Settings, including aider by @rafeekpro in #97
- feat(engine,dashboard): agent import/export JSON — agents-as-code workflow (#94) by @rafeekpro in #98
- fix(runtimes): probe claude-code/gemini-cli only by binary, not API key by @rafeekpro in #100
- fix(dashboard): hide INSTALL COMMAND for available runtimes by @rafeekpro in #102
- feat(engine): POST /agents/dry-run — execute one agent without persistence by @rafeekpro in #106
- feat(dashboard): Test panel on agent New/Edit pages — wires up POST /agents/dry-run by @rafeekpro in #107
- feat(dashboard): A/B compare in the agent Test panel — Variant B + Promote by @rafeekpro in #108
- feat(engine): in-code schema migrations — backfill runs.project_id by @rafeekpro in #110
- feat(dashboard): per-role hints + 'Use role defaults' on agent form schema pickers by @rafeekpro in #112
- fix(engine): auto-inject agent role into prompt render context by @rafeekpro in #114
- feat: register GLM as first-class provider + Quick setup docs + .env.example by @rafeekpro in #116
- feat(dashboard): Clone + Export JSON buttons on the agent Edit header by @rafeekpro in #118
- fix(dashboard): point developer-jr-glm template at the registered glm provider by @rafeekpro in #119
- fix(engine): enforce DAG validation on POST/PUT pipelines by @rafeekpro in #121
- feat(dashboard): clearer Inputs/Outputs picker — kill 'Final output' collision, add example values by @rafeekpro in #123
- feat: pipeline export / import / clone — JSON portability mirroring agent flow by @rafeekpro in #125
- feat: pipeline bundle export/import — pipeline + its agents in one envelope by @rafeekpro in #127
- feat(dashboard): pipeline templates — code-driven library + picker on /pipelines/new by @rafeekpro in #129
- feat: GitHub Issue Triage as importable example bundle by @rafeekpro in #131
- feat(dashboard): Designer Inspector — agent details + state view (#132) by @rafeekpro in #133
- chore: scripts/dev — one-shot launcher for engine + dashboard (#136) by @rafeekpro in #137
- feat: agent + pipeline lifecycle — usage count, archive guard, pipeline delete (#134) by @rafeekpro in #135
- chore: scripts/setup — first-run installer with version pre-flight (#138) by @rafeekpro in #139
- docs: rewrite README — install + first-pipeline + day-to-day use (#140) by @rafeekpro in #141
- feat: PipelineState.extensions — open dict for per-pipeline extra state (#144) by @Dixter999 in #147
- feat: extra_data column in node_execution_logs (#145) by @Dixter999 in #148
- feat: python-func runtime adapter (#143) by @Dixter999 in #149
- feat: PostgreSQL backend — dual-dialect engine via DAP_DATABASE_URL (#142) by @Dixter999 in #150
- fix: test_postgresql_tables_created_on_startup uses paginated response (#152) by @Dixter999 in #153
- feat: add description field to PipelineState for human-readable labels by @Dixter999 in #155
- feat: python-func __pause sentinel for engine-level pause (#161) by @Dixter999 in #163
- fix(#164): interrupt_before gate support + POST /runs/{id}/nodes/{id}/approve by @Dixter999 in #165
- refactor: revert __pause sentinel — superseded by interrupt_be...