9.1.0
Changelog - PR #236: Build System Modernization
[Unreleased]
version: "9.1.0"
Added
- Standalone Binary Distribution - Pre-compiled binaries for all major platforms without Node.js dependency
- macOS (Apple Silicon & Intel)
- Linux (x64, ARM64, Alpine/musl)
- Windows (x64)
- One-line Installer Script -
curl -fsSL https://raw.githubusercontent.com/bgauryy/octocode-mcp/main/install/install.sh | sh - Bun Build Scripts - Cross-compilation support via
bun build --compilebuild:bin- Build for current platformbuild:bin:all- Build for all platformsbuild:bin:darwin-arm64,build:bin:darwin-x64,build:bin:linux-x64, etc.
- tsup Configuration - Modern esbuild-based bundler replacing Rollup
- Type Export -
FileContentQuerytype now explicitly exported from schema
Changed
- Build System - Migrated from Rollup to tsup (esbuild)
- Faster builds with esbuild
- Simpler configuration via
tsup.config.ts - Tree-shaking enabled by default
- Schema Validation -
FileContentQuerySchemarefactored to usesuperRefine()- Better error messages with specific paths (
['fullContent'],['startLine']) - Can report multiple validation failures simultaneously
- Better error messages with specific paths (
- Package Search Schema - Refactored to use flat field definitions avoiding deep type inference
- Dependencies Upgraded
@typescript-eslint/*: 6.x → 8.xzod: 3.23.8 → 3.24.0typescript: 5.9.2 → 5.9.3- Added:
tsup,tslib,eslint-config-prettier,eslint-plugin-prettier
- Error Handling - Empty catch blocks replace unused error variables (ESLint v8 compliance)
Removed
- Rollup Configuration -
rollup.config.jsandrollup-plugin-stringdependency - Separate TypeScript Build Config -
tsconfig.build.json(tsup handles compilation) - Type Declarations from Package -
.d.tsfiles no longer published (binary-focused distribution)
Breaking Changes
- GitHubReposSearch Validation - Now requires at least one of
keywordsToSearchortopicsToSearch- Queries with only
ownerfilter will fail validation - Error message:
"At least one of 'keywordsToSearch' or 'topicsToSearch' is required"
- Queries with only
Fixed
- Formatting Consistency - Standardized conditional expression formatting across codebase
- Type Safety - Improved generic constraints in
createSuccessResult<T extends Record<string, unknown>>
Migration Guide
For Binary Users (New!)
# Install standalone binary (no Node.js required)
curl -fsSL https://raw.githubusercontent.com/bgauryy/octocode-mcp/main/install/install.sh | sh
# Configure MCP client
{
"mcpServers": {
"octocode": {
"command": "~/.local/bin/octocode-mcp"
}
}
}For npm Users
No changes required - npx octocode-mcp continues to work.
For API Consumers
If you're using githubSearchRepositories with owner-only queries:
// Before (now fails validation)
{ owner: "microsoft", limit: 10 }
// After (add keywords or topics)
{ owner: "microsoft", keywordsToSearch: ["*"], limit: 10 }
// or
{ owner: "microsoft", topicsToSearch: ["typescript"], limit: 10 }Files Changed Summary
| Category | Files | Lines Added | Lines Removed |
|---|---|---|---|
| Build Config | 4 | 46 | 58 |
| Schema | 3 | 50 | 33 |
| Source | 10 | 27 | 30 |
| Tests | 12 | 152 | 217 |
| Dependencies | 4 | 507 | 312 |
| Documentation | 2 | 243 | 1 |
| Total | 36 | 1043 | 709 |
Related Links
- PR: #236
- Branch:
build