Releases: ultralytics/actions
v0.0.45 - `v0.0.45` requests `HEADERS` constant (#374)
🌟 Summary
v0.0.45 focuses on enhancing URL validation, processing, and performance through optimized HTTP request handling, reusable headers, and streamlined code structure. 🚀
📊 Key Changes
- Introduced
REQUESTS_HEADERS
, a reusable default header for HTTP requests, improving consistency across operations. - Refactored the
is_url
function to include optional session usage for performance gains. - Enhanced URL-checking logic to better handle HTTP methods like
HEAD
andGET
with smarter error filtering. - Upgraded multi-threaded link-checking to utilize sessions, improving reliability and connection stability.
- Updated test coverage with new URLs for validation and consistency checks.
- Standardized URL formatting in documentation/tests by ensuring accurate, redirect-free links.
🎯 Purpose & Impact
- 📈 Improved Performance: Reduced redundant HTTP initialization with reusable headers and sessions, boosting request efficiency.
- 🔒 Increased Reliability: Smarter error handling and session usage help maintain consistent link-checking even with complex URLs.
- 🛠️ Simplified Maintenance: Centralized header definitions make future updates easier and more scalable.
- ✅ Better Compatibility: Compliance with site restrictions (like blocking automated requests) ensures smoother functionality.
- 🚀 Enhanced User Experience: Standardized URLs eliminate navigation issues, while robust testing assures high confidence in correctness.
Overall, this update ensures faster, more reliable interactions for both developers and end-users when working with URLs. 🌐
What's Changed
- Update URLs to redirects by @glenn-jocher in #373
v0.0.45
requestsHEADERS
constant by @glenn-jocher in #374
Full Changelog: v0.0.44...v0.0.45
v0.0.44 - `v0.0.44` Improved URL check robustness (#372)
🌟 Summary
The v0.0.44
release improves URL verification mechanisms for enhanced accuracy and reliability while refining related testing suites. 🚀
📊 Key Changes
- Enhanced URL Checking Logic:
- Strengthened HTTP headers for better server compatibility and user-agent emulation.
- Added robust handling for
HEAD
and fallback toGET
requests, reducing false negatives when verifying URLs. - Introduced handling of "bad response codes" (e.g., 404, 500) to better flag non-functional URLs.
- Expanded and Refined Test Cases:
- Included more diverse and real-world URL samples to broaden test coverage.
- Improved existing tests for accuracy by adjusting expected outcomes.
- Documentation Fixes:
- Updated "Code of Conduct" and "Security Policy" links for consistent formatting and better readability.
- Refined bug report instructions for clarity, simplifying user contributions.
- Version Update: Package version upgraded from
0.0.43
to0.0.44
.
🎯 Purpose & Impact
- 🌐 More Reliable URL Validation: Enhanced logic ensures better compatibility with various server configurations, empowering users with accurate URL validation.
- 🔍 Improved Testing Rigor: Comprehensive testing mitigates potential edge cases, leading to more robust and predictable behavior.
- 📘 Better User Documentation: Clearer and consistent content enhances usability for both developers and end-users.
- ✅ Smooth User Experience: The fixes help users interact seamlessly with the package, building confidence and utility.
This release is a quality-focused update, ensuring long-term stability and user satisfaction for URL validation functionality. 👍
What's Changed
- Fix MRE by @glenn-jocher in #371
v0.0.44
Improved URL check robustness by @glenn-jocher in #372
Full Changelog: v0.0.43...v0.0.44
v0.0.43 - Update summarize_release.py (#369)
It seems that no specific PR details or release differences are provided. Without this information, I can't generate a summary for you. If you could provide more details about the changes in this release, I’d be happy to help! 😊
What's Changed
Full Changelog: 0163cb6...v0.0.43
v0.0.42 - Always retrieve previous tag via API (#368)
🌟 Summary
This release (v0.0.42
) introduces an improved automation workflow for release summaries by refining how previous tags are retrieved in the codebase. ✨
📊 Key Changes
- 🔄 Updated version from
0.0.41
to0.0.42
. - ✂️ Removed reliance on the
PREVIOUS_TAG
environment variable in the release summarization script. - 🔧 Introduced
get_previous_tag()
to dynamically and consistently fetch the previous tag.
🎯 Purpose & Impact
- 🛠 Simplified Codebase: By removing the dependency on
PREVIOUS_TAG
, the code is now cleaner, easier to manage, and less error-prone. - 🚀 Enhanced Release Automation: Automating the retrieval of previous tags ensures a more reliable and seamless release workflow for developers.
- 📈 Developer Focused: Minimal direct user impact but provides better project maintainability and developer efficiency in managing releases.
This release refines the behind-the-scenes functionality, ensuring workflows remain smooth and maintainable over time. Perfect for keeping the technical processes streamlined! 🌟
What's Changed
- Always retrieve previous tag via API by @glenn-jocher in #368
Full Changelog: v0.0.41...v0.0.42
v0.0.41 - Update summarize_release.py for initial releases (#367)
🌟 Summary
Version v0.0.41
introduces improved Git tagging for release management, standardized license formatting across files, and updated dependencies to maintain compatibility. 🚀
📊 Key Changes
- 🔧 Improved Git Tag Handling: Updated
summarize_release.py
to retrieve initial commit SHA when tags are absent, ensuring robust tag identification. - 📝 Consistent License Headers: Standardized license headers across Python, YAML, and TOML files.
- 🔄 Dependency Update: Bumped
astral-sh/setup-uv
from v4 to v5 for GitHub Actions workflows to optimize configurations. - 🔢 Version increment from
0.0.40
to0.0.41
.
🎯 Purpose & Impact
- Enhanced Release Generation: Ensures release summaries are accurate and reliable, even in repositories without prior tags, streamlining CI/CD workflows.
- Clearer Licensing: Standardized license formatting improves readability and adheres to best practices for transparency in file metadata.
- Improved Workflow Efficiency: Dependency updates enhance GitHub Actions performance, leveraging caching by default for faster, more cost-efficient builds.
🌟 Impact: Greater consistency, efficiency, and reliability for all users. 🌟
What's Changed
- Standardize license headers in Python files by @pderrenger in #363
- Standardize license headers in TOML/YAML files by @pderrenger in #364
- Bump astral-sh/setup-uv from 4 to 5 in /.github/workflows by @dependabot[bot] in #366
- Bump astral-sh/setup-uv from 4 to 5 by @dependabot[bot] in #365
- Update summarize_release.py for initial releases by @glenn-jocher in #367
Full Changelog: v0.0.40...v0.0.41
v0.0.40 - Update to `ruff>=0.9.1` (#362)
🌟 Summary
The v0.0.40
release incorporates enhancements aimed at improving tool compatibility, code maintainability, CI reliability, and formatting visibility. 🚀
📊 Key Changes
- Dependency Update:
ruff
(linter) updated to version>=0.9.1
for improved linting and bug fixes. (PR #362) - Enhanced CI Retry Logic:
- Improved Package Installation:
- Updated pip command in GitHub Actions to use
--break-system-packages
for seamless compatibility across systems like Ubuntu 24.04. (PR #358)
- Updated pip command in GitHub Actions to use
- Better Formatting Feedback: Integrated the
--list-different
flag in Prettier to list files with formatting issues without applying changes. ✨ (PR #361) - Added Documentation: Enhanced GitHub utility methods with clear docstrings for better understanding. 📚 (PR #359)
- Streamlined Formatting: Latest Ruff version formatting rules applied for improved code structure. (PR #360)
🎯 Purpose & Impact
- Improved Reliability in CI: The updated retry logic ensures automated workflows handle transient errors gracefully, saving time during CI runs. 🔄
- Enhanced Compatibility: Adjustments like the
--break-system-packages
flag andruff
update boost compatibility, reducing dependency conflicts across environments. 🛠️ - Better Code Clarity: Improved docstrings, updated linting rules, and streamlined code improve understanding and maintainability for developers contributing to the project. 📖
- Faster Debugging: With visible formatting discrepancies (via Prettier) and enhanced retry error logs, developers can identify and solve issues faster. 🚀
This release focuses on minor upgrades but delivers significant improvements in workflow efficiency, developer experience, and compatibility. 😊
What's Changed
- Fix retry/action.yml by @glenn-jocher in #354
- Revert retry/action.yml changes by @glenn-jocher in #355
- Update Python retry by @glenn-jocher in #356
- Fix bash retry action by @glenn-jocher in #357
- Fix
uv
install for Ubuntu 24.04 by @glenn-jocher in #358 - Add docstrings to GitHub utils by @glenn-jocher in #359
- Apply
ruff==0.9.0
formatting by @glenn-jocher in #360 - Add prettier arg
--list-different
by @glenn-jocher in #361 - Update to
ruff>=0.9.1
by @glenn-jocher in #362
Full Changelog: v0.0.39...v0.0.40
v0.0.39 - Add more restricted labels (#353)
🌟 Summary
The v0.0.39 release enhances GitHub workflows by refining label automation, improving action performance, and optimizing code for efficiency. 🚀
📊 Key Changes
- 🏷️ Extended Excluded Labels: Added more restricted labels (e.g., "research," "non-reproducible," "popular") to exclude them from automatic labeling in issues and PRs.
- ⚡ Caching Disabled: Explicitly disabled caching in the GitHub action setup to improve reliability.
- 🗑️ Code Clean-Up: Removed deprecated Python scripts related to MkDocs and eliminated other redundant logic.
- 🔄 Version Update: Bumped the action version from
0.0.38
to0.0.39
for tracking improvements.
🎯 Purpose & Impact
- Better Label Accuracy: The expanded excluded label list ensures only meaningful labels are automatically applied, reducing mislabeling and keeping GitHub workflows tidy. ✅
- Streamlined Workflows: Disabling caching minimizes potential issues during action setup, making workflows more predictable and faster. 🚀
- Improved Maintainability: Removing unused and redundant code cleans up the codebase, making it easier for maintainers to manage and update. 🛠️
- Higher Efficiency: Optimized functions and simplified logic deliver faster execution and smoother development experiences. 🌟
This release is a quality-of-life improvement for contributors and maintainers, ensuring a more organized and effective development workflow. 💡
What's Changed
- Disable cache for speed by @glenn-jocher in #351
- Ultralytics Refactor https://ultralytics.com/actions by @glenn-jocher in #352
- Add more restricted labels by @Y-T-G in #353
New Contributors
Full Changelog: v0.0.38...v0.0.39
v0.0.38 - Fix `is_url()` wildcards (#350)
🌟 Summary
Release v0.0.38
improves URL validation compatibility, enhances software reliability with better testing, and updates documentation for clarity. 🚀
📊 Key Changes
- Refined URL Validation (
is_url()
):- Enhanced HTTP headers for broader compatibility with different web server configurations.
- Improved
User-Agent
and wildcard-basedAccept
headers for more robust URL handling.
- Increased Test Coverage:
- Introduced a new example test URL (
bus.jpg
) to validate the functionality ofis_url()
. - Added a test print statement in the main script to demonstrate and verify URL handling behavior.
- Introduced a new example test URL (
- Documentation Update:
- README clarified to specify that Swift code formatting requires the
macos-latest
runner in the workflow setup.
- README clarified to specify that Swift code formatting requires the
- Version Bump: Official transition to version
0.0.38
.
🎯 Purpose & Impact
- Better URL Handling 🌐:
- Strengthens the
is_url()
utility by making it more compatible with diverse web server environments. - Helps avoid issues when verifying links, ensuring smoother web resource validation for users and automated scripts.
- Strengthens the
- Enhanced Reliability 🔍:
- Added test cases and examples bolster confidence in URL-handling functionality while making debugging easier.
- Improved Documentation 📖:
- Clearer README documentation reduces confusion, making it easier for users to configure workflows, particularly those targeting Swift code workflows.
- User Experience Boost 💡:
- These changes collectively lead to more consistent tool performance and a better developer experience.
What's Changed
- Update README.md by @glenn-jocher in #349
- Fix
is_url()
wildcards by @glenn-jocher in #350
Full Changelog: v0.0.37...v0.0.38
v0.0.37 - Update test_urls.py (#348)
🌟 Summary
This update focuses on improving testing reliability, enhancing URL validation, and extending test coverage for better system stability and accurate functionality. 🚀
📊 Key Changes
-
Enhanced CI Workflows:
- Added
fail-fast: false
to ensure tests run across all platforms even if one fails. - Enabled verbose test outputs (
pytest -v
) to make debugging easier. - Introduced better configurations in
pyproject.toml
for test settings, such as skipping unnecessary directories and enablingdoctest
options.
- Added
-
Improved URL Validation Utilities:
- Strengthened URL parsing logic (
is_url
) to better handle malformed or incomplete URLs. - Adjusted regular expressions to refine domain name validation for increased accuracy.
- Strengthened URL parsing logic (
-
Expanded Test Coverage:
- Added test cases for various URL-related functionalities, including markdown links, HTML links, duplicates, case sensitivity, and URLs with queries or fragments.
- Comprehensive edge case handling for invalid, missing, or non-standard URLs ensures robustness.
🎯 Purpose & Impact
- Reliability in Automated Testing:
The improved CI workflow ensures uninterrupted testing across all environments, reducing the chances of missing platform-specific issues. 🎛️ - Better Debugging Experience:
Verbose test outputs and refined configurations make diagnosing failures simpler and faster for developers. 🛠️ - Stronger URL Validation:
More accurate link validation minimizes incorrect detections and guarantees consistency in handling web resources. 🌐 - Broader Test Coverage:
Widespread test additions reduce the risk of undetected bugs while ensuring the system is future-proof against edge cases. 🧪
This update delivers a significant boost to development stability and user experience, especially in ensuring comprehensive and reliable URL functionality. 🙌
What's Changed
- Update test_urls.py by @glenn-jocher in #348
Full Changelog: v0.0.36...v0.0.37
v0.0.36 - Add tests (#346)
🌟 Summary
This release (v0.0.36) introduces a robust testing system with a new GitHub Actions CI workflow, enhances project reliability through improved testing coverage, and updates dependencies for cleaner development. 🚀
📊 Key Changes
- 🛠️ New CI Workflow: Added a GitHub Actions
ci.yml
for testing onubuntu-latest
andmacos-latest
with Python versions 3.12 and 3.13. - ⏰ Scheduled Tests: Introduced daily runs at 00:00 UTC for consistent testing and maintenance.
- 📦 Dependency Updates:
- Removed
"black"
from development dependencies. - Added the
requests
library, enabling future utilities requiring external requests.
- Removed
- ✅ New Tests: Created
test_urls.py
to ensure URL validation using theis_url
function. - 🔄 Version Updated: Bumped project version from 0.0.35 to 0.0.36.
🎯 Purpose & Impact
- Improved Reliability: The new CI system ensures automated and thorough testing across multiple OS and Python environments, minimizing bugs and enhancing maintainability. 🌍
- Streamlined Development: Removing unused dependencies like
"black"
simplifies the setup, whilerequests
opens the door for more robust functionality. ✨ - Enhanced Test Coverage: The new
test_urls.py
ensures core utilities such as URL validation are reliable, reducing potential integration errors. 🔍 - Proactive Maintenance: Scheduled tests help identify and fix issues early, improving project stability for long-term sustainability. 🕒
This release is all about improving the backbone of development—better tools, cleaner code, and reliable testing pave the way for smoother, bug-free future updates. 🚂
What's Changed
- Add tests by @glenn-jocher in #346
Full Changelog: v0.0.35...v0.0.36