Skip to content

Commit 5c35020

Browse files
committed
release 4.0.1
1 parent c12f4e0 commit 5c35020

File tree

4 files changed

+329
-195
lines changed

4 files changed

+329
-195
lines changed
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
TaskNotes 4.0.0-beta.unreleased.md
2+
3+
## Added
4+
5+
- Added sub-grouping support to Bases Task List view
6+
- New "Sub-group by" option allows nested grouping by any note or task property
7+
- Creates hierarchical structure: Primary Group → Sub-Group → Tasks
8+
- If only sub-grouping is configured (no primary grouping), treats sub-group property as primary
9+
- Fully compatible with virtual scrolling for optimal performance with large lists
10+
- Sub-groups can be independently collapsed/expanded
11+
- Empty sub-groups are automatically hidden
12+
- Collapse state persists across view reloads
13+
- Visual hierarchy with subtle indentation (16px) and lighter styling for sub-headers
14+
15+
- Added documentation for default Bases templates
16+
- New documentation page showing all default .base file templates with examples
17+
- Documents templates for Mini Calendar, Kanban, Tasks List (with 5 views), Calendar, Agenda, and Relationships views
18+
- Includes assumptions about default settings and explains how templates adapt to user customizations
19+
- Added warning comment in source code to keep documentation in sync with template changes
20+
- Linked from "Introduction to Bases" and "Create a base" pages
21+
22+
## Changed
23+
24+
- Renamed "Advanced Calendar" to "Calendar" throughout the UI
25+
- Updated view title, command palette entry, and settings descriptions
26+
- Simplified naming to reflect that this is now the primary calendar view
27+
28+
- Improved timeblock visual styling in calendar views for a lighter, more refined appearance
29+
- Reduced border width from 2px to 1px
30+
- Lowered opacity from 0.9 to 0.65 for better visual balance
31+
- Added smooth transitions for hover effects
32+
- Softened shadows and reduced hover animation intensity
33+
34+
- Updated "Export All Views" button to clarify it exports V3 saved views
35+
- Button renamed to "Export V3 Views" and description updated
36+
- Clarifies this feature migrates TaskNotes v3 saved views to v4 Bases system
37+
38+
- Improved internationalization (i18n) support in General settings tab
39+
- All Bases integration settings now use translation keys
40+
- "View Commands" section, button labels, and notices are now fully translatable
41+
42+
- Changed default Tasks List template view order and added new view
43+
- "All Tasks" view now appears first (was previously last)
44+
- Added "Unscheduled" view showing incomplete tasks without due or scheduled dates
45+
- New view order: All Tasks → Today → Overdue → This Week → Unscheduled
46+
- Unscheduled view sorts by status
47+
48+
## Fixed
49+
50+
- (#1103) Fixed TaskNotes/Views folder being created unnecessarily on startup
51+
- Folder is now only created when default Bases view files need to be generated
52+
- Reduces unnecessary filesystem clutter when all view files already exist
53+
- Thanks to @Wayment9504 for reporting
54+
55+
- (#1133) Fixed empty priority columns not showing in Kanban view when "Hide empty columns" is disabled
56+
- All defined priority values now appear as columns, matching the behavior of status grouping
57+
- Allows easy triage of new tasks that start with no priority assigned
58+
- Thanks to @luckb0x for reporting
59+
60+
- Fixed OAuth calendar cards showing "Unknown account" in settings
61+
- Removed non-functional 'Account:' field from Google and Microsoft calendar connection cards
62+
- Cards now show only connection status and last sync time
63+
- Thanks to @Oblique for reporting
64+
65+
- Fixed incorrect Bases syntax in default template files
66+
- Fixed TypeScript error: changed `settings` parameter to `plugin` in property mapping calls
67+
- Default templates now generate valid Bases syntax that won't cause errors
68+
69+
- Fixed incorrect Bases syntax in "Export V3 Views" feature
70+
- Exported Bases files now use correct YAML structure per Bases specification
71+
72+
- (#1127) Fixed custom priority colors not being respected in Task List and Subtasks sections
73+
- Medium priority was incorrectly using the same CSS variable as normal priority
74+
- Each priority now correctly uses its own CSS variable (e.g., `--priority-medium-color`)
75+
- Custom priority colors configured in settings are now properly displayed
76+
- Thanks to @HPmattsloper for reporting
77+
78+
- (#1043) Fixed inability to set "at time of event" (0 offset) as a default reminder in settings
79+
- Changed minimum value validation from 1 to 0 for reminder offset inputs
80+
- Users can now set "0 minutes/hours/days before" as a default reminder option
81+
- Thanks to @dblinnikov for reporting
82+
83+
- (#1055) Fixed break sessions being logged as `type: work` when started via command/hotkey
84+
- The "Start Pomodoro Timer" command now respects the next session type (short-break, long-break, or work)
85+
- Break sessions started via command/hotkey are now correctly logged with their proper type in frontmatter
86+
- Thanks to @0-BSCode for reporting and debugging
87+
88+
- (#1024) Fixed date/time picker immediately closing when selecting time on iPhone
89+
- Refactored date/time picker to use Obsidian's native Modal components instead of custom modal implementation
90+
- Native HTML5 date/time inputs now work correctly with mobile device pickers
91+
- Simplified code by 45% (removed ~220 lines of complex custom modal logic)
92+
- Thanks to @3zra47 for reporting
93+
94+
- (#1122) Fixed inline task titles being truncated too aggressively
95+
- Increased max-width from 250-300px to responsive `min(600px, 80vw)`
96+
- Fixed white-space property to properly support ellipsis truncation
97+
- Long task titles now display much more content before truncating
98+
- Thanks to @jacorvillo for reporting
99+
100+
- Fixed Obsidian crashes when invalid time values entered in Bases calendar view configuration
101+
- Added validation for slotMinTime, slotMaxTime, slotDuration, and scrollTime settings
102+
- Invalid values now fall back to safe defaults with console warnings instead of crashing
103+
- Matches validation already present in the settings UI
104+
105+
- (#1120) Fixed custom field mappings not being respected throughout the application
106+
- Property customizations (e.g., `status: "task-status"`) now work correctly in all views
107+
- Kanban drag-and-drop now works with any property type (built-in, user-defined, or custom)
108+
- Thanks to @kmaustral for reporting
109+
110+
- (#1121) Fixed custom user fields being saved with auto-generated IDs instead of user-defined property keys
111+
- Custom fields now save and load correctly with their configured property names
112+
- Thanks to @guncav for reporting
113+
114+
- (#1123) Fixed relationships widget only displaying on task notes, not project notes
115+
- Widget now appears on both task notes and project notes (notes referenced via the project property)
116+
- Project notes now show all tasks that reference them in the relationships view
117+
- Thanks to @dblinnikov for reporting
118+
119+
- Fixed time entries not showing in calendar view for tasks without scheduled or due dates
120+
- Time entries now display for all tasks in the Bases calendar view (as long as the task passes the view's filters)
121+
- Previously, time entries were hidden if their parent task had no scheduled or due date
122+
123+
- (#1091) Fixed task card and relationships widgets appearing inside footnote editors
124+
- Widgets now properly detect and exclude footnote popovers and inline editors
125+
- Similar to the previous fix for table cell editors
126+
- Thanks to @3zra47 for reporting
127+
128+
- (#1086) Fixed calendar "+more" popover showing white text on white background in dark mode
129+
- Added proper dark mode styling for the FullCalendar popover
130+
- Popover now uses theme-appropriate colors for background, text, and borders
131+
- Thanks to @same774 for reporting
132+
133+
- (#1076) Fixed inability to create timeblocks ending at midnight (00:00)
134+
- End time of 00:00 is now automatically converted to 23:59
135+
- Prevents ambiguous midnight values in frontmatter that could cause calculation issues
136+
- Thanks to @skoove for reporting
137+
138+
- (#958) Fixed cursor jumping and layout shifts when typing near task card or relationships widgets in live preview
139+
- Converted widgets from CodeMirror Decoration API to DOM manipulation to avoid cursor interaction issues
140+
- Fixed page scrolling and visual jumps when creating new lines near widgets
141+
- Thanks to @thesmithmode for detailed debugging information
142+
143+
- (#513) Fixed task card and relationships widgets not appearing in reading mode (Preview Mode)
144+
- Both widgets now display correctly in reading mode on task notes and project notes
145+
- Fixed critical memory leak where event listeners were never cleaned up
146+
- Thanks to @berzernberg for reporting
147+

docs/releases/4.0.0.md

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +0,0 @@
1-
# TaskNotes 4.0.0
2-
3-
TaskNotes 4.0 is a stability-focused release that finishes the migration to Obsidian's Bases core plugin. Every task-facing view (Task List, Kanban, Calendar, Agenda, Mini Calendar, and the embedded Relationships widget) now runs on `.base` files. This refactor simplifies the plugin codebase, removes bespoke FilterBar UI logic, and lets workflows feel native to Obsidian—views are just files in your vault that you can version, share, and customize.
4-
5-
## Highlights
6-
7-
- **Bases-first architecture**
8-
- Task views ship as `.base` files inside `TaskNotes/Views/`
9-
- Commands and ribbon buttons now open files you control
10-
- Filtering/grouping/sorting uses Bases YAML instead of TaskNotes-specific UI
11-
- Agenda is a dedicated list-mode calendar `.base` file for fast daily/weekly reviews
12-
- **Inline workflows stay in sync**
13-
- Unified Relationships widget embeds a Bases view so project subtasks, dependencies, and blocking tasks stay in one place
14-
- Task cards inside notes honor the same Bases filtering/grouping rules as standalone views
15-
- **Configurable modals and NLP**
16-
- New Modal Fields settings tab for dragging, hiding, or requiring fields in create/edit modals
17-
- Rich markdown editor and customizable NLP triggers, including autocomplete for user fields
18-
- **Calendar and time management**
19-
- Calendar view modes, time entry creation, and timeblocking now run directly through Bases configuration
20-
- OAuth calendar sync (Google/Microsoft) and ICS subscriptions surface alongside tasks without custom view code
21-
22-
## Why Bases?
23-
24-
Moving everything to Bases allowed us to delete thousands of lines of bespoke filtering logic, state management, and widget code. The plugin now leans on Obsidian's supported API, which:
25-
26-
- Reduces maintenance overhead and improves reliability
27-
- Lets advanced users version-control and audit their view definitions
28-
- Makes saved views portable between vaults and team members
29-
- Keeps TaskNotes behavior consistent with other Obsidian-native workflows
30-
31-
## Upgrade Notes
32-
33-
- Obsidian **1.10.1 or later** is required (Bases public API with group-by support)
34-
- Enable the **Bases** core plugin before opening TaskNotes views
35-
- Run **Settings → TaskNotes → General → Create Default Files** if you need fresh `.base` files
36-
- Use **Export All Saved Views to Bases** to convert any legacy FilterBar saved views into `.base` files
37-
- The Relationships widget now uses `TaskNotes/Views/relationships.base`; adjust that file to change what appears inside notes
38-
39-
## Breaking Changes
40-
41-
- The old FilterBar UI has been removed—all filtering and saved views live in `.base` files
42-
- Legacy widget settings (`showProjectSubtasks`, `showTaskDependencies`, etc.) were replaced with `showRelationships` and `relationshipsPosition`
43-
- Task view commands now fail if their mapped `.base` file is missing; configure paths under **Settings → TaskNotes → General → View Commands**
44-
- **Priority sorting now uses alphabetical order instead of custom weights**
45-
- In v3, TaskNotes used priority "weights" to determine sort order (higher weight = higher priority)
46-
- In v4, Obsidian's Bases plugin sorts priorities alphabetically by their value
47-
- The weight field has been removed from the settings UI
48-
- **Workaround**: Name your priority values to sort alphabetically in your desired order
49-
- Example: `1-urgent`, `2-high`, `3-medium`, `4-normal`, `5-low`
50-
- Or: `a-urgent`, `b-high`, `c-medium`, `d-normal`, `e-low`
51-
52-
## Known Issues
53-
54-
- Users upgrading from versions prior to 3.x should export saved views to Bases before deleting old plugin data
55-
- Embedded Bases views still require the Bases plugin to remain enabled; disabling Bases will hide TaskNotes task views

0 commit comments

Comments
 (0)