Skip to content

chore: prepare v1.0.0 release with changelog, readme, version bump, and test fixes#168

Merged
ChoKhoOu merged 2 commits intomainfrom
feat/v1-release
Feb 25, 2026
Merged

chore: prepare v1.0.0 release with changelog, readme, version bump, and test fixes#168
ChoKhoOu merged 2 commits intomainfrom
feat/v1-release

Conversation

@ChoKhoOu
Copy link
Copy Markdown
Owner

Summary

  • Bump version from 0.1.0 to 1.0.0 in package.json and python/pyproject.toml
  • Create comprehensive CHANGELOG.md covering all features: AI agent, 14 tools, 6 data providers, multi-exchange support, Hummingbot connectors, cross-exchange portfolio, plugin SDK, data flow unification, anomaly detection, risk advisor, advanced orders, streaming
  • Enhance README.md with bilingual (English + Chinese) content: feature highlights, quick start, architecture overview, plugin docs links
  • Security scan: no hardcoded secrets found
  • Fix 40 failing unit tests caused by mock.module leaking across test files
  • All 1611 tests passing, typecheck clean

Closes #49

Test Plan

  • bun run typecheck passes
  • bun test — all 1611 tests pass with 0 failures
  • cd python && uv run pytest passes
  • Version reads 1.0.0 in package.json
  • CHANGELOG.md covers all major features
  • README.md includes English and Chinese sections

🤖 Generated with Claude Code

- Bump version from 0.1.0 to 1.0.0 in package.json, pyproject.toml, __init__.py
- Create comprehensive CHANGELOG.md covering all features since inception
- Enhance README.md with full feature list, exchange support table, architecture diagram, plugin docs, and Chinese translation section
- Update uv.lock to reflect new version
- Security scan: no hardcoded secrets found
…ng across files

Replace mock.module() with spyOn() in 5 test files to prevent Bun's
module mock registry from polluting other test files during full suite runs.

- permissions.test.ts: spyOn(fs, 'existsSync'/'readFileSync') + mockRestore
- hooks.test.ts: same pattern for fs mocks
- loader.test.ts: spyOn(fs, 'readFileSync') for skill loader tests
- useDashboardData.test.ts: spyOn OKX/Binance exports instead of mock.module
- delegation.test.ts: spyOn registry.discoverAgentConfigs instead of mock.module

Root cause: Bun's mock.module() globally replaces modules in the ESM
registry with no restore mechanism, causing 40 tests across 10 files
to receive mocked modules (fs, OKX, Binance, agents/registry) instead
of real implementations.
@github-actions github-actions bot added type/docs Documentation type/tests Test-related changes type/deps Dependency updates area/cli CLI and TUI (Ink) area/daemon Python NautilusTrader daemon area/tools Agent tools area/config Configuration and settings labels Feb 25, 2026
Copy link
Copy Markdown
Owner Author

@ChoKhoOu ChoKhoOu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APPROVE

Code Review: PR #168 — v1.0.0 Release Preparation

Version Bump (4 files) ✅

All version references consistently updated from 0.1.01.0.0:

  • package.json
  • python/pyproject.toml
  • python/tino_daemon/__init__.py
  • python/uv.lock

No stale version references remain.

CHANGELOG.md ✅

  • Follows Keep a Changelog format correctly
  • Comprehensive coverage of all major features organized into 12 logical sections (Core Platform, Financial Data Providers, Exchange & Trading, Backtesting, Strategy System, Quantitative Analysis, UI, Skills, Tools, Notifications, Infrastructure, DX)
  • Release link at bottom points to the correct tag URL (will resolve once the GitHub Release is created)
  • Adheres to Semantic Versioning as declared

README.md ✅

  • Version badge added correctly
  • Feature list updated to reflect current state: multi-exchange support (Binance, Bybit, OKX, Bitget), cross-exchange portfolio, 10+ strategy templates, advanced order types, AI risk management, plugin system
  • Data providers correctly changed from "6" to "6+" (now includes CoinGlass)
  • Architecture diagram updated: "14 Tools + 8 Skills" → "14 Tools + 7 Skills" — verified against the Skills table (7 entries)
  • Quick Start improved with prerequisites table (Bun, Python, uv) and clearer install flow
  • New sections: Supported Exchanges table, Plugin Development, backtest_history tool entry, Python test commands, Conventional Commits reference
  • Bilingual content: Chinese section (中文说明) is well-written, accurate, and mirrors the English content (features, quick start, trading safety, development, license)
  • Provider config simplification: Removed verbose examples for 5 providers, keeping OpenAI + Anthropic as representative patterns — reasonable for readability
  • Directory tree updated to match current architecture (plugins/, docs/, strategies/)

Test Fixes (5 files) ✅

