@critical-path/react 0.14.19 → 0.14.20

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +812 -0
  2. package/README.md +3 -0
  3. package/package.json +5 -4
package/CHANGELOG.md ADDED
@@ -0,0 +1,812 @@
1
+ # @critical-path/react
2
+
3
+ ## 0.14.20
4
+
5
+ ### Patch Changes
6
+
7
+ - da8c69b: Packages now include `CHANGELOG.md`, so agents and developers can read breaking changes in `node_modules`. READMEs link the new upgrade guide (`UPGRADING.md`, also at /getting-started/upgrading/ on the docs site), which coding agents in consumer apps can follow to migrate on their own.
8
+ - Updated dependencies [da8c69b]
9
+ - @critical-path/core@0.51.1
10
+ - @critical-path/client@0.25.1
11
+ - @critical-path/mcp@0.18.1
12
+
13
+ ## 0.14.19
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [a7e9f4a]
18
+ - @critical-path/core@0.51.0
19
+ - @critical-path/client@0.25.0
20
+ - @critical-path/mcp@0.18.0
21
+
22
+ ## 0.14.18
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies [7896d0d]
27
+ - @critical-path/core@0.50.0
28
+ - @critical-path/client@0.24.5
29
+ - @critical-path/mcp@0.17.2
30
+
31
+ ## 0.14.17
32
+
33
+ ### Patch Changes
34
+
35
+ - Updated dependencies [fc9740b]
36
+ - @critical-path/mcp@0.17.1
37
+
38
+ ## 0.14.16
39
+
40
+ ### Patch Changes
41
+
42
+ - Updated dependencies [bbc4305]
43
+ - @critical-path/core@0.49.0
44
+ - @critical-path/mcp@0.17.0
45
+ - @critical-path/client@0.24.4
46
+
47
+ ## 0.14.15
48
+
49
+ ### Patch Changes
50
+
51
+ - Updated dependencies [cb71e39]
52
+ - @critical-path/core@0.48.1
53
+ - @critical-path/client@0.24.3
54
+ - @critical-path/mcp@0.16.3
55
+
56
+ ## 0.14.14
57
+
58
+ ### Patch Changes
59
+
60
+ - Updated dependencies [f151568]
61
+ - @critical-path/core@0.48.0
62
+ - @critical-path/client@0.24.2
63
+ - @critical-path/mcp@0.16.2
64
+
65
+ ## 0.14.13
66
+
67
+ ### Patch Changes
68
+
69
+ - Updated dependencies [fde5883]
70
+ - @critical-path/core@0.47.0
71
+ - @critical-path/client@0.24.1
72
+ - @critical-path/mcp@0.16.1
73
+
74
+ ## 0.14.12
75
+
76
+ ### Patch Changes
77
+
78
+ - Updated dependencies [d82d168]
79
+ - @critical-path/core@0.46.0
80
+ - @critical-path/client@0.24.0
81
+ - @critical-path/mcp@0.16.0
82
+
83
+ ## 0.14.11
84
+
85
+ ### Patch Changes
86
+
87
+ - Updated dependencies [3c08dd9]
88
+ - @critical-path/core@0.45.0
89
+ - @critical-path/client@0.23.0
90
+ - @critical-path/mcp@0.15.0
91
+
92
+ ## 0.14.10
93
+
94
+ ### Patch Changes
95
+
96
+ - Updated dependencies [b3ef9c6]
97
+ - @critical-path/core@0.44.0
98
+ - @critical-path/client@0.22.3
99
+ - @critical-path/mcp@0.14.2
100
+
101
+ ## 0.14.9
102
+
103
+ ### Patch Changes
104
+
105
+ - Updated dependencies [867cdae]
106
+ - @critical-path/core@0.43.1
107
+ - @critical-path/client@0.22.2
108
+ - @critical-path/mcp@0.14.1
109
+
110
+ ## 0.14.8
111
+
112
+ ### Patch Changes
113
+
114
+ - Updated dependencies [efa342f]
115
+ - @critical-path/core@0.43.0
116
+ - @critical-path/mcp@0.14.0
117
+ - @critical-path/client@0.22.1
118
+
119
+ ## 0.14.7
120
+
121
+ ### Patch Changes
122
+
123
+ - Updated dependencies [f548659]
124
+ - @critical-path/core@0.42.0
125
+ - @critical-path/client@0.22.0
126
+ - @critical-path/mcp@0.13.0
127
+
128
+ ## 0.14.6
129
+
130
+ ### Patch Changes
131
+
132
+ - Updated dependencies [65044e3]
133
+ - @critical-path/core@0.41.0
134
+ - @critical-path/client@0.21.1
135
+ - @critical-path/mcp@0.12.1
136
+
137
+ ## 0.14.5
138
+
139
+ ### Patch Changes
140
+
141
+ - Updated dependencies [cfd3215]
142
+ - @critical-path/core@0.40.0
143
+ - @critical-path/client@0.21.0
144
+ - @critical-path/mcp@0.12.0
145
+
146
+ ## 0.14.4
147
+
148
+ ### Patch Changes
149
+
150
+ - Updated dependencies [c7ad4d4]
151
+ - @critical-path/core@0.39.0
152
+ - @critical-path/client@0.20.9
153
+ - @critical-path/mcp@0.11.11
154
+
155
+ ## 0.14.3
156
+
157
+ ### Patch Changes
158
+
159
+ - Updated dependencies [8e52679]
160
+ - @critical-path/core@0.38.0
161
+ - @critical-path/client@0.20.8
162
+ - @critical-path/mcp@0.11.10
163
+
164
+ ## 0.14.2
165
+
166
+ ### Patch Changes
167
+
168
+ - Updated dependencies [d4477b1]
169
+ - @critical-path/core@0.37.0
170
+ - @critical-path/client@0.20.7
171
+ - @critical-path/mcp@0.11.9
172
+
173
+ ## 0.14.1
174
+
175
+ ### Patch Changes
176
+
177
+ - 85d9bb5: Publish only what consumers need.
178
+
179
+ - Packages no longer ship compiled tests or TypeScript sources (`files: ["dist", "!dist/**/*.test.*"]`). `@critical-path/core` goes from 330 files to 146.
180
+ - `exports` maps list `types` first, as TypeScript's resolution expects.
181
+ - Updated dependencies [85d9bb5]
182
+ - @critical-path/core@0.36.1
183
+ - @critical-path/client@0.20.6
184
+ - @critical-path/mcp@0.11.8
185
+
186
+ ## 0.14.0
187
+
188
+ ### Minor Changes
189
+
190
+ - dbe7073: Cancel stale requests in UI data hooks.
191
+
192
+ - **@critical-path/react:** data hooks abort their in-flight request when inputs change or the component unmounts, and ignore any response that arrives afterwards. Previously, switching from project A to project B could show A's tasks if A's request finished last. The package now ships with a `'use client'` directive, for Next.js App Router.
193
+ - **@critical-path/svelte:** state classes abort the previous request when a fetch method is called again, and gain `destroy()` to cancel in-flight requests (call it from `onDestroy`). Duck-typed clients without `with()` keep working; their requests just aren't cancelled.
194
+
195
+ ### Patch Changes
196
+
197
+ - Updated dependencies [810d8d1]
198
+ - @critical-path/core@0.36.0
199
+ - @critical-path/client@0.20.5
200
+ - @critical-path/mcp@0.11.7
201
+
202
+ ## 0.13.11
203
+
204
+ ### Patch Changes
205
+
206
+ - Updated dependencies [b13f7c4]
207
+ - @critical-path/core@0.35.0
208
+ - @critical-path/client@0.20.4
209
+ - @critical-path/mcp@0.11.6
210
+
211
+ ## 0.13.10
212
+
213
+ ### Patch Changes
214
+
215
+ - Updated dependencies [1cc0d4c]
216
+ - @critical-path/core@0.34.0
217
+ - @critical-path/client@0.20.3
218
+ - @critical-path/mcp@0.11.5
219
+
220
+ ## 0.13.9
221
+
222
+ ### Patch Changes
223
+
224
+ - Updated dependencies [aa94129]
225
+ - @critical-path/core@0.33.0
226
+ - @critical-path/client@0.20.2
227
+ - @critical-path/mcp@0.11.4
228
+
229
+ ## 0.13.8
230
+
231
+ ### Patch Changes
232
+
233
+ - Updated dependencies [a3fe03d]
234
+ - @critical-path/core@0.32.0
235
+ - @critical-path/client@0.20.1
236
+ - @critical-path/mcp@0.11.3
237
+
238
+ ## 0.13.7
239
+
240
+ ### Patch Changes
241
+
242
+ - Updated dependencies [40e5958]
243
+ - @critical-path/core@0.31.0
244
+ - @critical-path/client@0.20.0
245
+ - @critical-path/mcp@0.11.2
246
+
247
+ ## 0.13.6
248
+
249
+ ### Patch Changes
250
+
251
+ - Updated dependencies [b453472]
252
+ - @critical-path/client@0.19.0
253
+ - @critical-path/mcp@0.11.1
254
+
255
+ ## 0.13.5
256
+
257
+ ### Patch Changes
258
+
259
+ - Updated dependencies [cdb300a]
260
+ - @critical-path/core@0.30.0
261
+ - @critical-path/client@0.18.0
262
+ - @critical-path/mcp@0.11.0
263
+
264
+ ## 0.13.4
265
+
266
+ ### Patch Changes
267
+
268
+ - Updated dependencies [a019d37]
269
+ - @critical-path/core@0.29.0
270
+ - @critical-path/client@0.17.0
271
+ - @critical-path/mcp@0.10.4
272
+
273
+ ## 0.13.3
274
+
275
+ ### Patch Changes
276
+
277
+ - Updated dependencies [4fbbc40]
278
+ - @critical-path/core@0.28.0
279
+ - @critical-path/mcp@0.10.3
280
+ - @critical-path/client@0.16.1
281
+
282
+ ## 0.13.2
283
+
284
+ ### Patch Changes
285
+
286
+ - Updated dependencies [1a516bd]
287
+ - @critical-path/core@0.27.0
288
+ - @critical-path/client@0.16.0
289
+ - @critical-path/mcp@0.10.2
290
+
291
+ ## 0.13.1
292
+
293
+ ### Patch Changes
294
+
295
+ - Updated dependencies [719e844]
296
+ - @critical-path/core@0.26.0
297
+ - @critical-path/client@0.15.1
298
+ - @critical-path/mcp@0.10.1
299
+
300
+ ## 0.13.0
301
+
302
+ ### Minor Changes
303
+
304
+ - fd79762: **BREAKING:** strict request bodies, no identity in payloads, and CORS off by default.
305
+
306
+ **@critical-path/core**
307
+ - Request schemas are strict: unknown keys, server-assigned fields and identity fields are rejected instead of stripped.
308
+ - Identity is never read from payloads. `updateTask` no longer reads `actorId`/`actorName`/`actorType`/`actor` from the update object; pass them as the third `options` argument or use `withActor`. `addComment`, `addCommentReaction`, `removeCommentReaction` and `createAttachment` take the actor from `withActor`, falling back to an optional `authorId`/`userId`/`uploaderId`, then `'system'`.
309
+ - Schemas export request body types (`CreateTaskBody`, `UpdateTaskBody`, ...).
310
+
311
+ **@critical-path/server**
312
+ - Bodies containing unknown, server-assigned or identity fields return `400`.
313
+ - Every request runs as the `getContext` user, or `ANONYMOUS_ACTOR` (`anonymous`). Authors of comments, reactions, attachments and time entries are no longer accepted from bodies.
314
+ - `DELETE /comments/:id/reactions` takes `?emoji=` only.
315
+ - CORS is off by default (`cors: false`). Pass `cors: { origins: [...] }` to allow cross-origin browsers.
316
+
317
+ **@critical-path/client**
318
+ - Method parameters use the server's body types, so identity fields no longer type-check. `addCommentReaction`/`removeCommentReaction` take `{ emoji }`; `addTodo`/`toggleTodo` drop the actor options argument.
319
+ - New `updateProject`, `deleteProject` and `addDependency`. `uploadAttachmentFile` base64-encodes binary data (previously it sent unusable JSON for `Uint8Array`/`ArrayBuffer`).
320
+ - CLI: `--author`, `--actor-id`, `--actor-name`, `--agent-name` and `CRITICAL_PATH_AUTHOR_ID`/`ACTOR_ID`/`AGENT_NAME` are removed; identity comes from the `--key` token via the server's `getContext`.
321
+
322
+ **@critical-path/mcp**
323
+ - Tool arguments are strict: undeclared arguments return an `isError` result.
324
+ - `add_comment` no longer takes `authorId`. With an `engine`, writes are attributed to the new `actor` server option (default `DEFAULT_MCP_ACTOR`).
325
+
326
+ **@critical-path/react / @critical-path/svelte**
327
+ - `addReaction`/`removeReaction` take `(commentId, emoji)`; comment and attachment inputs no longer accept `authorId`/`uploaderId`. Task, comment and deliverable update parameters use the schema body types.
328
+
329
+ ### Patch Changes
330
+
331
+ - Updated dependencies [fd79762]
332
+ - @critical-path/core@0.25.0
333
+ - @critical-path/client@0.15.0
334
+ - @critical-path/mcp@0.10.0
335
+
336
+ ## 0.12.3
337
+
338
+ ### Patch Changes
339
+
340
+ - Updated dependencies [b54e22c]
341
+ - @critical-path/core@0.24.0
342
+ - @critical-path/mcp@0.9.0
343
+ - @critical-path/client@0.14.9
344
+
345
+ ## 0.12.2
346
+
347
+ ### Patch Changes
348
+
349
+ - Updated dependencies [6dd5529]
350
+ - @critical-path/core@0.23.0
351
+ - @critical-path/mcp@0.8.0
352
+ - @critical-path/client@0.14.8
353
+
354
+ ## 0.12.1
355
+
356
+ ### Patch Changes
357
+
358
+ - Updated dependencies [b243a37]
359
+ - @critical-path/core@0.22.0
360
+ - @critical-path/mcp@0.7.0
361
+ - @critical-path/client@0.14.7
362
+
363
+ ## 0.12.0
364
+
365
+ ### Minor Changes
366
+
367
+ - f3301bf: - Added comprehensive task lifecycle and semantic status predicates (`isDraftTask`, `isArchivedTask`, `isTrashedTask`, `isTrashedOrArchivedTask`, `isWorkflowTask`, `getTaskSemanticStatus`, `isTaskCompleted`, `isTaskInProgress`, `isTaskNotStarted`, `isTaskCanceled`, `isTaskActive`, `isTaskUnassigned`).
368
+ - Hardened mention extraction with markdown code suppression (`stripMarkdownCode`) to prevent code blocks, inline code, HTML elements, and URLs from triggering false positive mentions while preserving rich-text mention nodes.
369
+ - Added Base-62 fractional indexing utilities (`generateKeyBetween`, `generateNKeysBetween`) for zero-cost lexical task/item reordering without array shifting or bulk database rewrites.
370
+ - Added `completedAt` lifecycle timestamp tracking alongside `actualEndDate`, automatic timestamp assignment upon entering `completed` or `canceled`, and timestamp + progress reset upon reopening to `not_started` or `in_progress`.
371
+ - Added `isTempTaskId` utility and hardened optimistic temporary task handling in `@critical-path/svelte` (`TaskState`) and `@critical-path/react` (`useTasks`) with in-flight creation resolution and ID mapping to prevent 404 errors during rapid optimistic updates and deletions.
372
+
373
+ ### Patch Changes
374
+
375
+ - Updated dependencies [f3301bf]
376
+ - @critical-path/core@0.21.0
377
+ - @critical-path/client@0.14.6
378
+ - @critical-path/mcp@0.6.9
379
+
380
+ ## 0.11.9
381
+
382
+ ### Patch Changes
383
+
384
+ - Updated dependencies [8acf018]
385
+ - @critical-path/client@0.14.5
386
+ - @critical-path/mcp@0.6.8
387
+
388
+ ## 0.11.8
389
+
390
+ ### Patch Changes
391
+
392
+ - Updated dependencies [b8a68dd]
393
+ - @critical-path/core@0.20.2
394
+ - @critical-path/client@0.14.4
395
+ - @critical-path/mcp@0.6.7
396
+
397
+ ## 0.11.7
398
+
399
+ ### Patch Changes
400
+
401
+ - Updated dependencies [500b353]
402
+ - @critical-path/core@0.20.1
403
+ - @critical-path/client@0.14.3
404
+ - @critical-path/mcp@0.6.6
405
+
406
+ ## 0.11.6
407
+
408
+ ### Patch Changes
409
+
410
+ - Updated dependencies [c83235b]
411
+ - @critical-path/core@0.20.0
412
+ - @critical-path/client@0.14.2
413
+ - @critical-path/mcp@0.6.5
414
+
415
+ ## 0.11.5
416
+
417
+ ### Patch Changes
418
+
419
+ - Updated dependencies [f816145]
420
+ - @critical-path/core@0.19.1
421
+ - @critical-path/client@0.14.1
422
+ - @critical-path/mcp@0.6.4
423
+
424
+ ## 0.11.4
425
+
426
+ ### Patch Changes
427
+
428
+ - Updated dependencies [f539a11]
429
+ - @critical-path/client@0.14.0
430
+ - @critical-path/mcp@0.6.3
431
+
432
+ ## 0.11.3
433
+
434
+ ### Patch Changes
435
+
436
+ - Updated dependencies [1c85472]
437
+ - @critical-path/client@0.13.1
438
+ - @critical-path/mcp@0.6.2
439
+
440
+ ## 0.11.2
441
+
442
+ ### Patch Changes
443
+
444
+ - Updated dependencies [b86b6fc]
445
+ - @critical-path/client@0.13.0
446
+ - @critical-path/mcp@0.6.1
447
+
448
+ ## 0.11.1
449
+
450
+ ### Patch Changes
451
+
452
+ - Updated dependencies [31a6dde]
453
+ - Updated dependencies [31a6dde]
454
+ - @critical-path/core@0.19.0
455
+ - @critical-path/mcp@0.6.0
456
+ - @critical-path/client@0.12.1
457
+
458
+ ## 0.11.0
459
+
460
+ ### Minor Changes
461
+
462
+ - adf44f6: Add headless workload and capacity distribution engine for streamgraphs, stacked area charts, and team capacity planning. Features include contiguous calendar bucketing (`day`, `week`, `month`), multi-dimension grouping (`assignee`, `team`, `taskType`, `priority`, `status`), effort metric distribution (`scheduled`, `logged`, `remaining`, `blended`), tabular zero-filled series matrix for D3 stack layouts, and capacity/utilization thresholds.
463
+
464
+ ### Patch Changes
465
+
466
+ - Updated dependencies [adf44f6]
467
+ - @critical-path/core@0.18.0
468
+ - @critical-path/client@0.12.0
469
+ - @critical-path/mcp@0.5.0
470
+
471
+ ## 0.10.0
472
+
473
+ ### Minor Changes
474
+
475
+ - 9c31e8d: Introduce comprehensive Task Metrics, Inferred Actuals, Progress Inference, Earned Value Management (EVM), and Time-Series Progress History Curve Profiling.
476
+ - **Inferred Actuals**: Automatic start/completion auto-stamping on workflow transitions with fallback inference from activity logs, plus automatic completion timestamp clearing on task re-open.
477
+ - **Reality Delta**: Multi-dimensional variance analysis comparing planned estimates to logged hours (`effortVarianceHours`, `durationVarianceHours`, `accuracyRatio`, `isOverdue`, `isOverEstimate`).
478
+ - **Progress Inference**: Deterministic priority waterfall resolving completion progress across explicit values, checklist/todo completion ratios, logged effort, and elapsed schedule time.
479
+ - **Earned Value Management (EVM)**: Task-level PV, EV, AC, CV, SV, CPI, and SPI calculations.
480
+ - **Time-Series History & Curve Shapes**: Historical timeline reconstruction from activity logs with piecewise interpolation curve classification (`linear`, `s_curve`, `early_surge`, `late_rush`, `stalled`).
481
+ - **Full-Stack Integration**: REST endpoints (`/tasks/:id/metrics`, `/tasks/:id/progress-history`), Client SDK methods, React `useTaskMetrics` hook, Svelte 5 `TaskMetricsState`, and MCP tools (`get_task_metrics`, `get_task_progress_history`).
482
+
483
+ ### Patch Changes
484
+
485
+ - Updated dependencies [9c31e8d]
486
+ - @critical-path/core@0.17.0
487
+ - @critical-path/client@0.11.0
488
+ - @critical-path/mcp@0.4.0
489
+
490
+ ## 0.9.1
491
+
492
+ ### Patch Changes
493
+
494
+ - Updated dependencies [b4b2c98]
495
+ - @critical-path/mcp@0.3.1
496
+
497
+ ## 0.9.0
498
+
499
+ ### Minor Changes
500
+
501
+ - e2a7eef: Introduce Ladder of Abstraction and Critical Path Method (CPM) timeline synthesis to the framework data model:
502
+ - **Core Domain**: Multi-scale timeline synthesis model across Macro phase rollups, Standard CPM Gantt schedule (early/late bounds, float/slack calculation, bottleneck identification), and Concrete grounding (deliverables, file attachments, daily effort distribution, and reality deltas). Added `calculateCriticalPath`, `getTimelineLadder`, and `getTaskLadder` to `CriticalPathEngine`.
503
+ - **Server Router**: HTTP endpoints `GET /projects/:id/critical-path`, `GET /projects/:id/ladder`, and `GET /tasks/:id/ladder`.
504
+ - **Client SDK**: `CriticalPathClient` methods `calculateCriticalPath`, `getTimelineLadder`, and `getTaskLadder`.
505
+ - **MCP**: New AI tools `calculate_critical_path`, `get_timeline_ladder`, and `get_task_ladder`.
506
+ - **React**: Custom hooks `useTimelineLadder`, `useCriticalPath`, and `useTaskLadder`.
507
+ - **Svelte 5**: Svelte 5 Runes state classes `TimelineLadderState` and `CriticalPathState`.
508
+
509
+ ### Patch Changes
510
+
511
+ - Updated dependencies [e2a7eef]
512
+ - @critical-path/core@0.16.0
513
+ - @critical-path/client@0.10.0
514
+ - @critical-path/mcp@0.3.0
515
+
516
+ ## 0.8.0
517
+
518
+ ### Minor Changes
519
+
520
+ - 105f3d3: Synchronize feature parity between `@critical-path/react` and `@critical-path/svelte`:
521
+ - `@critical-path/react`: Added `updateTask` with optimistic updates and rollback to `useTasks`, and introduced `useTaskActivity` hook for unified threaded discussions and attachments.
522
+ - `@critical-path/svelte`: Added `KanbanState` (`createKanbanState`), `TaskTransitionsState` (`createTaskTransitionsState`), and `DeliverableSummaryState` (`createDeliverableSummaryState`) using native Svelte 5 runes.
523
+
524
+ ## 0.7.0
525
+
526
+ ### Minor Changes
527
+
528
+ - ed51060: Add Model Context Protocol (MCP) server and client-side WebMCP support:
529
+ - New `@critical-path/mcp` package providing standard MCP server (`createCriticalPathMcpServer`, stdio transport, resources, prompts) and CLI (`npx @critical-path/mcp`).
530
+ - Client-side WebMCP browser integration (`registerWebMcpTools`) adhering to W3C WebML CG specification with ambient project scoping.
531
+ - First-class React hook `useWebMCP` in `@critical-path/react`.
532
+ - First-class Svelte 5 runes state `WebMcpState` and `createWebMcpState` in `@critical-path/svelte`.
533
+
534
+ ### Patch Changes
535
+
536
+ - Updated dependencies [ed51060]
537
+ - @critical-path/mcp@0.2.0
538
+
539
+ ## 0.6.2
540
+
541
+ ### Patch Changes
542
+
543
+ - Updated dependencies [dbd2072]
544
+ - @critical-path/core@0.15.2
545
+ - @critical-path/client@0.9.2
546
+
547
+ ## 0.6.1
548
+
549
+ ### Patch Changes
550
+
551
+ - Updated dependencies [f53afab]
552
+ - @critical-path/core@0.15.1
553
+ - @critical-path/client@0.9.1
554
+
555
+ ## 0.6.0
556
+
557
+ ### Minor Changes
558
+
559
+ - 21eb85c: Implement Universal Semantic Statuses & System-Derived Implied Statuses (3-Tier Status Architecture)
560
+
561
+ - **Tier 1 (Universal Semantic Statuses)**: Defined canonical status enum `SemanticStatus = 'not_started' | 'in_progress' | 'completed' | 'canceled'` providing universal semantic meaning across any industry domain.
562
+ - **Tier 2 (Workflow-Defined Statuses)**: Updated `StatusDefinition` to map domain-specific statuses to a semantic `category`. Updated built-in workflows (Software, Creative, VFX, Simple) to classify statuses by category.
563
+ - **Tier 3 (System-Derived Implied Statuses)**: Added `deriveTaskLifecycleState` and `engine.getTaskLifecycleState(taskId)` returning dynamic indicators:
564
+ - Dependency: `isReady`, `isBlocked`, `blockingTaskIds`
565
+ - Schedule: `isOverdue`, `isUpcoming`, `isUnplanned`
566
+ - Ownership: `isUnassigned`, `isStalled`
567
+ - Estimate/Pace: `isOverEstimate`, `isPaceWarning`
568
+ - Convenience flags: `isDone`, `isActive`, `isCancelled`
569
+ - **Domain Entities & Engine**: Added automatic timestamp progression (`actualStartDate`, `actualEndDate`), progress completion, and event emission driven by semantic status categories.
570
+ - **React UI Hooks**: Updated `useKanban` to support dynamic custom workflow columns without dropping tasks, plus added `groupBy: 'semantic' | 'workflow'` option.
571
+ - **Client SDK**: Added `client.getTaskLifecycleState(taskId)`.
572
+
573
+ ### Patch Changes
574
+
575
+ - Updated dependencies [21eb85c]
576
+ - @critical-path/core@0.15.0
577
+ - @critical-path/client@0.9.0
578
+
579
+ ## 0.5.5
580
+
581
+ ### Patch Changes
582
+
583
+ - Updated dependencies [3dc2798]
584
+ - @critical-path/core@0.14.0
585
+ - @critical-path/client@0.8.4
586
+
587
+ ## 0.5.4
588
+
589
+ ### Patch Changes
590
+
591
+ - Updated dependencies [573a4fa]
592
+ - @critical-path/core@0.13.3
593
+ - @critical-path/client@0.8.3
594
+
595
+ ## 0.5.3
596
+
597
+ ### Patch Changes
598
+
599
+ - Updated dependencies [03d269c]
600
+ - @critical-path/core@0.13.2
601
+ - @critical-path/client@0.8.2
602
+
603
+ ## 0.5.2
604
+
605
+ ### Patch Changes
606
+
607
+ - Updated dependencies [a7d17c0]
608
+ - @critical-path/core@0.13.1
609
+ - @critical-path/client@0.8.1
610
+
611
+ ## 0.5.1
612
+
613
+ ### Patch Changes
614
+
615
+ - Updated dependencies [a4a464b]
616
+ - @critical-path/core@0.13.0
617
+ - @critical-path/client@0.8.0
618
+
619
+ ## 0.5.0
620
+
621
+ ### Minor Changes
622
+
623
+ - 5a5930f: Add first-class Deliverable entity, Creative Workflow presets, and reactive UI bindings:
624
+ - `@critical-path/core`: Added `Deliverable` entity, `DeliverableSummary` rollup computation, `DEFAULT_CREATIVE_WORKFLOW` preset, `deliverableId` on tasks, store implementations (InMemory, SQLite, Firebase), domain events, and webhook integration.
625
+ - `@critical-path/server`: Added RESTful API endpoints for `/deliverables` and `/deliverables/:id/summary`.
626
+ - `@critical-path/client`: Added deliverable management and summary methods to `CriticalPathClient`.
627
+ - `@critical-path/react`: Added `useDeliverables` and `useDeliverableSummary` React hooks.
628
+ - `@critical-path/svelte`: Added `DeliverableState` and `createDeliverableState` Svelte 5 Runes state management.
629
+
630
+ ### Patch Changes
631
+
632
+ - Updated dependencies [5a5930f]
633
+ - @critical-path/core@0.12.0
634
+ - @critical-path/client@0.7.0
635
+
636
+ ## 0.4.1
637
+
638
+ ### Patch Changes
639
+
640
+ - Updated dependencies [55549e9]
641
+ - @critical-path/core@0.11.0
642
+ - @critical-path/client@0.6.0
643
+
644
+ ## 0.4.0
645
+
646
+ ### Minor Changes
647
+
648
+ - e9003d3: Add emoji reactions support for comment conversations with domain events, deduplication, REST endpoints, client SDK, and React/Svelte state integrations.
649
+
650
+ ### Patch Changes
651
+
652
+ - Updated dependencies [e9003d3]
653
+ - @critical-path/core@0.10.0
654
+ - @critical-path/client@0.5.0
655
+
656
+ ## 0.3.5
657
+
658
+ ### Patch Changes
659
+
660
+ - Updated dependencies [e983557]
661
+ - @critical-path/core@0.9.0
662
+ - @critical-path/client@0.4.4
663
+
664
+ ## 0.3.4
665
+
666
+ ### Patch Changes
667
+
668
+ - 2d5ff04: fix(core): decode base64 strings and data URIs into binary Uint8Array in storage adapters
669
+ - Updated dependencies [2d5ff04]
670
+ - @critical-path/core@0.8.3
671
+ - @critical-path/client@0.4.3
672
+
673
+ ## 0.3.3
674
+
675
+ ### Patch Changes
676
+
677
+ - fix(core): decode base64 strings and data URIs into binary Uint8Array in storage adapters
678
+ - Updated dependencies
679
+ - @critical-path/core@0.8.2
680
+ - @critical-path/client@0.4.2
681
+
682
+ ## 0.3.2
683
+
684
+ ### Patch Changes
685
+
686
+ - 315425c: fix(core): generate Firebase Storage download tokens and construct valid public URLs
687
+ - Updated dependencies [315425c]
688
+ - @critical-path/core@0.8.1
689
+ - @critical-path/client@0.4.1
690
+
691
+ ## 0.3.1
692
+
693
+ ### Patch Changes
694
+
695
+ - Updated dependencies [1811922]
696
+ - @critical-path/core@0.8.0
697
+ - @critical-path/client@0.4.0
698
+
699
+ ## 0.3.0
700
+
701
+ ### Minor Changes
702
+
703
+ - a48a04a: Add threaded conversations, attachment metadata management, and storage adapters (S3 & Firebase Storage):
704
+
705
+ - **`@critical-path/core`**:
706
+ - Added `Attachment` entity, `CreateAttachmentInput`, `UploadFileInput`, and `FileStorageAdapter` contracts.
707
+ - Added `InMemoryFileStore`, duck-typed `S3StorageAdapter` (compatible with AWS SDK v3, v2, MinIO, and Cloudflare R2), and `FirebaseStorageAdapter` (compatible with Google Cloud Storage and Firebase Admin SDK).
708
+ - Extended `Comment` with `authorType` (`user`, `agent`, `system`) and `parentId` for threaded discussions.
709
+ - Implemented full comment and attachment repository methods across `InMemoryStore`, `SQLiteStore`, and `FirebaseStore`.
710
+ - Added engine operations for upload, presigning, and deleting attachments with domain events (`comment.*`, `attachment.*`) and webhooks.
711
+
712
+ - **`@critical-path/server`**:
713
+ - Added RESTful routes for comments (`GET/POST /tasks/:taskId/comments`, `GET/POST /comments`, `GET/PATCH/DELETE /comments/:id`).
714
+ - Added RESTful routes for attachments (`GET/POST /tasks/:taskId/attachments`, `GET/POST /attachments`, `GET/DELETE /attachments/:id`, `POST /attachments/presign`).
715
+
716
+ - **`@critical-path/client`**:
717
+ - Added SDK methods `getComments`, `getComment`, `addComment`, `updateComment`, `deleteComment`.
718
+ - Added SDK methods `getAttachments`, `getAttachment`, `createAttachment`, `deleteAttachment`, and `getPresignedAttachmentUploadUrl`.
719
+
720
+ - **`@critical-path/react`**:
721
+ - Added `useComments(taskId)` with reactive thread tree derivation (`threads` containing nested `replies`) and comment mutations.
722
+ - Added `useAttachments(filter)` with attachment creation and deletion.
723
+
724
+ - **`@critical-path/svelte`**:
725
+ - Added Svelte 5 Rune-based `CommentState` / `createCommentState(client, taskId)` with derived threaded hierarchy.
726
+ - Added Svelte 5 Rune-based `AttachmentState` / `createAttachmentState(client, filter)`.
727
+
728
+ ### Patch Changes
729
+
730
+ - Updated dependencies [a48a04a]
731
+ - @critical-path/core@0.7.0
732
+ - @critical-path/client@0.3.0
733
+
734
+ ## 0.2.4
735
+
736
+ ### Patch Changes
737
+
738
+ - Updated dependencies [6e9dece]
739
+ - @critical-path/core@0.6.0
740
+ - @critical-path/client@0.2.4
741
+
742
+ ## 0.2.3
743
+
744
+ ### Patch Changes
745
+
746
+ - Updated dependencies [c24b76c]
747
+ - @critical-path/core@0.5.2
748
+ - @critical-path/client@0.2.3
749
+
750
+ ## 0.2.2
751
+
752
+ ### Patch Changes
753
+
754
+ - Updated dependencies [34067fd]
755
+ - @critical-path/core@0.5.1
756
+ - @critical-path/client@0.2.2
757
+
758
+ ## 0.2.1
759
+
760
+ ### Patch Changes
761
+
762
+ - Updated dependencies [83a5c17]
763
+ - @critical-path/core@0.5.0
764
+ - @critical-path/client@0.2.1
765
+
766
+ ## 0.2.0
767
+
768
+ ### Minor Changes
769
+
770
+ - 35576a6: Introduce Workflow concept to the project management model with status definitions, allowed transition validation, task types, webhook events (workflow.created, workflow.updated, workflow.deleted), server routes, SDK methods, and React/Svelte state hooks.
771
+
772
+ ### Patch Changes
773
+
774
+ - Updated dependencies [35576a6]
775
+ - @critical-path/core@0.4.0
776
+ - @critical-path/client@0.2.0
777
+
778
+ ## 0.1.6
779
+
780
+ ### Patch Changes
781
+
782
+ - Updated dependencies [4b92228]
783
+ - @critical-path/core@0.3.0
784
+ - @critical-path/client@0.1.5
785
+
786
+ ## 0.1.5
787
+
788
+ ### Patch Changes
789
+
790
+ - 3470b61: add optimistic updates with error rollback to Svelte state classes and React hooks
791
+
792
+ ## 0.1.4
793
+
794
+ ### Patch Changes
795
+
796
+ - Updated dependencies [df22aad]
797
+ - @critical-path/core@0.2.1
798
+ - @critical-path/client@0.1.4
799
+
800
+ ## 0.1.3
801
+
802
+ ### Patch Changes
803
+
804
+ - Updated dependencies [755286a]
805
+ - @critical-path/core@0.2.0
806
+ - @critical-path/client@0.1.3
807
+
808
+ ## 0.1.2
809
+
810
+ ### Patch Changes
811
+
812
+ - Initial open-source release of React context provider (`CriticalPathProvider`) and hooks (`useKanban`, `useTasks`, `useProjects`).
package/README.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  > **React Context Provider & Hooks for Critical Path.**
4
4
 
