Releases: wyre-technology/autotask-node
Releases · wyre-technology/autotask-node
Release v2.1.0
[2.1.0] - 2026-02-10
Changed
- BREAKING:
TicketNotes.create()now requiresticketIdas first parameter and POSTs to/Tickets/{ticketId}/Notes - BREAKING:
ProjectNotes.create()now requiresprojectIdas first parameter and POSTs to/Projects/{projectId}/Notes - BREAKING:
CompanyNotes.create()now requirescompanyIdas first parameter and POSTs to/Companies/{companyId}/Notes - BREAKING:
TimeEntries.create()now requiresticketIdas first parameter and POSTs to/Tickets/{ticketId}/TimeEntries
Fixed
- Child entity create endpoints now use correct parent-child URL patterns required by the Autotask REST API (fixes wyre-technology/autotask-mcp#24)
- Updated metadata endpoints to reflect correct parent-child URLs
Release v2.0.6
chore: rebuild dist after lint formatting Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Release v2.0.5
fix: route all Winston console output to stderr Winston's Console transport writes to process.stdout by default, which corrupts stdio-based protocols like MCP JSON-RPC. Configure stderrLevels to send all log levels to stderr. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Release v2.0.4
fix: gracefully handle unwritable logs directory The logger was unconditionally creating a logs/ directory at process.cwd() during module load. When used as a library (e.g., in an MCP server launched by Claude Desktop), cwd may be / or another unwritable location, causing ENOENT crashes. Now wraps directory creation in try/catch and skips file transports if the directory can't be created. Also supports LOG_DIR env var to override the log directory location. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Release v2.0.3
fix: Remove dotenv.config() from library classes Libraries should not call dotenv.config() — that's the application's responsibility. With dotenv v17, .config() writes to stdout, which breaks MCP servers and other stdio-based protocols that use this library. Removed from AutotaskClient, EnhancedAutotaskClient, and the client generator template. The CLI entry point retains its dotenv usage since it is an application, not a library. Bumps version to 2.0.3. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Release v2.0.2
Release v2.0.2
Release v2.0.1
Release v2.0.1
Release v1.0.0: First Stable Release
June 9, 2025 — First stable release of the Autotask API Wrapper, a TypeScript/Node.js client library for the Autotask REST API.
IMPORTANT:
- This is a major release that establishes the foundational API and behavior patterns. Future releases will maintain backward compatibility within the 1.x series.
- The
regionparameter has been removed from configuration. The client now automatically detects the correct API zone using Autotask's zone detection endpoint. - All entity operations support the Query Builder system for filtering and data retrieval.
NEW FEATURES:
Autotask API Integration:
- Automatic Zone Detection: Client automatically discovers the correct API endpoint using provided credentials, eliminating manual region configuration.
- Entity Support: CRUD operations for major Autotask entities including Tickets, Accounts, Contacts, Projects, Tasks, Time Entries, Contracts, Invoices, Quotes, Purchase Orders, and others.
- Request Handling: Built-in retry logic with exponential backoff, rate limiting, and error handling.
- TypeScript Support: Type definitions for entities, API responses, and query operations with IntelliSense support.
Query Builder System:
- Type-Safe Fluent API: Build queries with TypeScript validation and compile-time error checking.
- Comparison Operators: Support for
eq,ne,gt,gte,lt,lte,contains,startsWith,endsWith,in,notIn,isNull,isNotNull, andbetween. - Logical Grouping: AND/OR operations with nesting capabilities for complex query construction.
- Sorting: Multi-field sorting with ascending/descending directions and chainable sort operations.
- Field Selection: Selective field retrieval using
select()operations for performance optimization. - Related Entity Includes: Fetch related data in single queries with field specification using
include()operations. - Pagination: Both offset-based and cursor-based pagination support with automatic page traversal.
- Query Execution Methods: Multiple execution patterns including
execute(),first(),count(), andexists(). - Query Utilities: Utilities including
clone(),reset(), andtoQuerySpec()for debugging.
Enhanced Entity System:
- QueryableEntity Base Class: Base class allowing entities to inherit query capabilities.
- Enhanced Tickets Entity: Integrated query builder with specialized query methods for common ticket operations.
- Standardized CRUD Operations: Consistent interface patterns across entity types with error handling.
Command Line Interface:
- CLI Tool: Command-line interface supporting entities with CRUD operations.
- Interactive Mode: Prompts for creating and updating entities with input validation.
- Output Options: Support for JSON output and formatted table display of results.
- Environment Integration: Integration with environment variables and configuration files.
IMPROVEMENTS:
Developer Experience:
- Testing: 460 unit tests with 100% pass rate, including 46 query builder tests and optimized integration test suite (11 tests).
- Integration Test Infrastructure: Test framework for validating against real Autotask API endpoints, optimized to respect API rate limits.
- Custom Jest Matchers: Test assertions for Autotask entity validation and API response testing.
- Performance Monitoring: Built-in performance tracking with metrics and optimization utilities.
- Memory Management: Pagination handling and memory optimization for large dataset operations.
API Robustness:
- Error Handling: Error types and recovery strategies for API scenarios including rate limiting, authentication failures, and network issues.
- Rate Limiting: Throttling and backoff strategies that respect Autotask API rate limits.
- Connection Resilience: Automatic retry mechanisms with exponential backoff for transient failures.
- Request Optimization: Batching and caching strategies for improved performance.
Documentation and Tooling:
- API Documentation: Guides with examples for features and entity operations.
- Query Builder Guide: Documentation with usage patterns and best practices for the query system.
- Integration Setup: Guides for integrating with development environments and CI/CD systems.
- TypeScript Definitions: Type coverage enabling IDE support and compile-time validation.
SECURITY:
- Secure Authentication: Credential handling with support for environment variables and secure configuration storage.
- Token Management: Automatic token refresh and secure storage of authentication credentials.
- Request Validation: Input validation and sanitization for API operations to prevent injection attacks.
- Error Information Protection: Handling of sensitive information in error messages and logs.
FIXES:
Build and Configuration:
- Jest Configuration: Resolved TypeScript compilation issues and module resolution problems in test environments.
- Winston Logger Setup: Fixed console noise in test environments with proper logger configuration.
- Type System Compatibility: Resolved TypeScript compilation errors across entity classes and utility functions.
- Module Dependencies: Fixed import/export issues and circular dependency problems.
Test Infrastructure:
- Unit Test Timeouts: Resolved timeout issues caused by retry logic in RequestHandler during test execution.
- Mock System Integration: Fixed Jest mock compatibility issues with TypeScript and Winston logger.
- Integration Test Stability: Improved test reliability with better error handling and API limitation detection.
- Test Coverage Reporting: Fixed coverage calculation and reporting for both unit and integration tests.
Query System:
- Type Inference: Resolved TypeScript type inference issues in complex query chains and method chaining.
- Runtime Validation: Fixed validation of query parameters and operator combinations.
- Error Handling: Improved error messages for invalid query construction and execution failures.
For more information about the Autotask API Wrapper, visit our GitHub repository or read our documentation.
To report issues or request features, please open an issue on GitHub.