Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Aug 19:50
· 9 commits to main since this release
6e1f7f6

Changelog

Features

  • c2cd51a feat(ci): typecheck the frontend (TQ-0024)
  • 9adf600 feat(cli): give tq update a --body flag (TQ-0044)
  • 525ff84 feat(cli): have tq init say how to start the board
  • 6e1f7f6 feat(cli): take a task's number as its whole ID (TQ-0071)
  • 574e7d3 feat(config): a project marker at .taskqueue.yaml (TQ-0029)
  • cae237f feat(config): init here, walk up to home, and drop TQ_WALK_FOREVER (TQ-0085)
  • f1b9b4f feat(config): pin the server address in .taskqueue.yaml (TQ-0078)
  • a2d2220 feat(config): the board's columns come from the project (TQ-0035)
  • 817b7bd feat(frontend): migrate the board to Vue 3 (TQ-0076)
  • ab818c0 feat(init): stop managing the repository's AGENTS.md and CLAUDE.md
  • 4a77e3d feat(tasks): configurable columns, GitHub Actions migration, label rule
  • f124064 feat(tasks): file TQ-0032, configurable severity levels
  • c60fbc7 feat(tasks): file TQ-0033 and TQ-0034, push updates to the board
  • dc81556 feat(tasks): file TQ-0037, move identity to github.com/fmartingr/taskqueue
  • d5dfd86 feat(tasks): file TQ-0038, integration test boilerplate
  • ba73676 feat(tasks): file TQ-0076, migrate the board to Vue 3
  • bb2aa94 feat(tasks): file TQ-0078, bind address from the project config
  • ec78714 feat(tasks): file TQ-0084, live changes while a dialog is open
  • f1f0062 feat(tasks): move the config to .taskqueue.yaml at the repository root
  • 93d5b8c feat(tasks): project config and a fixed label set (TQ-0029, TQ-0030)
  • 1674231 feat(web): a global search bar over the board (TQ-0068)
  • dd9e520 feat(web): finish the board's search bar (TQ-0068)
  • 3149ef1 feat(web): keep the board live while a dialog is open (TQ-0084)
  • 142d278 feat(web): push board updates over an event stream (TQ-0033)
  • d6b0d89 feat(web): push config changes to the board (TQ-0034)
  • 0064be4 feat(web): rebuild the task dialog as a live card (TQ-0069, TQ-0070)
  • a1776a1 feat: a label vocabulary in the project config (TQ-0030)
  • fc68c36 feat: a priority vocabulary in the project config (TQ-0032)
  • 3f62d94 feat: agent guide on init, notes panel, quick add (TQ-0002..0004)
  • 8f19a0a feat: create the task directory on demand instead of failing
  • ca38d00 feat: name task files -.md (TQ-0001)
  • a0d03be feat: task queue PoC — Markdown tasks, agent CLI, Kanban board