5
+ > **Upgrading?** Upgrade every `@critical-path/*` package together. Coding agents: follow [UPGRADING.md](https://github.com/Pixerate/critical-path/blob/main/UPGRADING.md); breaking changes are marked **BREAKING** in this package's `CHANGELOG.md`.
6
+
7
+
5
8
  `@critical-path/react` provides components and custom React hooks (`useProjects`, `useTasks`, `useKanban`, `useTaskActivity`, `useComments`, `useAttachments`, `useTaskTransitions`, `useWorkflows`, `useDeliverables`, `useDeliverableSummary`, `useWebMCP`) for rendering project management UIs in React and Next.js.
6
9
 
7
10
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@critical-path/react",
3
- "version": "0.14.19",
3
+ "version": "0.14.20",
4
4
  "description": "React Context Provider and Hooks for Critical Path headless project management framework",
5
5
  "author": "Jack James",
6
6
  "license": "MIT",
@@ -18,9 +18,9 @@
18
18
  }
19
19
  },
20
20
  "dependencies": {
21
- "@critical-path/client": "0.25.0",
22
- "@critical-path/core": "0.51.0",
23
- "@critical-path/mcp": "0.18.0"
21
+ "@critical-path/client": "0.25.1",
22
+ "@critical-path/core": "0.51.1",
23
+ "@critical-path/mcp": "0.18.1"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "react": "^18.0.0 || ^19.0.0"
@@ -41,6 +41,7 @@
41
41
  },
42
42
  "files": [
43
43
  "dist",
44
+ "CHANGELOG.md",
44
45
  "!dist/**/*.test.*"
45
46
  ],
46
47
  "scripts": {