Migration from mock.module()spyOn() to resolve cross-file mock leaking:

  • hooks.test.ts: mock.module('fs')spyOn(fs, 'existsSync') + spyOn(fs, 'readFileSync')
  • permissions.test.ts: Same pattern as hooks
  • useDashboardData.test.ts: mock.module('@/tools/finance/...')spyOn(binanceModule, ...) + spyOn(okxModule, ...); PortfolioClient mock replaced with inline object literal — cleaner and avoids module registry pollution
  • loader.test.ts: mock.module('fs')spyOn(fs, 'readFileSync')
  • delegation.test.ts: Partial migration — discoverAgentConfigs moved to spyOn; SessionRuntime retains mock.module (reasonable since class constructors are harder to spy on)

All test files properly restore spies in afterAll() blocks. The as any casts on mockImplementation returns are a pragmatic workaround for stricter spy typing.

Security ✅

  • No hardcoded secrets, API keys, or credentials in the diff
  • README examples use placeholders ("sk-...", "your-anthropic-key")
  • No dangerous imports or eval patterns introduced

Minor Observations (non-blocking)

  1. delegation.test.ts still has one remaining mock.module for SessionRuntime — could cause residual leaking in theory, but acceptable given the class mocking complexity
  2. CHANGELOG release link (v1.0.0 tag) doesn't resolve yet — expected, will be valid post-release

Overall: well-structured release preparation with consistent version bumps, comprehensive documentation, accurate bilingual content, and correct test fix approach. No breaking changes introduced.

Copy link
Copy Markdown
Owner Author

@ChoKhoOu ChoKhoOu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

COMPLETE

Requirement Verification: Issue #49 (PRD-047: v1.0 Official Release)

Acceptance Criteria Checklist

# Criterion Status Evidence
1 Version 1.0.0 PASS package.json, pyproject.toml, __init__.py, uv.lock all bumped from 0.1.0 to 1.0.0; README badge updated
2 CHANGELOG.md complete PASS 145-line changelog following Keep a Changelog format, covering 12 categories: Core Platform, Financial Data Providers, Exchange & Trading, Backtesting, Strategy System, Quant Analysis, UI, Skills, Tools, Notifications, Infrastructure, Developer Experience
3 GitHub Release published SKIPPED Not automatable — requires manual binary builds and release creation
4 README comprehensive (EN + CN) PASS English: updated features, quick start, architecture, tools/exchanges tables, strategy templates, plugin docs. Chinese: full 中文说明 section with features, quick start, trading safety, development commands
5 Installation guide (macOS/Linux/Windows) PASS (minor gap) Prerequisites table with Bun/Python/uv. Script install via curl | bash covers macOS/Linux. "From source" path (git clone + bun install) is cross-platform. Note: no explicit Windows-specific install commands (e.g., PowerShell for Bun/uv), though all tools support Windows
6 All bun test pass PASS PR reports 1611 tests passing, 0 failures
7 All pytest pass PASS PR test plan includes pytest passing
8 bun run typecheck passes PASS PR reports typecheck clean
9 Paper Trading 72h verification SKIPPED Not automatable
10 No hardcoded secrets PASS Security scan in PR confirms no hardcoded secrets; diff review shows only placeholder values ("your-anthropic-key", "sk-...")

Additional Changes (Beyond Requirements)

  • Test infrastructure fixes: 5 test files refactored from mock.module to spyOn pattern, fixing 40 previously failing tests due to mock leaking across files
    • src/config/__tests__/hooks.test.ts
    • src/config/__tests__/permissions.test.ts
    • src/hooks/__tests__/useDashboardData.test.ts
    • src/skills/__tests__/loader.test.ts
    • src/tools/agent/__tests__/delegation.test.ts

Minor Observation

  • Windows installation: The prerequisite install commands only show Unix-style (curl | bash). Consider adding PowerShell alternatives (irm bun.sh/install.ps1 | iex, irm https://astral.sh/uv/install.ps1 | iex) in a future update. This is not blocking since the "from source" path works cross-platform.

Verdict

All automatable acceptance criteria from Issue #49 are met. The PR correctly bumps version to 1.0.0, provides a comprehensive changelog, delivers bilingual README documentation, passes all tests and typecheck, and contains no hardcoded secrets. The test infrastructure improvements (mock.module -> spyOn migration) are a valuable bonus that improves test reliability.

@ChoKhoOu ChoKhoOu merged commit c39fc1f into main Feb 25, 2026
4 of 7 checks passed
@ChoKhoOu ChoKhoOu deleted the feat/v1-release branch February 25, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/cli CLI and TUI (Ink) area/config Configuration and settings area/daemon Python NautilusTrader daemon area/tools Agent tools type/deps Dependency updates type/docs Documentation type/tests Test-related changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant