Skip to content

Latest commit

 

History

History
88 lines (65 loc) · 2.82 KB

File metadata and controls

88 lines (65 loc) · 2.82 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

2.0.0 - 2025-11-10

⚠️ BREAKING CHANGES

  • API now requires userId parameter in PDF screenshot requests
  • Changed storage structure from test/{filename} to pdf_thumbnails/{userId}/{filename}

Added

  • User-specific folder organization for PDF thumbnails
  • userId parameter to PdfScreenshotRequest type

Changed

  • PDF thumbnails now stored in user-specific folders: pdf_thumbnails/{userId}/

Fixed

  • Updated Swagger schema to include userId parameter validation

1.2.0 - 2025-11-10

Added

  • Bearer token authentication for API security
  • Multiple API key support via environment variables
  • Public /docs endpoint for API documentation
  • Reusable response schemas for consistent error handling
  • Comprehensive authentication documentation
  • Axios usage examples (JavaScript & TypeScript)

Changed

  • Moved Swagger registration before authentication to keep docs public
  • Refactored schema responses into shared components

Security

  • API now requires authentication for all endpoints except /docs

1.1.0 - 2025-11-10

Added

  • Rate limiting to prevent API abuse
  • Global rate limit: 100 requests per minute
  • PDF endpoint rate limit: 10 requests per hour per IP
  • Rate limit headers in all responses
  • Rate limiting configuration file
  • Rate limiting documentation (RATE_LIMITING.md)

Changed

  • Enhanced Swagger documentation with rate limit information

1.0.0 - 2025-11-10

Added

  • Initial release
  • PDF screenshot generation using pdfjs-dist and node-canvas
  • Automatic upload to Cloudflare R2 storage
  • Fastify server with TypeScript
  • Interactive Swagger/OpenAPI documentation
  • PM2 process management configuration
  • Environment-based configuration
  • Comprehensive error handling
  • Health check endpoint

Technical

  • PDF rendering at 1.5x scale for better quality
  • PNG output format
  • Automatic thumbnail naming based on PDF filename
  • Support for PDFs from any public URL

Version Format

This project uses Semantic Versioning:

  • MAJOR: Breaking changes (e.g., 1.0.0 → 2.0.0)
  • MINOR: New features, backward compatible (e.g., 1.0.0 → 1.1.0)
  • PATCH: Bug fixes (e.g., 1.0.0 → 1.0.1)