Skip to content

Commit c7b29cb

Browse files
committed
Update Changelog - initial public release
1 parent 65dabdf commit c7b29cb

File tree

1 file changed

+119
-0
lines changed

1 file changed

+119
-0
lines changed

CHANGELOG.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
## [0.1.0] - 2025-07-02
11+
12+
### Added
13+
- **Core Features**
14+
- Modern C library for command-line argument parsing
15+
- Declarative API for defining command-line options
16+
- Type-safe option handling (string, int, float, bool, flag)
17+
- Comprehensive validation system with built-in validators
18+
- Multi-value support for arrays and key-value maps
19+
- Nested subcommand support with inheritance
20+
- Environment variable integration
21+
- Smart help generation with automatic formatting
22+
- Version display functionality
23+
24+
- **Option Types**
25+
- String options with length and regex validation
26+
- Integer options with range validation
27+
- Float options with range validation
28+
- Boolean options with choice validation
29+
- Flag options for simple toggles
30+
- Array options for multiple values
31+
- Map options for key-value pairs
32+
33+
- **Validation System**
34+
- Range validators for numeric types
35+
- Length validators for strings
36+
- Regex validators for pattern matching
37+
- Choice validators for predefined values
38+
- Count validators for array/map sizes
39+
- Custom validator support
40+
41+
- **Advanced Features**
42+
- Subcommand system with nesting support
43+
- Environment variable binding
44+
- Custom handlers and validators
45+
- Automatic help and usage generation
46+
- Smart hints for invalid inputs
47+
- Cross-platform support (Linux, macOS, Windows)
48+
49+
- **Build System & Packaging**
50+
- Modern Meson build system
51+
- Multi-architecture support (x86, x64)
52+
- Package manager integration (Conan, vcpkg, xmake, WrapDB)
53+
- pkg-config support
54+
- Both static and shared library builds
55+
56+
- **Documentation & Examples**
57+
- Comprehensive documentation website at argus-lib.com
58+
- 11 example programs covering all features
59+
- API reference documentation
60+
- Getting started guides and tutorials
61+
62+
- **Quality Assurance**
63+
- 21 comprehensive test suites using Criterion framework
64+
- GitHub Actions CI/CD for multiple platforms
65+
- Code formatting with clang-format
66+
- Static analysis with clang-tidy
67+
- Automated release workflow
68+
69+
- **Developer Experience**
70+
- Justfile for convenient build automation
71+
- Professional code quality tooling
72+
- Consistent coding standards
73+
- MIT license with proper headers
74+
75+
### Technical Highlights
76+
- **Memory Management**: Safe memory handling with proper cleanup
77+
- **Error Handling**: Comprehensive error reporting and validation
78+
- **Performance**: Optimized parsing with minimal overhead
79+
- **Portability**: Cross-platform compatibility layer
80+
- **Extensibility**: Plugin system for custom handlers and validators
81+
82+
### Dependencies
83+
- **Required**: C11 compiler
84+
- **Optional**: PCRE2 library (for regex support, can be disabled)
85+
86+
### Platform Support
87+
- Linux (tested on Ubuntu with GCC, Clang)
88+
- macOS (tested with Apple Clang)
89+
- Windows (tested with MSVC, MinGW)
90+
- Both x86 and x64 architectures
91+
92+
### Breaking Changes
93+
- This is the initial release, no breaking changes apply
94+
95+
### Security
96+
- All user inputs are validated and sanitized
97+
- No known security vulnerabilities
98+
- Proper bounds checking and memory safety
99+
- Security policy established for vulnerability reporting
100+
101+
---
102+
103+
## Release Notes
104+
105+
### v0.1.0 - Initial Public Release
106+
107+
This marks the first stable release of Argus, a modern C library for command-line argument parsing. After extensive development and testing, we're excited to offer developers a declarative, type-safe alternative to traditional argument parsing libraries.
108+
109+
**Key Benefits:**
110+
- 🎯 **Type Safety**: Strong typing with automatic validation
111+
- 🚀 **Performance**: Fast parsing with minimal memory footprint
112+
- 🛠️ **Developer Experience**: Intuitive API that reduces boilerplate
113+
- 📚 **Comprehensive**: Supports all common CLI patterns and more
114+
- 🔧 **Extensible**: Custom handlers and validators for specific needs
115+
116+
The library is production-ready and includes comprehensive documentation, examples, and automated testing across multiple platforms.
117+
118+
[0.1.0]: https://github.com/lucocozz/argus/releases/tag/v0.1.0
119+
[Unreleased]: https://github.com/lucocozz/argus/compare/v0.1.0...HEAD

0 commit comments

Comments
 (0)