Bug Fixes

  • e300384 Revert "fix(cli): tq init discovers the queue above instead of forking it (TQ-0047)"
  • 560bbec Update TQ-0030-fixed-label-set-defined-in-the-project-config.md
  • 612ed49 chore(tasks): reclassify TQ-0009 as wontfix
  • 2613547 chore(tasks): record TQ-0042 partial fix and split TQ-0049 out of TQ-0046
  • 3f475dc fix(agents): read a document past a stray fence (TQ-0052)
  • 004aa72 fix(agents): scan Markdown with fence awareness, and scope the pointer guard (TQ-0045)
  • 10bb3bc fix(browser): let playwright-core find its own Chromium (TQ-0077)
  • 81e7798 fix(cli): name the guide by its absolute path in tq init (TQ-0061)
  • 3e1b1ea fix(cli): the -- terminator protects every argument after it (TQ-0018)
  • cad90f9 fix(cli): tq init discovers the queue above instead of forking it (TQ-0047)
  • b7075bd fix(cli): tq init discovers the queue above instead of forking it (TQ-0047)
  • 206b6c1 fix(cli): tq note keeps a note's line breaks (TQ-0048)
  • ea7bde3 fix(cli): warn about a shadowed queue on tq init (TQ-0062)
  • fc6d942 fix(frontend): close the regressions the review found (TQ-0076)
  • 2407907 fix(frontmatter): keep an indented rule inside the frontmatter (TQ-0007)
  • cdd9aa4 fix(init): never point a root doc at itself (TQ-0046)
  • f0407c4 fix(init): rewrite a Task management section only when tq wrote it (TQ-0014)
  • d3dcf48 fix(init): write the guide only inside the invoked project (TQ-0056)
  • 16faa23 fix(notes): an indented heading ends a section unless it continues a note (TQ-0051)
  • 88710f9 fix(notes): notes are the body's last section, under a rule (TQ-0031)
  • 4008ad3 fix(store): give every concurrent create its own task ID (TQ-0008)
  • 66dd976 fix(store): keep every note and label added at the same time (TQ-0067)
  • 82d3141 fix(store): move the task file instead of rewriting and deleting it (TQ-0015)
  • 505fee2 fix(store): name the file in the way instead of exhausting the ID retry (TQ-0039)
  • dbe3389 fix(store): never hand out an ID a task still depends on (TQ-0016)
  • d007202 fix(store): read the config from the marker the queue was resolved through (TQ-0087)
  • 13aae03 fix(store): reconcile tasks left in a removed column (TQ-0088)
  • 8f99641 fix(store): report an ID claimed by two files instead of listing both (TQ-0040)
  • ae0df6c fix(store): retire an old task file by identity, not by name (TQ-0006)
  • bd2c4ae fix(store): return a listing consistent with the directory (TQ-0012)
  • a128222 fix(store): skip an unreadable task file instead of hiding the queue (TQ-0011)
  • bc9b1f6 fix(store): stop task directory discovery at the repository root (TQ-0017)
  • 1f3f9a7 fix(task): keep a pasted block's shape in a note (TQ-0054)
  • 2608c90 fix(tasks): file TQ-0031, notes must be last and rule-delimited
  • 4621f01 fix(tasks): file TQ-0077, CI cannot find Chromium on Linux
  • 628912d fix(tasks): file TQ-0083, scoped labels hide their scope
  • 7a6a9f2 fix(web): show a scoped label's scope on its chip (TQ-0083)
  • 8596149 fix(web): stop the dialog overwriting a body edited while it was open (TQ-0079)
  • 2b1e920 fix: build and ship the icon
  • e43f959 fix: commit cmd/tq, which .gitignore was swallowing
  • fdb592f fix: let columns size themselves (TQ-0005)

Performance

  • b639632 perf(frontend): serve a 12 KB favicon instead of a 1 MB one (TQ-0028)

Documentation

  • b4b1f75 Revert "docs(tasks): one colour per label scope in TQ-0083"
  • 79fc81c docs(tasks): answer TQ-0084's two open questions
  • 332a509 docs(tasks): block the board UI work on TQ-0076
  • 6b87e88 docs(tasks): mark the tickets the .taskqueue.yaml marker changes
  • c57460e docs(tasks): one colour per label scope in TQ-0083
  • 63f15cc docs(tasks): point TQ-0076 at internal/web/public
  • b201b88 docs(tasks): settle the Vue migration's build decisions (TQ-0076)
  • bac554f docs(tasks): settle the discovery bound in TQ-0017
  • db1d02e docs(tasks): state the task lifecycle as steps, not a menu (TQ-0041)
  • 3b86c1c docs: add a screenshots section to the README
  • 2209b36 docs: bring the README layout up to date with the packages
  • dfec6b4 docs: require tq init before other commands
  • 631535c docs: say what concurrent edits actually do (TQ-0009)
  • d9bdd32 docs: say what the no-dependencies rule actually constrains

CI/CD

  • f08044a chore(tasks): decide the browser test stack, and file the frontend gaps
  • 3f7b893 chore(tasks): record the module path decision on TQ-0036
  • 89eb513 ci: move to GitHub Actions, and name the installed binary tq (TQ-0036)

