Introduces adapters for Vercel, Netlify Edge, Deno Deploy, and Cloudflare Pages, each with platform-specific entry points and configuration files. Adds a GitHub Actions CI workflow for linting, type checking, and testing. Updates lint scripts to include adapters, improves type annotations in src/index.js, and fixes a type assertion in security tests.
Refactored the main request handler in src/index.js for improved readability and error handling. Enhanced Docker request detection in validation.js to include additional Content-Type checks. Updated tests to increase timeouts and expand expected status codes for container registry platforms.
Moved AI and Git protocol detection and header configuration logic from utils/validation.js and index.js into dedicated modules (src/protocols/ai.js and src/protocols/git.js). This improves code organization, modularity, and maintainability by separating protocol-specific concerns.
Moved Docker/OCI protocol handling, performance monitoring, security, and validation logic into dedicated modules under src/protocols and src/utils. Updated src/index.js to use these new modules, improving maintainability and separation of concerns. Added pre-computed sorted platform keys for efficient matching in platform config.
Introduces the transformPath function to remove platform-specific prefixes from paths. This utility helps standardize path handling by stripping prefixes like /gh/ or /cr/docker/ based on the platform key.
Moved Docker authentication logic to occur before platform detection for /v2/auth paths, parsing the scope parameter to identify the registry platform and repository. Improved parsing of the WWW-Authenticate header and removed redundant Docker authentication code from the platform detection block.
Added logic to remove the cr/[registry]/ prefix from the scope parameter and handle official Docker Hub images by adding the library/ prefix. Updated tests to verify correct scope transformation for Docker Hub, GHCR, and official images.
Changed moduleResolution to 'bundler' and added Cloudflare Vitest pool workers types to the include array for better type support. Removed explicit types array and ensured configuration aligns with new tooling requirements.
Changed moduleResolution from 'bundler' to 'node', added global types for Cloudflare Workers and Vitest, and simplified the include paths. This improves compatibility with Node.js tooling and test environments.
Introduces src/types.d.ts and test/types.d.ts for Cloudflare Workers and test utilities. Enhances JSDoc comments and type annotations across test files for better type safety and clarity. Updates tsconfig.json to use bundler module resolution and include additional type sources. Minor test logic and assertion improvements for robustness.
Integrated eslint-config-prettier to disable formatting rules that conflict with Prettier. Updated ESLint configuration and added the dependency to package.json for improved code formatting consistency.
Refines regex patterns for URL rewriting and authentication parsing, ensures parseInt uses radix 10 throughout, and updates test mocks and helpers for consistency. Also adds more global variables to ESLint config, improves error handling, and removes unused code in tests.
Introduces a new CI workflow for linting, type checking, and testing. Updates sync and workers deployment workflows to trigger on successful completion of the CI workflow instead of direct pushes, improving reliability and sequencing of deployments.
Enhances the logic for obtaining Content-Length when a HEAD request does not return it by first attempting a Range GET for the first byte, extracting the total size from Content-Range if available, and falling back to buffering the response body for small files. This approach avoids unnecessary full downloads and improves efficiency, especially for large files.
Moved 'Ask Zread', 'Ask DeepWiki', 'Chromium', and 'Firefox' badges to the top of the badge section in both README.en.md and README.md. This improves badge visibility and maintains consistency across documentation.
Added a Deno Deploy badge to the README files and provided step-by-step instructions for deploying the project to Deno Deploy, including switching the default branch and connecting the repository. This update improves documentation for users who want to deploy using Deno Deploy.
Deleted the .github/workflows/functions-dn.yml file, removing the workflow for deploying to Deno Deploy. This may be due to a change in deployment strategy or deprecation of this workflow.
Workflows now trigger on both successful workflow runs and manual dispatch events. Increased timeout and moved permissions block for functions-dn workflow to align with job configuration.
Change the workflow trigger from push on 'functions' branch to workflow_run on 'main' after 'Sync to Pages and Functions' completes. Add concurrency group to prevent overlapping runs.
Introduces a workflow to deploy the 'functions' branch to Deno Deploy using denoland actions. The workflow checks out the branch, sets up Deno, verifies the installation, and deploys the project.
Introduces a step in the GitHub Actions workflow to create a Deno Deploy handler (deno.js) for deployments. The handler adapts the main request handler for Deno's environment, extracting environment variables and providing minimal context support.
Modularizes test helpers into separate files for assertions, generators, and mocks, and updates imports for platform tests. Adds new tests to verify Authorization header forwarding for authenticated requests. Cleans up and simplifies test setup, and updates fixtures for clarity and maintainability.
Clarified and expanded the required GitHub secrets for Vercel deployments, including Team ID and Project ID, and updated token naming for EdgeOne in both English and Chinese README files. Improved wording for Netlify Project ID instructions.
Sets VERCEL_ORG_ID and VERCEL_PROJECT_ID environment variables in the functions-vc GitHub Actions workflow using repository secrets. This enables the workflow to access Vercel organization and project context during execution.
Added Netlify deployment badge and detailed deployment steps to both English and Chinese README files. Also clarified that Workers code is converted to Functions-compatible format for both Vercel and Netlify workflows.
Enhanced the handler to better distinguish between Netlify, Vercel, and other environments. Environment variable normalization now accounts for different runtime contexts, and warning logs for unsupported features are always shown, not just in non-production.
Introduces a new GitHub Actions workflow for deploying to Netlify, updates the Vercel workflow name, and refactors the edge function handler to support both Netlify and Vercel platforms with runtime detection. Adds Netlify-specific configuration and redirect files to enable shared handler logic, reducing code duplication and simplifying multi-platform deployments.
Added Vercel deployment badge and detailed deployment steps to both English and Chinese README files. Updated the GitHub Actions workflow commit messages to generalize function conversion steps and removed detailed change lists. Minor wording improvements in the Chinese README for consistency.
Changed workflow_run triggers in deployment workflows to reference the updated workflow name 'Sync to Pages and Functions' instead of the previous names. This ensures deployments are triggered correctly after the new workflow completes.
Introduces a new GitHub Actions workflow for deploying to Vercel Functions and extends the sync workflow to auto-convert and push the codebase to a 'functions' branch for Vercel deployment. Updates workflow YAML files for consistent quoting and naming, refines documentation in CLAUDE.md for platform support and development, and updates package-lock.json dependencies.