Skip to content

Releases: wyre-technology/autotask-node

Release v2.1.0

10 Feb 18:17

Choose a tag to compare

[2.1.0] - 2026-02-10

Changed

  • BREAKING: TicketNotes.create() now requires ticketId as first parameter and POSTs to /Tickets/{ticketId}/Notes
  • BREAKING: ProjectNotes.create() now requires projectId as first parameter and POSTs to /Projects/{projectId}/Notes
  • BREAKING: CompanyNotes.create() now requires companyId as first parameter and POSTs to /Companies/{companyId}/Notes
  • BREAKING: TimeEntries.create() now requires ticketId as 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

23 Jan 20:18

Choose a tag to compare

chore: rebuild dist after lint formatting

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

Release v2.0.5

23 Jan 20:00

Choose a tag to compare

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

23 Jan 19:58

Choose a tag to compare

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

23 Jan 18:41

Choose a tag to compare

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

20 Jan 19:08

Choose a tag to compare

Release v2.0.2

Release v2.0.1

20 Jan 19:06

Choose a tag to compare

Release v2.0.1

Release v1.0.0: First Stable Release

09 Jun 17:43

Choose a tag to compare

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 region parameter 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, and between.
  • 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(), and exists().
  • Query Utilities: Utilities including clone(), reset(), and toQuerySpec() 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.