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
- API now requires
userIdparameter in PDF screenshot requests - Changed storage structure from
test/{filename}topdf_thumbnails/{userId}/{filename}
- User-specific folder organization for PDF thumbnails
userIdparameter toPdfScreenshotRequesttype
- PDF thumbnails now stored in user-specific folders:
pdf_thumbnails/{userId}/
- Updated Swagger schema to include
userIdparameter validation
1.2.0 - 2025-11-10
- Bearer token authentication for API security
- Multiple API key support via environment variables
- Public
/docsendpoint for API documentation - Reusable response schemas for consistent error handling
- Comprehensive authentication documentation
- Axios usage examples (JavaScript & TypeScript)
- Moved Swagger registration before authentication to keep docs public
- Refactored schema responses into shared components
- API now requires authentication for all endpoints except
/docs
1.1.0 - 2025-11-10
- 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)
- Enhanced Swagger documentation with rate limit information
1.0.0 - 2025-11-10
- 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
- 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
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)