euroargodev / euroargodev/software_guidelines

The software documentation includes the list of changes to the codebase between each software releases

Open
#45 0 comments 0 reactions 0 assignees View on GitHub
auto-checked-guideline guideline
Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

A change log is a structured, chronological record of all notable changes made to a software project, such as (but not limited to):
- New features or functionality
- Bug fixes
- Breaking changes (changes that may disrupt existing workflows)
- Deprecations (features removed or phased out)
- Security updates
- Performance improvements

**Why is a change log Important?**
1. Transparency: helps users track improvements and anticipate breaking changes that might affect their workflows.
2. User Communication: acts as a communication tool between developers and users, ensuring everyone is aware of updates, fixes, and new features. It can also helps users decide whether to upgrade to a new version based on the changes included.
3. Accountability: documents who made changes and why, which is useful for debugging, auditing, and collaboration. It also encourages developers to think critically about the impact of their changes.
4. Reproducibility: supports scientific reproducibility by allowing researchers to identify which version of the software was used in a study and what changes were introduced since then.
5. Compliance with best practices: it aligns with FAIR principles by making the software's history accessible and understandable.
6. Collaboration.

**To follow this guideline, you must, at least, provides a CHANGELOG.md file on the project repository**, at the repository root level.

If your change log is placed in your documentation ([eg](https://argopy.readthedocs.io/en/latest/whats-new.html)), we recommend to still add a "CHANGELOG.md" file ([eg](https://github.com/euroargodev/argopy/blob/master/CHANGELOG.md)) on the repository that will simply points toward the dedicated webpage.
**This help automatic repository analysis to identify the change log (eg: https://euroargodev.github.io/Software-Evaluator/)**.

We recommend to look at https://keepachangelog.com/en/1.1.0 for more details on the content of such log files.

### Examples

```markdown
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).

## [1.0.0] - 2026-05-21
### Added
- Initial release of the software.
- Support for reading Argo NetCDF trajectory files.

### Fixed
- Fixed a bug in data validation for temperature values.

## [0.9.0] - 2026-04-15
### Added
- Added support for CSV input files.
```

### Examples

If your software has a documentation, change log is typically located in a "What's New?" page (see [eg here](https://argopy.readthedocs.io/en/latest/whats-new.html)).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.