Skip to content

v1.0.0 - Production Ready

Choose a tag to compare

@mdwekat mdwekat released this 20 Nov 00:27
· 35 commits to main since this release
ad1eede

NodeSwarm v1.0.0 - Production Ready Release

🎉 Major Release

NodeSwarm is now production-ready with enterprise-grade features!

✨ New Features

Core Capabilities

  • Job Timeout & Cancellation: Built-in timeout support and AbortController integration
  • Priority Queue: HIGH, NORMAL, LOW priority levels for intelligent job scheduling
  • Worker Health Monitoring: Automatic health checks and worker restart on failure
  • Real-time Metrics: Comprehensive performance monitoring and statistics
  • Auto-Scaling: Dynamic worker pool adjustment based on load
  • Strict Mode Security: Input validation and dangerous pattern detection (enabled by default)

Developer Experience

  • Full TypeScript Strict Mode: Zero linter errors, complete type safety
  • Comprehensive Benchmarks: Performance suite with 9 workload types
  • Library Comparisons: Head-to-head benchmarks vs Piscina, Workerpool, Tinypool
  • 20+ New Tests: Complete test coverage for all features
  • Rich Documentation: README overhaul, SECURITY.md, CHANGELOG.md, CONTRIBUTING.md
  • Examples: Basic and advanced usage patterns

🔧 Improvements

  • Event-driven pool closing (replaced inefficient polling)
  • Enhanced error handling with full stack trace preservation
  • Better worker lifecycle management
  • Improved memory efficiency

📊 Performance

NodeSwarm delivers competitive performance with the most comprehensive feature set:

Library Total Time vs NodeSwarm
NodeSwarm 599ms baseline
Piscina 623ms +4.0%
Workerpool 649ms +8.3%
Tinypool 634ms +5.8%

🚨 Breaking Changes

  • TypeScript strict mode enabled (may affect type checking)
  • Error structure includes full context (message, stack, name)
  • thread() method supports options parameter (backward compatible)
  • Strict mode enabled by default (can be disabled)

📦 Installation

npm install nodeswarm@1.0.0

📚 Documentation


Full Changelog: v0.0.1...v1.0.0