Skip to content

Releases: ultralytics/actions

v0.0.43 - Update summarize_release.py (#369)

16 Jan 21:44
0163cb6
Compare
Choose a tag to compare

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)

16 Jan 16:09
cf8f408
Compare
Choose a tag to compare

🌟 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 to 0.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

Full Changelog: v0.0.41...v0.0.42

v0.0.41 - Update summarize_release.py for initial releases (#367)

16 Jan 15:58
971c219
Compare
Choose a tag to compare

🌟 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 to 0.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

Full Changelog: v0.0.40...v0.0.41

v0.0.40 - Update to `ruff>=0.9.1` (#362)

13 Jan 20:33
9b0cee5
Compare
Choose a tag to compare

🌟 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:
    • Added a retry workflow for GitHub Actions, ensuring steps automatically retry upon failure. 🛠️ (PRs #354, #355, #357)
    • Improved script execution with robust temporary file handling and cleanup for retries. 🗑️ (PR #356)
  • 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)
  • 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 and ruff 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

Full Changelog: v0.0.39...v0.0.40

v0.0.39 - Add more restricted labels (#353)

08 Jan 15:51
6e5f72c
Compare
Choose a tag to compare

🌟 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 to 0.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

New Contributors

Full Changelog: v0.0.38...v0.0.39

v0.0.38 - Fix `is_url()` wildcards (#350)

03 Jan 22:18
df36f01
Compare
Choose a tag to compare

🌟 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-based Accept headers for more robust URL handling.
  • Increased Test Coverage:
    • Introduced a new example test URL (bus.jpg) to validate the functionality of is_url().
    • Added a test print statement in the main script to demonstrate and verify URL handling behavior.
  • Documentation Update:
    • README clarified to specify that Swift code formatting requires the macos-latest runner in the workflow setup.
  • 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.
  • 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

Full Changelog: v0.0.37...v0.0.38

v0.0.37 - Update test_urls.py (#348)

01 Jan 16:49
7b5e678
Compare
Choose a tag to compare

🌟 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 enabling doctest options.
  • 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.
  • 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

Full Changelog: v0.0.36...v0.0.37

v0.0.36 - Add tests (#346)

01 Jan 15:21
ceb77ff
Compare
Choose a tag to compare

🌟 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 on ubuntu-latest and macos-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.
  • New Tests: Created test_urls.py to ensure URL validation using the is_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, while requests 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

Full Changelog: v0.0.35...v0.0.36

v0.0.35 - Update `ruff>=0.8.4` (#343)

01 Jan 14:39
5d47f4b
Compare
Choose a tag to compare

🌟 Summary

The v0.0.35 release updates dependencies, optimizes workflows, and improves functionality, security, and compatibility, ensuring a smoother experience for developers and users. 🚀


📊 Key Changes

  • Dependency Updates:

    • Upgraded ruff to >=0.8.4 (previously >=0.1.6) for enhanced linting and code quality checks. 📦
    • Updated requests library to >=2.32.3 for security fixes and improved stability. 🛡️
    • Bumped GitHub Action astral-sh/setup-uv to v5 for better pipeline efficiency and caching defaults. 🔄
  • Workflow Enhancements:

    • Updated GitHub workflows (format.yml and publish.yml) to ensure token fallback reliability and utilize the latest action versions. ⚙️
    • Optimized formatting and package installation processes for macOS compatibility and minimized redundant installations. 🍎
  • Code Improvements:

    • Broader URL validation support by adding domains like LinkedIn, Twitter, and Google Cloud Storage to the allowlist. 🌐
    • Modernized link checking with requests.head for better performance and simplified code. 🛠️
    • Multi-threaded link validation for faster processing. ⚡

🎯 Purpose & Impact

  • Improved Development Efficiency: Keeping dependencies up to date ensures access to the latest features, security enhancements, and compatibility fixes. 🏗️
  • Enhanced Reliability: Workflow improvements and better URL validation reduce potential errors and improve robustness in CI/CD pipelines. ✅
  • Faster Processing: Multi-threaded URL checking ensures performance remains optimal for large datasets or projects with numerous links. 🚀
  • Simplified Maintenance: Streamlining workflows, removing unused dependencies, and modernizing tools make the codebase leaner and easier to manage. 🧹

This release delivers critical quality-of-life updates to developers and reinforces the infrastructure to prevent potential issues while improving speed and adaptability. 📈

What's Changed

Full Changelog: v0.0.34...v0.0.35

v0.0.34 - Convert to classes (#336)

28 Dec 04:00
4e5591b
Compare
Choose a tag to compare

🌟 Summary

The v0.0.34 release brings a major refactor to GitHub Actions utilities by transitioning API logic to a new Action class, streamlining event handling, and simplifying code maintainability while enforcing standardized linting and formatting configurations.


📊 Key Changes

  • 🏗️ Transition to Action Class

    • Replaced usage of hardcoded GitHub environment variables with an Action class for handling API calls and event data.
    • Centralized logic for GitHub interactions, such as fetching PR diffs, updating metadata, and executing GraphQL queries.
  • 🔄 Enhanced Modularization

    • Refactored repository, labeling, and discussion APIs into encapsulated, reusable methods within the Action class.
    • Unified headers and API interaction logic for a more streamlined approach to event processing.
  • ✨ Improved Formatting and Linting

    • Added Ruff for Python linting with a 120-character line limit.
    • Integrated docformatter to ensure consistent docstring wrapping and formatting across the codebase.
  • 🧹 Code Cleanup

    • Removed unused variables and simplified GraphQL queries, reducing clutter while improving clarity.
    • Reorganized exports (__all__) to include only relevant functions.

🎯 Purpose & Impact

Purpose:

  1. Simplify Development: By encapsulating logic in the Action class, developers now have a cleaner, modular codebase that’s easier to maintain.
  2. Enhance Standards: Enforced consistent formatting and linting ensures code is readable, professional, and easy to collaborate on.

Impact:

  • Streamline Operations: Key GitHub workflows such as auto-labeling and issue triaging are now more efficient.
  • Reduced Technical Debt: Refactoring helps future-proof the repository by removing redundancies and improving extensibility.
  • Better Collaboration: Formatting and modularization simplify contributions by creating a shared standard for all contributors.

This release empowers developers to interact with GitHub Actions more intuitively while benefiting from improved code quality and maintenance practices. 🚀

What's Changed

Full Changelog: v0.0.33...v0.0.34