# Release v1.36.0

Released: 2026-03-24

### Fixed
- New instances no longer trigger LLM calls on startup — seed drill cache in data.sample and skip brain digest/review when no data exists
- Job scheduling now uses user's configured timezone instead of UTC — daily briefing and all scheduled jobs fire at the correct local time
- Briefing notification date uses user timezone instead of UTC date
- Throttle LLM drill cache startup: serialize type replenishment and add 2s delay between LLM calls to prevent API spam on server restart
- Throttle JIRA sync: add 500ms delay between project ticket fetches to prevent 429 rate limit errors

### Added
- Character Sheet page: D&D-style character tracking with XP, HP, leveling, dice-based damage, short/long rests, custom event logging, and JIRA/CoS task sync for XP
- Timezone setting in Settings > General — auto-detects from browser, configurable per user
- Cron expression support across all scheduling systems — full 5-field crontab syntax (minute hour dayOfMonth month dayOfWeek)
- Cron support in System Tasks (Jobs), per-app Task Type Overrides, and global CoS Schedule
- Shared CronInput component with presets dropdown and human-readable descriptions
- Schedule mode toggle (Interval vs Cron) in job create/edit forms
- Timezone-aware cron matching in event scheduler and task schedule evaluator
- Shared cron utilities (cronHelpers.js) — DRY across all scheduling UIs
- Timezone utility module with cached Intl.DateTimeFormat and comprehensive test coverage

### Changed
- Task Type Overrides switched from table to card layout for mobile responsiveness
- Task type subtitle shows effective schedule (cron/override) instead of always showing global type

## Full Changelog
**Full Diff**: https://github.com/atomantic/PortOS/compare/v1.35.0...v1.36.0
