Skip to content

v0.49.0 - CalendarArtisan Migration (2026-03-27)

What Changed?

This release brings the calendar functionality from gaslamp/calendar.js into the TypeScript gaslets module as CalendarArtisan. All calendar utilities are now part of the modern gaslets API with full TypeScript support, logging integration, and improved error handling.


What's New

CalendarArtisan Class

What it does: Provides calendar event retrieval and date utilities for Google Apps Script Calendar API with built-in logging and error handling.

How to use it:

TypeScript
const artisan = new CalendarArtisan({ name: "EventProcessor" });
const calendar = CalendarApp.getDefaultCalendar();

// Get events from current month
const events = artisan.getEventsInThisMonth(calendar);
console.log(`Found ${events.length} events this month`);

// Get events in custom date range
const start = new Date("2026-03-01");
const end = new Date("2026-03-31");
const monthEvents = artisan.getEventsFromCalendar(calendar, start, end);

Features: - Retrieve calendar events by date range - Helper methods for last month and current month events - Month boundary calculations - AfterGlow logging integration - Type-safe CalendarEvent interface


Added

  • CalendarArtisan class for calendar event management
  • CalendarEvent interface for type-safe event data
  • MonthBoundaries interface for date calculations
  • Calendar module documentation with examples

Changed

  • Migrated gaslamp/calendar.js functions to CalendarArtisan class
  • Centralized calendar functionality into gaslets module

Fixed

  • Proper error handling in calendar operations with logging

Is It Safe to Upgrade?

  • Breaking Changes: No
  • Backward Compatible: Yes

The gaslamp/calendar.js file is no longer bundled, but all functionality is available through the new CalendarArtisan class in the gaslets module. Users who want to use calendar features should migrate to CalendarArtisan for improved type safety and logging.


Release Details

  • Date: 2026-03-27
  • Version: v0.49.0
  • gaslamp: v104
  • pilotlamp: v62
  • Files Changed: 8
  • Commits:
    • 33c5b0dc feat(gaslets/calendar): migrate calendar.js to CalendarArtisan TypeScript class
    • 3da1e029 chore(gaslamp): remove obsolete calendar.js file
    • b00cf228 fix(gaslets/calendar): use GoogleAppsScript Date type for event properties
    • 6922ed3f docs(api): regenerate documentation including CalendarArtisan

Known Issues

None identified at this time.


Next Steps

Future releases will continue to migrate remaining utility functions from gaslamp directory into TypeScript gaslets module classes, improving type safety and code organization.