# TaskNotes 3.18.2

## Bug Fixes

### Timeblock Date Shift Issue (#368)

Fixed timeblocks appearing one day earlier than expected by implementing the UTC Anchor pattern throughout the timeblocking feature. The previous implementation used problematic millisecond-based date iteration that caused timezone-dependent date shift bugs.

Timeblocks now appear on the correct calendar day regardless of user timezone or DST transitions.

*Thanks to @zolotyh-dk for reporting this issue with detailed screenshots and system information.*

### Performance Issues with Task Views

Eliminated typing lag that occurred when Task, Agenda, and Kanban views were open in large vaults. The plugin was triggering unnecessary view updates during text editing.

## New Features

### Enhanced Filename Template Variables (#370)

Added new timestamp variables for filename templates to support ISO 8601 formats and Google Keep compatibility:

- `{milliseconds}`, `{ms}` - 3-digit milliseconds (000-999)
- `{timezone}`, `{utcOffset}` - UTC offset in ±HH:MM format  
- `{timezoneShort}`, `{utcOffsetShort}` - UTC offset in ±HHMM format

*Thanks to @mnipritom for requesting these variables*. 

### Boolean Property Identification

Enhanced property-based task identification to handle boolean values correctly. Tasks can now be identified using boolean properties in frontmatter.

*A big thanks to @renatomen for contributing the boolean property identification implementation, documentation, and test coverage*

### Boolean Status Field Support (#108)

Added automatic boolean conversion for status values to support Obsidian's checkbox property format. The status field now handles boolean true/false values:

- String "true" → boolean true (in frontmatter)
- String "false" → boolean false (in frontmatter)  
- Boolean true → string "true" (when read back)
- Boolean false → string "false" (when read back)
- Other status values remain unchanged as strings

*Thanks to @arminta7 for reporting the checkbox property compatibility issue and @imed-ghomari for contributing to the discussion on status field handling.*
*And thanks again to @renatomen--the boolean property identification fix inspired this change!*