Skip to content

Releases: Neilblaze/portscope

v1.8.5

Choose a tag to compare

@github-actions github-actions released this 07 Jul 11:18
PortScope Banner

What's new in PortScope v1.8.5

Added

  • Multi-Port Log Interleaving — The logs command now supports unified tailing. By passing multiple comma-separated ports (e.g., portscope logs 3000,5000) or using the --all flag (portscope logs --all), PortScope will dynamically multiplex logs from all active development processes into a single terminal window. Each stream is color-coded and prefixed (e.g., [node :3000]), and the internal line-buffer ensures that high-throughput outputs, like JSON stack traces, do not tear or inject tags mid-line.

v1.8.4

Choose a tag to compare

@github-actions github-actions released this 18 Jun 00:54
PortScope Banner

What's new in PortScope v1.8.4

Added

  • Instant Provider Revocation — The /revoke command now supports an optional provider argument (e.g. /revoke openai). Passing the provider name automatically bypasses the interactive confirmation prompts and instantly revokes the associated key for seamless workflow.
  • Live Mode for list Command — Completely redesigned the list --live polling architecture. Separated the heavy background process/port polling (updates every 2 seconds) from the terminal UI rendering loop (updates every 1 second). This allows process UPTIME to tick flawlessly per-second for a significantly smoother and more responsive terminal experience.

Changed

  • Release Automation Formatting — Restructured the release.toml file to inject the official PortScope Hero Banner and standardized markdown headings natively into GitHub Release notes for future automated versions.
  • Robust Signal Handling — Deep architectural reliability optimizations targeting OS-level signal handling to ensure graceful process termination and interrupt catches across varied terminal environments.

Fixed

  • Usage Metrics Persistence — Fixed a critical bug where /usage metrics were resetting entirely upon exiting the interactive session. Telemetry data now correctly syncs to ~/.portscope/metrics.json via native fs methods, accurately tracking LLM token consumption, costs, and context compactions indefinitely.
  • Windows Watch Mode Interrupts — Resolved an issue affecting Windows users where interrupting watch mode failed to correctly catch signals and terminate associated sub-processes, resulting in stalled terminal states.

v1.8.3

Choose a tag to compare

@github-actions github-actions released this 11 Jun 01:35

Added

  • Dependabot Automation — Configured .github/dependabot.yml for weekly ecosystem package updates and automatic PR generation for both the core CLI tool and the React website.
  • Website CI Checks — Added a test-website job to .github/workflows/pr-checks.yml that automatically lints and builds the React website on every pull request.
  • Explicit Cancellation Option — Added a 0 (Exit/Cancel) option to the model selection prompt in interactive mode, allowing users to back out gracefully without selecting a model.
  • Live Pricing Synchronization — Enhanced the /usage dashboard to auto-sync LLM pricing data seamlessly in the background. The CLI now performs an unawaited, asynchronous fetch to pull the latest llm-pricing.json (maintained every 12h via GitHub Actions) directly from the repository if the local user cache is older than 24 hours. This ensures cost estimates remain completely accurate for existing users without requiring a CLI update.

Changed

  • Node 18 CI Deprecation — Dropped Node 18 from the GitHub Actions (pr-checks.yml) test matrix to focus CI test cycles exclusively on active LTS (Node 20) and current (Node 22) environments.
  • PNPM CI Migration — Fully migrated GitHub Actions pipelines (pr-checks.yml, coverage.yml, deploy-website.yml, release.yml) from npm to pnpm using native cache configuration for significantly faster builds.
  • Model Discovery Strict Filtering — Overhauled the model fetching logic (src/config/models.js) with a strict cleanModelList sanitizer. Actively filters out non-chat capabilities (e.g., transcribe, tts, diarize, search, image, and experimental oss variants) ensuring only relevant conversational models are displayed in the CLI. Added modelsUrl to schema.js for OpenAI and Gemini for dynamic discovery.
  • Advanced Pricing Resolution — Rewrote cost estimation logic in src/ai/usage.js to ingest the dynamically synced src/data/llm-pricing.json. Replaced basic fallback mapping with an intelligent getRates() resolver that automatically accounts for provider prefixes and model variations.
  • UI Aesthetics & Alignment — Upgraded the provider-flow prompts to use rich chalk.bgGreen () and chalk.bgRed () block icons for action feedback. Fixed terminal spacing and alignment for API key outputs. Adjusted ASCII banner spacing.
  • Test Coverage & Error Styling — Expanded native Node.js test suite with robust UI formatting (src/ui/format.js) and error sanitation (src/config/sanitize-error.js) coverage. Replaced basic sanitizeError globally with styled formatChatError. Reached 296 total tests with 100% test coverage in targeted files, pushing overall line coverage past 50.90%.

Fixed

  • Documentation Links — Fixed malformed paths to the CONTRIBUTING.md and AI_USAGE_POLICY.md files across README.md and CODE_OF_CONDUCT.md.

v1.8.2

Choose a tag to compare

@github-actions github-actions released this 08 Jun 22:54

Full Changelog: v1.8.0...v1.8.2