Adds robust error handling for missing or inaccessible WebExtension APIs, including safe fallbacks for runtime, tabs, and downloads. Enhances sendMessage wrappers for both runtime and tabs to handle various argument patterns and errors gracefully. Exports the compatibility layer in more environments (window, self, global) and logs the environment where it is loaded. This improves reliability in diverse extension contexts and non-browser environments.
Expanded extension support to include Firefox alongside Chromium browsers. Updated README with detailed installation, build, and troubleshooting instructions for both Chromium and Firefox, clarified browser compatibility, and improved cross-browser guidance throughout code comments and documentation. Minor terminology changes were made in scripts and workflow files to consistently refer to 'Chromium' instead of 'Chrome/Chromium'.
Added detailed docstrings and comments to Python build and dev scripts, improving maintainability and clarity. Enhanced JavaScript files (background.js, content.js, popup.js, platform-detector.js, webext-compat.js) with module-level and function-level documentation. Standardized package naming in build.py and updated the GitHub Actions workflow for simplified, platform-agnostic publishing, removing platform selection input and automating release steps for Chrome, Edge, and Firefox. Improved code quality checks and test coverage in dev.py.
Removed detailed Firefox-specific release notes and manual Firefox publishing reminders from the GitHub Actions workflow. The release step now relies on auto-generated release notes, streamlining the publishing process for multi-browser support.
Changed the gecko extension ID from 'xget-now@xixu.me' to 'i@xi-xu.me' and removed the deprecated 'applications' field. This aligns the manifest with current Firefox extension manifest standards.
This update introduces full Firefox support using a new manifest-firefox.json (Manifest V2), adds a webext-compat.js compatibility layer for unified API usage, and refactors all extension scripts (background.js, content.js, popup.js) to use the new webext API. The build and development process is automated with new Python scripts (build.py, dev.py), and GitHub Actions workflows are updated to support multi-platform build, test, and release. Platform detection and capability abstraction are added, and all relevant files and manifests are updated for cross-browser compatibility.
Prevents multiple registrations of the download listener and refactors the download handling logic to immediately call suggest, then process redirection asynchronously. Improves error handling and notification logic for redirected downloads.
Introduces a guard to ensure the suggest callback is only called once in handleDownload, avoiding potential issues from multiple invocations in error or early return scenarios.
Updated all references, documentation, metadata, and user-facing strings to use the new name 'Xget Now' instead of 'Xget for Chromium'. This includes changes in issue templates, workflow files, privacy and security policies, README, manifest, package.json, popup UI, and code comments/logs. Repository URLs and links have also been updated to reflect the new project name.
Introduced 'compact' classes for .setting-group and .setting-label to adjust padding and margin for a more condensed layout. Applied these classes to the extension enable setting for improved UI spacing.
Improved the appearance and behavior of scrollbars in the .content and .platforms sections with custom styles, smooth scrolling, and auto-hide features. Added JavaScript logic for dynamic scrollbar visibility, visual feedback during scrolling, and keyboard navigation support for better accessibility and user experience.
Refactors popup.html with enhanced CSS for a more modern, visually appealing interface, including new color variables, gradients, and interactive effects. Updates status message handling in popup.js to animate hiding with CSS transitions. Also updates some UI text and icons for clarity and consistency.
Expanded download acceleration support to over 20 platforms including npm, PyPI, Maven, RubyGems, CRAN, SourceForge, arXiv, F-Droid, and more. Refactored platform configuration into a dedicated file, updated content/background scripts for broader detection and redirection, and redesigned the popup UI for categorized platform toggles. Updated manifest, package metadata, and documentation to reflect the new capabilities and version 2.0.0.
Consolidated Chrome and Edge extension packages into a single 'extension.zip' for all Chromium-based browsers. Removed CRX packaging and updated workflow, release notes, and README to reflect the unified distribution method.
Corrected the Chrome Web Store links in both the README and GitHub Actions workflow to remove the redundant '/xget-for-chrome' path segment. This ensures users are directed to the correct extension page.
Renamed all references from 'Chrome 网上应用店' to 'Chrome 应用商店' in workflow and README for consistency. Updated Chrome Web Store and Microsoft Edge Add-ons links to include language and region parameters.
Revised the extension description in both manifest.json and package.json to clarify supported sites and improve user understanding. Also updated manifest.json formatting for consistency and readability.
Replaces all incorrect or broken GitHub URLs referencing 'Xget for Chromium' with the correct 'Xget-for-Chromium' format across documentation, workflow, package.json, and popup.html. This ensures consistency and prevents navigation errors for users and contributors.
Updated all documentation, configuration, and code references from 'Xget for Chrome' to 'Xget for Chromium' for consistency with the supported browser family. This includes issue templates, workflow files, privacy and security policies, README, manifest, package metadata, background and content scripts, and popup UI.
Updated all documentation, configuration, and code references from 'Xget for Chrome' to 'Xget for Chromium' for consistency with supported browsers. This includes issue templates, workflow files, privacy and security policies, source code logs, manifest, and popup UI.
Removed the 'v' prefix from the version variable in the success notification message to ensure consistent formatting when publishing the Chrome extension.
Translated all workflow names, step descriptions, comments, and release notes in .github/workflows/publish-extension.yml from English to Chinese to improve accessibility for Chinese-speaking developers.
Revised PRIVACY_POLICY.md for clarity, transparency, and updated effective date. README.md wording changed from '仓库' to '存储库' for consistency, and other minor language improvements for accuracy and readability.
Converted all major documentation files (README, PRIVACY_POLICY, SECURITY, pull request template) to Chinese. Updated extension source files (background.js, content.js, popup.html, popup.js) to use Chinese comments and user-facing messages for improved localization and user experience.