ZV-2026-0607 · 2026-09-01 · almanack.dev
almanack.dev: Type of date on add_to_date changed object → unset.
breaking
What changed
Type of date on add_to_date changed object → unset. Type of date on calendar_weekday changed object → unset. Type of date on format_calendar_date changed object → unset. Type of month on render_calendar_page changed integer → unset.
What to do
If your agents call almanack.dev, pin the new snapshot, patch the affected call sites, and let a green contract check confirm the fix. If you don't use the changed tools, nothing is required, but the rest of the ecosystem just learned about it at the same moment you did.
The redline
− object + unset add_to_date − object + unset calendar_weekday − object + unset format_calendar_date − integer + unset render_calendar_page − Move a date by years, months and days. They are applied in that fixed order, which matters… + Move a date by years, months, days and ticks. They are applied in that fixed order, which … add_to_date + on_error Optional field on_error was added to add_to_date; may shift model behaviour. + steps Optional field steps was added to add_to_date; may shift model behaviour. + ticks Optional field ticks was added to add_to_date; may shift model behaviour. + time Optional field time was added to add_to_date; may shift model behaviour. + date Default of date on add_to_date changed unset → null. − When a recurring event falls. query 'next' gives the first occurrence after the date in 'a… + When recurring events fall, and whether they land on each other. query 'next' gives the fi… calendar_events + events Optional field events was added to calendar_events; may shift model behaviour. + event Default of event on calendar_events changed unset → null. − Which weekday a date falls on, as a 0-based index into the calendar's own week plus its na… + Which weekday a date falls on, as a 0-based index into the calendar's own week plus its na… calendar_weekday + dates Optional field dates was added to calendar_weekday; may shift model behaviour. + on_error Optional field on_error was added to calendar_weekday; may shift model behaviour. + date Default of date on calendar_weekday changed unset → null. − Convert between a calendar date, its day number, and its Gregorian date. Give exactly one … + Convert between a calendar date, its day number, and its Gregorian date. Give exactly one … convert_date + dates Optional field dates was added to convert_date; may shift model behaviour. + day_numbers Optional field day_numbers was added to convert_date; may shift model behaviour. + gregorians Optional field gregorians was added to convert_date; may shift model behaviour. + on_error Optional field on_error was added to convert_date; may shift model behaviour. + time Optional field time was added to convert_date; may shift model behaviour. − The distance between two dates. 'days' is the exact signed count (negative when end preced… + The distance between two dates. 'days' is the exact signed count (negative when end preced… date_interval + end_time Optional field end_time was added to date_interval; may shift model behaviour. + start_time Optional field start_time was added to date_interval; may shift model behaviour. − Write a date out to a pattern. pattern is either a name from the calendar's own 'formats' … + Write a date out to a pattern. pattern is either a name from the calendar's own 'formats' … format_calendar_date + dates Optional field dates was added to format_calendar_date; may shift model behaviour. + on_error Optional field on_error was added to format_calendar_date; may shift model behaviour. + time Optional field time was added to format_calendar_date; may shift model behaviour. + times Optional field times was added to format_calendar_date; may shift model behaviour. + date Default of date on format_calendar_date changed unset → null. + time Optional field time was added to moon_phases; may shift model behaviour. + month Default of month on render_calendar_page changed unset → null. + calendar_periods Tool calendar_periods was added. + sun_daylight Tool sun_daylight was added. − date Field date on add_to_date is no longer required. − event Field event on calendar_events is no longer required. − date Field date on calendar_weekday is no longer required. − date Field date on format_calendar_date is no longer required. − Every moon's phase on a date. 'fraction' is the exact position in the cycle, 0.0 at new an… + Every moon's phase on a date. 'fraction' is the exact position in the cycle, 0.0 at new an… moon_phases − Read a written date back into a date. Strict, with no fuzzy matching of any kind: literal … + Read a written date back into a date. Strict, with no fuzzy matching of any kind: literal … parse_calendar_date − Draw one month of a calendar as an SVG grid and return the SVG itself. Columns come from t… + Draw one month of a calendar as an SVG grid, or a whole year on one sheet, and return the … render_calendar_page − month Field month on render_calendar_page is no longer required.