Releases: rojcode/kurdical
Releases · rojcode/kurdical
Kurdish Calendar Module v1.0.0 - First Stable Release
This is the first stable release of the kurdical Go module, providing comprehensive Kurdish calendar functionality.
What's New
Core Features
- Bidirectional Conversion: Convert between Gregorian and Kurdish calendars
- Historical Epochs: Support for Median Kingdom (Diako) and Fall of Nineveh (Cyaxares) epochs
- Multiple Dialects: Authentic month names in 5 Kurdish dialects:
- Sorani (Central Kurdish)
- Kurmanji (Northern Kurdish)
- Laki
- Hawrami
- Kalhuri
- Kurdish Digits: Formatting with Eastern Arabic numerals (٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩)
- Weekday Support: Kurdish weekday names
- Date-Only Functions: Convert without time.Time objects
Technical Excellence
- 100% Test Coverage: Comprehensive test suite with fuzz testing
- Error Handling: Proper validation and error messages
- Cultural Accuracy: UTF-8 support with proper Kurdish Unicode characters
- Clean API: Idiomatic Go design with clear function signatures
- Documentation: Extensive README with 15+ usage examples
Installation
go get github.com/rojcode/[email protected]Quick Start
package main
import (
"fmt"
"time"
"github.com/rojcode/kurdical"
)
func main() {
// Convert Gregorian to Kurdish
t := time.Date(2023, 3, 21, 0, 0, 0, 0, time.UTC)
k := kurdical.GregorianToKurdish(t, kurdical.Sorani, kurdical.MedianKingdom)
fmt.Printf("Kurdish date: %d-%d-%d %s\n", k.Year, k.Month, k.Day, k.MonthName)
// Format with Kurdish digits
formatted, _ := k.KFormat("2006-01-02")
fmt.Printf("Formatted: %s\n", formatted) // ٢٧٢٣-٠١-٠١
}Compatibility
- Go 1.18+
- Compatible with all major platforms
- No external dependencies
Documentation
Complete documentation available in the repository README.md with comprehensive examples and API reference.
Contributing
This release establishes the foundation for the kurdical module. Future releases may include additional dialects, formatting options, and calendar arithmetic functions.