DEV Community

Heng LOEM
Heng LOEM

Posted on

Khmer Hybrid Calendar v1.1.0 Released β€” Complete Holidays, UNESCO Heritage & 10x Faster πŸš€

Excited to announce the release of khmer-hybrid-calendar v1.1.0 on npm! πŸ‡°πŸ‡­βœ¨

If you're building applications that need Cambodian holidays, Khmer lunar dates, Buddhist observance days (αžαŸ’αž„αŸƒαžŸαžΈαž›/αžαŸ’αž„αŸƒαž€αŸ„αžš), or international & Chinese calendar integrations, this update brings major enhancements and performance improvements.

πŸ“¦ What's New in v1.1.0

1. πŸͺ· Expanded Buddhist & Khmer Lunar Observances

  • Buddhist Lent Ceremonies: Added Candle Making Day (αž–αž·αž’αžΈαžŸαž·αžαž‘αŸ€αž“), Dragon Monk Ordination (αž”αŸ†αž”αž½αžŸαž“αžΆαž‚αžαŸ’αž“αžΆαž“), and Lent Entry (αž…αžΌαž›αž–αŸ’αžšαŸ‡αžœαžŸαŸ’αžŸαžΆ).
  • Dynamic Waning Observances: Accurate waning Kaor day (αžαŸ’αž„αŸƒαž€αŸ„αžš) and end-of-month Sil day (αžαŸ’αž„αŸƒαžŸαžΈαž› αžŠαžΆαž…αŸ‹αžαŸ‚) calculated for 29 vs 30-day lunar months.
  • Pchum Ben Closing Day: Added the final transition day (αžαŸ’αž„αŸƒαž†αŸ’αž›αž„αž—αŸ’αž‡αž»αŸ†αž”αž·αžŽαŸ’αžŒ).

2. πŸ›οΈ Cambodian National & UNESCO Heritage Days

  • UNESCO World & Intangible Heritage: Added anniversaries for Koh Ker, Kun Lbokator, Khmer Krama, Royal Ballet, Sbek Thom, Chapei Dang Veng, and Tuol Sleng Archives.
  • Historical Observances: National Fish Day, Cambodia's UNESCO accession, and official commemoration days.

3. 🌍 54 International & Chinese Calendar Observances

  • Expanded to 54 official international days (UN & global observances).
  • Added Chinese New Year's Eve (αžαŸ’αž„αŸƒαžŸαŸ‚αž“αž…αžΌαž›αž†αŸ’αž“αžΆαŸ†αž…αž·αž“) and festival calculations.

4. ⚑ 10x Performance Boost

  • Optimized astronomical ephemeris calculations and date-range filtering, cutting generation times by over 90%.

πŸš€ Quick Start

npm install khmer-hybrid-calendar
Enter fullscreen mode Exit fullscreen mode
import calendar from 'khmer-hybrid-calendar';

// Convert Gregorian to Khmer Lunar Date
const khmerDate = calendar.gregorianToKhmer(2026, 4, 14);
console.log(`${khmerDate.lunarDay} αžαŸ‚${khmerDate.monthName}`); 
// Output: 14αž€αžΎαž αžαŸ‚αž…αŸαžαŸ’αžš

// Check if a date is a public holiday
const isHoliday = calendar.isHoliday(new Date('2026-04-14'));
console.log(isHoliday); // true (Khmer New Year Day 1)

// Generate iCal (.ics) feed
const ics = calendar.generateICalFeed(2026);
Enter fullscreen mode Exit fullscreen mode

Check it out on npm or GitHub. Feedback and contributions are welcome! πŸ™Œ

Top comments (0)