Others

  • 122a416 Create CLAUDE.md
  • 9357433 Update AGENTS.md
  • f74fab5 chore(tasks): audit what integration testing does not cover yet (TQ-0073)
  • 23844f5 chore(tasks): block on TQ-0029 the tickets it supersedes
  • fa8450f chore(tasks): bump TQ-0081 timestamp
  • 3614f9a chore(tasks): close TQ-0061
  • 2b0f07b chore(tasks): close TQ-0066, overtaken by the discovery rewrite
  • 86b3159 chore(tasks): close TQ-0077, CI green from a cold cache
  • 5c2a4da chore(tasks): close TQ-0083 and reject TQ-0081
  • 9ee8c8f chore(tasks): close TQ-0084
  • ca61769 chore(tasks): close TQ-0088
  • 94fd1ff chore(tasks): close the Vue migration and file what it left behind
  • 28ae2bb chore(tasks): close what the discovery redesign resolved
  • 0ad2ff4 chore(tasks): file the findings this session surfaced
  • 5269bbf chore(tasks): file the marker-as-source-of-truth defect (TQ-0087)
  • 1206ad5 chore(tasks): file the regressions the review found in TQ-0045..0048
  • 268a9b0 chore(tasks): file the removed-column status rewrite (TQ-0088)
  • 8976bef chore(tasks): file the two hazards TQ-0088 left behind
  • 42957c1 chore(tasks): move TQ-0068 and TQ-0071 out of the inbox
  • 25cae20 chore(tasks): move the declined work into Rejected (TQ-0035)
  • 5479d7c chore(tasks): note the doc-root residue found verifying TQ-0047
  • ffc56c7 chore(tasks): record that TQ-0081 has a reachable trigger
  • 14cd2bf chore(tasks): record the bug revalidation pass
  • 11f326a chore(tasks): reject TQ-0049
  • 23f7617 chore(tasks): reject TQ-0057
  • 7b81477 chore(tasks): relabel every ticket onto the base set from TQ-0030
  • 948f346 chore: close TQ-0030
  • 4b53e5e chore: close TQ-0032
  • 3977a02 chore: file the code-review findings as tasks (TQ-0006..0028)
  • 5b572fe chore: move the module path to github.com/fmartingr/taskqueue (TQ-0037)
  • e83bf47 chore: remove the root public/ directory TQ-0072 left behind
  • 37ee889 chore: updated readme
  • 5619f3d chore: updated screenshot
  • 76fe845 refactor(cli): move the commands into internal/cli, and finish the split (TQ-0072)
  • 5d2a17b refactor(config): move the marker and the walk into internal/config (TQ-0072)
  • 47eefdb refactor(fsx): extract the atomic write both writers need (TQ-0072)
  • 0c509a0 refactor(guide): embed the init guide as a text/template (TQ-0090)
  • 96a948e refactor(guide): move the generated task guide into internal/guide (TQ-0072)
  • 5b98368 refactor(store): move the filesystem store into internal/store (TQ-0072)
  • a22d12f refactor(task): move the model into internal/task (TQ-0072)
  • b162ec7 refactor(web): drop the Search caption from the search input (TQ-0101)
  • 8ba89e3 refactor(web): drop the filter bar for the search bar (TQ-0098)
  • 1cad1e5 refactor(web): move the server and the frontend into internal/web (TQ-0072)
  • 3d69f8b test(browser): clean up after the harness and make its failures legible (TQ-0092)
  • 93e2ed1 test(browser): cover the create dialog, the filter bar and keyboard opening (TQ-0080)
  • c20808f test(browser): drive the board in a real Chromium (TQ-0074)
  • 2ee6e4e test(browser): expect the default column, not the first (TQ-0088)
  • 4007bf7 test(browser): one config edit reaches every connected board (TQ-0034)
  • e8cff32 test(frontend): move the board's pure rules into board.ts and test them (TQ-0075)
  • 88b0ba2 test(integration): cover the surfaces the harness could not reach (TQ-0073)
  • 5e4bf5b test(integration): drive the compiled binary (TQ-0038)
  • 2d8ddfa test(integration): the config stream against a real server (TQ-0034)
  • 3d3b67d test(notes): cover TQ-0020's headings, and close it
  • c41ae4c test(store): assert the writes the suite only claimed to check (TQ-0022)
  • d385457 test(store): cover discovery in a project without Git (TQ-0064)
  • 20b06d2 test(store): stop the suite escaping into a real task directory (TQ-0021, TQ-0023)
  • 2be3b2d test(tqtest): pin the suite's own isolation (TQ-0063)