Replaced deprecated 'docker-compose' and 'podman-compose' commands with the recommended 'docker compose' and 'podman compose' syntax in all README files. Also made minor whitespace adjustments in diagram sections for consistency.
Standardized the use of 'bug' (lowercase) in issue and pull request templates, updated icon for URL converter in config, and added quotes to placeholders in platform request template for improved clarity and consistency.
Major overhaul of issue templates: updated bug, feature, and performance templates for clarity and completeness; added new templates for documentation and platform requests; removed deprecated deployment and platform support templates; improved categorization, user guidance, and required fields. Updated config to point to new documentation and security links. Removed obsolete scripts/README.md.
Rewrites the CLAUDE.md file for improved clarity, conciseness, and structure. Updates project overview, development commands, architecture, configuration, platform handling, testing, deployment, and security sections. Adds more detailed explanations, reorganizes content, and provides clearer instructions for contributors and maintainers.
Introduced detailed system architecture and request processing flow diagrams using Mermaid in the English, Simplified Chinese, and Traditional Chinese README files. These additions provide a clearer overview of the platform's internal structure and request handling logic for developers and users.
Eliminated the Gitee 2025 Open Source Software Awards voting prompt and Product Hunt badge from all README files (English, Simplified Chinese, Traditional Chinese) to streamline project documentation.
Standardized the Traditional Chinese label to '漢語(繁體)' across all README files. Moved the DartNode badge from the Chinese READMEs to the English README.
Standardized the language switcher formatting across English, Simplified Chinese, and Traditional Chinese README files. Removed the 'repository purpose' section from both Chinese README files for conciseness.
Added a new Traditional Chinese (zh-Hant) README. Updated language switcher links in the English and Simplified Chinese READMEs to include all three language options.
The README.md has been fully translated from Chinese to English, including section titles, descriptions, and platform-specific instructions. All internal anchor links and badge references have been updated to use English section names, and example URLs and explanations are now in English. The language switch link now points to the Simplified Chinese README, and terminology throughout the document has been standardized for an international audience.
Changed the badge colors and logos for container registries and AI inference providers in both English and Chinese README files to use OpenContainers Initiative and OpenRouter logos, respectively, for improved clarity and consistency.
Adds special handling for Docker registry redirects to prevent leaking Authorization headers to S3 or blob storage by using manual redirect mode and stripping sensitive headers before following redirects. Refactors scope handling for unauthorized responses and ensures retry logic for token fetches also respects Docker redirect requirements.
Adjusts the client scope in unauthorized responses to include the platform prefix for platforms starting with 'cr-'. This ensures clients request tokens with a scope that Xget can properly route.
Moved Docker registry scope extraction logic into a new getScopeFromUrl function in docker.js for reuse and clarity. Updated responseUnauthorized to accept an optional scope and improved its error response format to be more Docker/OCI-compliant. Refactored index.js to use the new scope extraction and 401 response logic.
Standardized JSDoc type annotations across the codebase, replacing 'Object' with 'object' and refining function signatures for better type safety. Added and configured eslint-plugin-jsdoc for enhanced documentation linting, and updated ESLint settings to include adapters and new JSDoc rules. Updated dependencies to include eslint-plugin-jsdoc and related packages.
Added GNU General Public License v3 headers to protocol and utility modules for Xget, clarifying copyright and licensing information. This ensures compliance and transparency regarding the project's open source status.
Extended the timeout for the test job in the CI workflow from 10 to 30 minutes to accommodate longer-running tests and prevent premature job termination.
Moves Git, Git LFS, and authentication header forwarding tests from integration.test.js into dedicated feature test files under test/features/. Updates range-cache, security, and container-registry tests for consistency and minor improvements. Refactors src/index.js for code style and readability, especially around cache logic and error handling.
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.