# TaskNotes 3.8.5 Release Notes

## UI/UX Improvements

### Compact Filter Bar (Special thanks to @amithkk :tada: )

- Complete redesign of FilterBar component with compact, modern interface
- Native Obsidian dropdowns replace basic HTML select elements for better consistency
- Collapsible controls - settings are hidden by default with expandable controls via settings button
- Visual indicators showing active filter count on settings button
- Integrated search bar with search icon and improved visual hierarchy
- Right-aligned control buttons for better layout organization

### Advanced Calendar View Integration

- Unified view options - calendar view toggles now integrated into FilterBar dropdown
- Streamlined interface - removed separate toggle controls in favor of FilterBar integration
- Consistent UX across different view types with shared filter/view controls
- Dynamic option management with real-time updates and state synchronization

## Enhanced Natural Language Processing

### Improved Text Processing

- Better whitespace handling with new cleanupWhitespace() function for consistent text normalization
- Enhanced priority detection with improved pattern matching and conflict resolution
- Completion status support - added isCompleted field to parsed task data
- More robust text extraction across tags, contexts, priorities, and dates

### Date and Time Handling Improvements

- Enhanced date parsing with better timezone handling for date-only strings
- Improved date normalization with direct Date constructor to avoid timezone issues
- Better error handling for invalid date strings and edge cases
- More robust timestamp formatting with validation checks

## Testing Infrastructure

### Comprehensive Test Suite

- Complete testing infrastructure with Jest configuration for both unit and integration tests
- Enhanced mocking system with improved Obsidian API mocks and better type safety
- Integration test helpers with utilities for end-to-end workflow testing
- Improved test coverage across core components and services

### Mock Improvements

- Updated mock factories with better type consistency and realistic data generation
- Enhanced DOM simulation for better UI component testing
- Improved date-fns mocking with support for "MMM d, yyyy h:mm a" format
- Better Obsidian API compatibility in test mocks

## Developer Experience

### Type Safety Enhancements

- Refactored type definitions for improved consistency across the codebase
- Better TypeScript integration with enhanced type checking and inference
- Improved callback types for better development experience

## Build and Deployment

- Updated GitHub Actions with artifact uploader v4 for improved CI/CD
- Enhanced development workflow with better testing and build processes

## User Interface Polish

### Task Creation Modal

- Improved placeholder text with more natural language examples
- Better user guidance for natural language task input format
- Clearer instruction formatting for enhanced user experience

### Visual Consistency

- Native Obsidian styling throughout filter and control components
- Consistent iconography using Obsidian's icon system
- Improved responsive design with better mobile and small screen support

## Bug Fixes and Stability

#### Error Handling

- Improved error handling in date parsing and normalization functions
- Better validation for user input and edge cases
- Enhanced robustness in text processing and natural language parsing

### Code Quality

- Refactored components for better maintainability and performance
- Simplified scheduled date logic with cleaner default handling
- Enhanced code organization with better separation of concerns


## What's Changed

* Add compact filter bar by @amithkk in https://github.com/callumalpass/tasknotes/pull/73


**Full Changelog**: https://github.com/callumalpass/tasknotes/compare/3.8.1...3.8.5
