---
title: openplanr 1.4.3
description: Published 2026-04-29. Four improvements that close real workflow gaps in openplanr linear push, openplanr linear tasklist-sync, and the per-type update…
url: https://openplanr.dev/docs/changelog/1.4.3
updated: 2026-04-29
related:
  - https://openplanr.dev/docs/changelog/1.5.1.md
  - https://openplanr.dev/docs/changelog/1.5.0.md
  - https://openplanr.dev/docs/changelog/1.4.2.md
---

# openplanr 1.4.3

Published 2026-04-29.

[Release on GitHub](https://github.com/openplanr/OpenPlanr/releases/tag/v1.4.3)

## Patch Changes

Four improvements that close real workflow gaps in `openplanr linear push`, `openplanr linear tasklist-sync`, and the per-type `update` commands.

**Granular push scope (BL-012).** `openplanr linear push` adds `--no-cascade` and redefines `--push-parents` to be upward-attachment only.

- `--no-cascade` on EPIC/FEAT pushes skips descendants (stories, tasklists, linked QT/BL). No-op for leaves.
- `--push-parents` no longer drags in the parent's other children. Pushing `TASK-004 --push-parents` now creates EPIC + parent FEAT + this tasklist only — not the feature's sibling stories.

**TASK status now propagates to Linear (BL-014).** `openplanr linear push` resolves a workflow stateId for the merged TaskList issue using an aggregation rule across all task files under the feature: all `done` → Linear Done, any `in-progress` → Linear In Progress, mix of done+pending → In Progress, all `pending` → Linear Todo. Closes the gap where `TASK-006 status: done` locally left Linear's TaskList in Backlog.

**Bulk subtask completion (BL-015).** `openplanr task update`, `openplanr quick update`, and `openplanr update` add `--all-done` and `--all-pending` flags that set the frontmatter status AND flip every `N.M` task checkbox in the body in one operation. Replaces the manual `sed`-or-edit-each-box workflow when shipping a feature.

**tasklist-sync no longer skips healthy issue UUIDs (BL-016).** `openplanr linear tasklist-sync` previously rejected every task file whose `linearIssueId` was a UUIDv4 — the entire population of healthy task files — because a shape-based pre-screen flagged them as "looks like a workflow state UUID." Linear issue ids and workflow-state ids are both UUIDv4 and indistinguishable by shape, so the pre-screen has been removed; the existing `isLikelyLinearIssueId` check still rejects truly malformed values like `ENG42`.

Backward-compat note: scripts that relied on `--push-parents` cascading downward will see fewer entities pushed.
