-
Notifications
You must be signed in to change notification settings - Fork 1
Changelog Standards
This document outlines the standards for maintaining a consistent and clear changelog, including versioning practices. Adhering to these guidelines ensures that the changelog remains a useful and reliable resource for all maintainers.
Version Numbering:
Each version number should follow the format vX.Y.Z, where:
- X (Major): Incremented for significant changes or complete overhauls, typically including backward-incompatible changes.
- Y (Minor): Incremented for new features, updates, or changes that are backward-compatible.
- Z (Patch): Incremented for minor fixes, small enhancements, or bug patches.
Pre-release and Build Metadata:
-
Pre-release Tags: Denoted by a hyphen (
-) followed by the tag (e.g.,v1.2.0-beta). -
Build Metadata: Denoted by a plus sign (
+) followed by build information (e.g.,v1.2.0+build123).
Use the following terms to categorize changes:
-
Added: For introducing new features, functionality, or files. Examples include adding new sounds, modules, or configuration options.
-
Updated: For enhancing or optimizing existing features, updating documentation, or making minor improvements. This also includes updates to ToC files or version numbers.
-
Fixed: For correcting bugs, issues, or errors in the code. This term is used when resolving problems that previously caused incorrect behavior.
-
Removed: For deleting features, files, or code that are no longer necessary. This includes the removal of deprecated features, unnecessary annotations, or obsolete files.
-
Renamed: For changing the names of files, directories, variables, or functions to improve clarity or consistency. Use this term when a renaming operation is the primary change.
-
Moved: Specifically for relocating files or directories within the project. This term should be used when files are moved to a new location within the directory structure.
-
Restructured: For structural or organizational changes within files, such as reorganizing code for better maintainability. Use this when restructuring occurs without adding or removing significant functionality.
-
Brackets
[ ]: Used to denote file names, paths, or specific variables within the changelog. For example,[core.lua]indicates that the change affected thecore.luafile. -
Quotes
": Used around specific values, commands, or strings when they need to be referenced directly. For instance,"/blu debug"would refer to a command that a user can input. -
File Names and Directories: Always include the file extension (e.g.,
.lua,.ogg) and use forward slashes (/) for directory paths. New files or directories should be noted explicitly, and their paths should be clearly stated.
When introducing new files or directories, clearly indicate the full path relative to the root directory of the project:
-
Example:
- Added - New configuration file [config/settings.lua] - [/data/config/]
- This indicates that
settings.luawas added under thedata/configdirectory.
ToC (Table of Contents) updates should include the following details:
-
Patch Name: The name of the World of Warcraft patch (e.g., "Season of Discovery").
-
Build Number: The build number associated with the patch (e.g.,
1.15.3.55646). -
WoW Interface ToC Build Number: The corresponding interface build number for WoW (e.g.,
[ToC.11503]). -
Example:
- Updated - ToC for classic_era - Season of Discovery Phase 4 (1.15.3.55646) [ToC.11503]
- This indicates that the ToC was updated for the "Season of Discovery Phase 4" patch with build number
1.15.3.55646and the WoW interface ToC build number11503.
Each changelog entry should follow this structure:
vX.Y.Z-------------------------------------------------------------------
- [Term] - [Brief description of the change] - [Optional: specific files or areas affected]
- One Change per Line: Document each change on its own line for clarity.
- Consistent Terminology: Use the defined terms consistently to ensure clear communication.
- No Periods: Do not use periods at the end of changelog lines.
- Optional Details: Include additional details (e.g., specific files, directories, or areas affected) if necessary for understanding the change.
-
Listing Multiple Files: When a change affects multiple files, list them in brackets at the end of the line, separated by commas.
-
Detailed Descriptions: Keep descriptions brief but informative, focusing on the impact of the change rather than the implementation details.
v4.6.0-------------------------------------------------------------------
- Restructured - Shared event handlers in [core.lua] for better maintainability
- Renamed - [utils.lua] to [core.lua]
- Updated - .toc files to reflect new structure
- Added - More comprehensive debug logging
- Consistency: Ensure that all terms and formatting are consistent with this guide.
- Comprehensive Documentation: Document all changes made in each release, maintaining a complete history.
- Version Number Management: Increment version numbers accurately according to the type and impact of changes.
- Clarity and Brevity: Descriptions should be concise but informative, avoiding unnecessary details.
- Internal Use: This guide is intended for maintainers to ensure consistency in documenting changes.
- Ongoing Updates: This document should be updated as new practices or terms are adopted within the project.
Join the vibrant BLU community to ask questions, share ideas, and contribute to the project’s development.
- BLU Discussions: Connect with other BLU users, ask questions, and share your experiences.
- Report Issues: Found a bug or have a feature request? Report it in the Issues section.
If you find BLU helpful and want to support its continued development, you can contribute in several ways:
- Buy Me a Coffee: Show your appreciation and support the project with a small donation.
- Donate via CashApp: Another option to support BLU financially.
Follow the latest developments and updates to BLU by checking out our changelog and releases. Be sure to star the project on GitHub to show your support and receive notifications on new releases.
Thank you for being a part of the BLU community! This wiki is here to help you make the most of your experience with BLU. If you have any questions or suggestions, feel free to contribute to the discussions or contact the maintainers.