Skip to content

Commit 20b2407

Browse files
DavidsonGomesclaude
andcommitted
release: v0.32.1 — fix tsc -b type error in PluginDetail breaking fresh builds
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent f957fdd commit 20b2407

5 files changed

Lines changed: 13 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.32.1] - 2026-04-24
9+
10+
Patch release fixing a `tsc -b` strict-mode type error in `PluginDetail.tsx` that broke fresh frontend builds (`npm run build` fails with TS2322 on `manifest['description']`). Local incremental builds passed because `.tsbuildinfo` cached the file as clean; fresh installs hit the error on first compile.
11+
12+
### Fixed
13+
14+
- **`PluginDetail.tsx`** — narrow `manifest['description']` with `typeof === 'string'` before using it as a truthy check and JSX child. Previously `Record<string, unknown>` lookup was cast only in the `<dd>` body, not in the conditional, so `tsc -b` rejected the truthy check as `unknown` in JSX.
15+
816
## [0.32.0] - 2026-04-24
917

1018
Minor release introducing the **Plugin System v1** — a full extensibility layer with 15 capabilities, pre-install security scanning, per-capability toggles, update diff previews, and a reference plugin (`pm-essentials`). Ships alongside a security-hardening pass (PRD #37) and a batch of community-reported fixes.

cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@evoapi/evo-nexus",
3-
"version": "0.32.0",
3+
"version": "0.32.1",
44
"description": "Unofficial open source toolkit for Claude Code — AI-powered business operating system",
55
"keywords": [
66
"claude-code",

dashboard/frontend/src/pages/PluginDetail.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -539,10 +539,10 @@ export default function PluginDetail() {
539539
) : null
540540
)}
541541
</dl>
542-
{manifest['description'] && (
542+
{typeof manifest['description'] === 'string' && manifest['description'] && (
543543
<div className="mt-4 pt-4 border-t border-[#21262d]">
544544
<dt className="text-xs text-[#667085] mb-1">{t('common.description')}</dt>
545-
<dd className="text-sm text-[#D0D5DD]">{manifest['description'] as string}</dd>
545+
<dd className="text-sm text-[#D0D5DD]">{manifest['description']}</dd>
546546
</div>
547547
)}
548548
{capabilities.length > 0 && (

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "evo-nexus"
3-
version = "0.32.0"
3+
version = "0.32.1"
44
description = "Unofficial open source toolkit for Claude Code — AI-powered business operating system"
55
requires-python = ">=3.10"
66
dependencies = [

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)