#  Release Notes: 3.10.0

 This version introduces a new data storage option for tasks, adds a status bar component for time tracking, and includes several bug fixes and internal improvements.

## New Features

### Option to Store Task Title in Filename


A new setting, storeTitleInFilename, is available under "Task Filenames" in the settings tab. This feature changes how task titles are stored.


  * Implementation Details:
      * When this setting is enabled, creating a new task will use its title to generate the filename (e.g., My New Task.md). The title field will be omitted from the task's frontmatter.
      * For reading tasks, the application will first look for a title field in the frontmatter. If it is not found, the system will use the filename as the task's title. This ensures backward compatibility with existing tasks.
      * When a task's title is updated, and this setting is active, the file itself is automatically renamed to match the new title. The file's frontmatter is updated before the rename operation occurs to ensure data integrity.
      * Enabling this setting disables and hides the other filename format options (Zettelkasten, timestamp, custom).
      * This setting is disabled by default.

### Status Bar Component for Tracked Tasks

 A new UI component has been added to the app's status bar to display tasks with active time-tracking sessions.

  * Functionality:
      * When a single task is being tracked, its title (truncated if necessary) is displayed in the status bar. The full title is visible in a tooltip.
      * When multiple tasks are being tracked, a count of these tasks is displayed. The tooltip lists the titles of the tracked tasks.
      * The status bar item is hidden when no tasks are being tracked.
      * This feature is controlled by the "Show tracked tasks in status bar" setting and is disabled by default.

### Customizable First Day of Week for Mini Calendar

The mini calendar view now respects the "First day of the week" setting in Obsidian's general settings. The calendar grid will adjust to start the week on the day you have configured (e.g., Sunday or Monday).

## Bug Fixes

  * Search Functionality: Resolved a type error in the search filter that occurred when a task's title or context field was null. The code now handles null values gracefully during search operations.
  * File Renaming: Corrected the order of operations when storeTitleInFilename is enabled. The previous implementation could rename the file before its frontmatter was updated, which has now been fixed.

 Internal Improvements & Documentation

  * Service Refactoring: The TaskService, FieldMapper, and MinimalNativeCache have been updated to handle the new logic for storing and retrieving task titles from filenames.
  * `StatusBarService`: A new StatusBarService was implemented to encapsulate the logic for the new status bar component, including its creation, updates, and event handling.
  * Issue Templates: The GitHub issue templates for bug reports and questions have been updated to be more structured and improve the quality of submitted reports.
  * Documentation: Added a new section to the documentation explaining the storeTitleInFilename feature in detail.
