2.0.0
Highlights
- Breaking change: the plugin now requires Obsidian 1.13 or later, so update Obsidian before installing this release.
- Project overviews: Opening a project now shows its own page, with progress, description, a milestone timeline, sub-projects, and properties. Plus a new setting that can switch this back to opening straight into the task list. It's up to you.
- Sub-projects and multi-project views: Projects can nest under a parent, and the table, board, and timeline can show a project's subtree, its folder, or the whole vault at once, with their own saved views and filters.
- A folder per project: Each project now keeps everything together in one folder, and old existing projects migrate to the new structure automatically.
- Cross-project dependencies: A task can depend on or block work in another project, with its schedule following the dates of the project it depends on.
- Custom priorities and per-project config: Priorities can be added, renamed, recolored, and reordered, and a project can define its own statuses, priorities, default view, and scheduling behavior in its settings
- Progress and completion timing: A task's progress can be set directly from 0 to 100, and a completed task shows whether it finished on time or how many days late it was
- People notes: Assignees and project members can be linked to the person notes in your vault, with avatars, a note created automatically for a new name, and commands that list everything one person is working on
- Better wikilinks: Names, custom fields, and project links written as wikilinks resolve to the note they point to wherever they show up. We all love those nice obsidian graphs!
- Improved custom fields style: A custom field now uses the same controls as a task's built-in properties, so a custom date opens the date picker and a custom select shares status's popover, and in the table a link or person field shows as a link or an avatar instead of raw text, and a checkbox renders as a proper checkbox
- A searchable icon picker: Status, priority, and project icons are chosen from a grid of every icon Obsidian knows, or set to any emoji
- Settings rework: Settings are grouped by area, with statuses, priorities, team members, and TaskNotes each on their own page, and can be found through Obsidian's own settings search.
- Tasks in tabs: Tasks can open in a tab instead of a modal, with the task editor hosted as a page of its own
- TaskNotes import: Tasks, statuses, and priorities can be imported from TaskNotes, including dates, dependencies, subtasks, tags, and archive state
- A lighter index behind the scenes: The project list, pickers, and due-date reminders read from a lightweight index instead of re-parsing every project file, so they stay quick even in very large vaults
- Updated sync engine: A task or project open in several tabs or views stays in sync: an edit in one place shows up in all the others right away
Added
- Assignees and project members can be picked from the person notes already in your vault, so the task links to them and they appear in the graph (#131)
- A person with no note yet gets one created from the assignee picker, in the new people folder setting
- Clicking an assignee's avatar opens that person's note
- The show tasks assigned to a person command lists everything one person is working on, across every project
- A person note opened in the editor shows that person's tasks with the show tasks assigned to this note command
- The link assignees to their person notes command turns typed names into links to the notes of the same name
- Opening a project from the project list shows its overview: progress, description, milestones, sub-projects, and properties
- Clicking a project opens its tasks instead of its overview when the open projects in setting is set to tasks
- A row, card, or timeline label naming its project opens that project when clicked
- Projects are listed wherever their files live in the vault
- A project can sit under another one, chosen in the project settings
- The project list nests sub-projects under their parent, whose card counts the tasks of the whole group
- Folders can be left out of the project list with the new excluded folders setting
- The rebuild project index command looks through the vault for projects again
- The table, board, and timeline can show several projects at once, chosen from the switcher next to the project name
- The open all projects command puts every project in the vault in one view
- Rows, cards, and timeline labels name their project when a view covers more than one
- Saved views and filters belong to the set of projects on screen, so a project and its sub-projects keep separate ones
- A task can depend on a task in another project, and its dates follow that one
- The task editor lists the tasks a task blocks, wherever they live
- The task menu moves a task and its subtasks to another project
- A timeline row says when a task depends on something outside the view
- Priorities can be added, renamed, recolored, and reordered in settings
- Priority icons can be switched between chevrons, signal bars, arrows, alerts, or none, globally or per project
- Status and priority icons are picked from a searchable grid of every icon Obsidian knows, or set to an emoji by pasting one into its search field
- A project's icon is picked from that same grid, so it can be any icon Obsidian knows and not only an emoji
- TaskNotes tasks can be imported with their dates, dependencies, subtasks, tags, and archive state (#16)
- Statuses and priorities can be imported from TaskNotes in settings (#16)
- Projects can define their own statuses and priorities in the project settings, replacing the global ones (#57)
- Projects can override the default view, auto-scheduling, and the board display options in the project settings
- The completed date shows whether a task finished on time or how many days late it was
- Task progress can be set from 0 to 100 in the task editor and by clicking the progress bar in the table
- Dependent tasks move earlier when a task is completed before its due date, using the new pull-forward setting (#154)
- Tasks open in a tab instead of a modal when the new task opening setting is set to tab
- A task note opens in the task editor when tasks are set to open in a tab
- The task menu moves the task being edited into a tab
- Subtasks in the table are joined to their parent by tree lines, which can be turned off with the new show subtree connections setting
- The table draws lines between rows, between columns, or both, using the new line borders setting
Changed
- A project keeps its note and its task notes together in a folder of its own
- An existing project moves into its own folder when the vault is opened, keeping its filters, saved views, and open tabs
- A new sub-project is created inside its parent's folder
- Renaming a project note renames the folder it owns, so the two keep matching
- Deleting a project deletes its folder, unless a sub-project sits inside it
- The tags offered in the task editor are listed alphabetically
- Custom fields in the task editor use the same controls as the task's own properties, so a custom date opens the date picker and a custom select the same popover as status
- Project members, the global team members, and task assignees are picked from the same control, which searches the people in your vault and offers to create the note for a new name
- The people a picker offers include the global team members, the project's own members, and everyone already assigned in that project
- A person already picked as a plain name shows as picked when the same person is found as a note
- The project name above the table, timeline, and board opens that project's overview when clicked. Previously it was an editable field for renaming the project
- Assignee lists sort by the name shown rather than by the link behind it
- The project list is a table of rows with progress, task counts, members, and the last due date, replacing the cards
- The project list counts how many projects have tasks past due
- Sub-projects in the project list are joined to their parent by tree lines, which can be turned off with the show subtree connections setting
- The project list draws lines between rows, between columns, or both, following the line borders setting
- Project settings open in a page of their own, keeping each change as it is made
- Creating a project asks for its name, icon, color, parent, members, and description in one dialog
- The new project dialog is laid out like the task editor, with a large name field and a properties grid
- A project's color is chosen from the color picker, replacing the ten preset swatches
- The projects folder setting decides where new projects are created, not which projects the plugin shows
- Table rows have no line between them unless line borders are turned on
- The plugin requires Obsidian 1.13
- Settings are grouped by area, with statuses, priorities, team members, and TaskNotes each on their own page
- Settings can be found from Obsidian's settings search
- The TaskNotes page shows how many statuses and priorities differ before importing
- A setting that depends on another one is unavailable until that one is turned on
- Add buttons in the table, Gantt, project editor, and settings share one quiet style
- Remove buttons in the task editor, project editor, and settings are icon buttons with tooltips
- The import dialog uses Obsidian's native buttons
- The Gantt zoom control uses Obsidian's native buttons
- Filter and saved-view buttons match Obsidian's native buttons, with an accent tint when active
- The cursor lands where a task description was clicked when the editor opens
- Subtasks are archived and unarchived along with their parent task
- The time tracking section in the task editor no longer shows a progress bar
- The kanban card no longer shows a subtask count next to the progress bar
- Every property row in the task editor is the same height
- Section labels in the task editor are smaller and lighter
- A completed subtask is crossed out in the task editor
- The field for adding a subtask lines up with the subtasks above it
- Tasks listed under Depends on and Blocks open in the task editor when clicked
- The Blocks list in the task editor is a list of tasks like Depends on, replacing the chips
- A timeline row saying a task depends on something outside the view opens those tasks when clicked
- A subtask in the task editor opens in its own editor when clicked
- A subtask is renamed in its own editor rather than by typing in the subtasks list
Fixed
- Due dates read a day early on the board, the table, the project list, and a project overview for anyone whose clock is behind UTC
- A status or priority with an icon showed none of it in the filter dropdowns and the bulk action bar
- A project icon picked from the icon grid showed its name as text in the project list, the toolbar, the overview, the project settings, and the project picker
- Clearing a number custom field wrote an invalid value into the task's note
- A custom field holding a link showed as raw link text in the table
- A person custom field showed the stored text in the table instead of that person's avatar
- A person custom field lost the link to the person's note when set in the task editor
- A checkbox custom field showed true or false in the table
- A url custom field was plain text in the table
- The assignees on a project's overview did not open their notes when clicked
- An assignee whose name is a link showed as raw link text in the assignee filter, the bulk assign menu, the timeline tooltip, and the task editor
- The assignee filter skipped tasks that wrote the same person's name a different way
- Two people with the same name were treated as one by the assignee filter, when each had their own note
- A task title sat above the middle of its row when another column made the row taller
- A change made in one view of a project was undone by the next click in another view of the same project (#173)
- A project open in two views showed the older state in one of them (#173)
- A task edited in the task editor lost changes made to it elsewhere while the editor was open
- Edits to a project file made outside the plugin reached an open project view only after reopening it
- A settings change reached an open project or project list only after reopening it
- The table stopped short of its last rows and left empty space below them when scrolled to the bottom
- The sort arrow in the table stayed on the column that was sorted before
- Start and completed dates were labelled overdue in the task editor (#156)
- The due date of a done task was labelled overdue in the task editor (#156)
- The due date of a done task was highlighted as urgent in the table
- Text and images in a task description could not be selected or copied (#169)
- A task description rewrapped its text when clicked for editing
- Searching for a task by its id found nothing (#167)
- The import dialog offered the built-in statuses and priorities instead of the configured ones
- The task editor showed two close buttons in its top right corner
- The add property button in the task editor touched the custom fields section below it
- The task editor left more space around the line under the properties than around its other section lines
Pull requests
- make priorities configurable and extract a task source interface by @mrhyde in #137
- import tasknotes tasks and palettes by @mrhyde in #138
- let each project choose which statuses it uses by @mrhyde in #139
- per-project configuration by @mrhyde in #141
- add a ui styleguide and consolidate duplicated ui by @mrhyde in #145
- update dev dependencies by @mrhyde in #175
- match tasks by id in search by @mrhyde in #176
- Bump postcss from 8.5.15 to 8.5.23 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #177
- make task descriptions selectable and place the cursor on click by @mrhyde in #178
- show the overdue label only on the due date of an unresolved task by @mrhyde in #181
- mark whether a task landed on time next to its completed date by @mrhyde in #182
- archive subtasks along with their parent task by @mrhyde in #184
- make task progress editable and drop redundant progress displays by @mrhyde in #185
- move the table sort arrow to the sorted column by @mrhyde in #186
- hide obsidian's native close button in the task editor by @mrhyde in #187
- pull dependent tasks forward when a blocker finishes early by @mrhyde in #188
- move the settings tab to obsidian's declarative settings api by @mrhyde in #189
- update dev dependencies by @mrhyde in #190
- keep one project instance per file and notify views of changes by @mrhyde in #191
- trim comments that restate the code by @mrhyde in #192
- quiet the task editor section labels and align the subtask rows by @mrhyde in #193
- open the task editor in a tab as an alternative to the modal by @mrhyde in #194
- draw tree lines between table subtasks and their parent by @mrhyde in #218
- make table row and column rules optional by @mrhyde in #220
- measure table row height from the painted rows, not the first one by @mrhyde in #222
- find projects anywhere in the vault and show several at once by @mrhyde in #223
- open a project on its own page instead of a modal by @mrhyde in #226
- let the priority icon set be chosen by @mrhyde in #227
- give the new project dialog the task editor layout by @mrhyde in #228
- build project rows from the task table row parts by @mrhyde in #229
- link assignees to the person notes in the vault by @mrhyde in #232
- give the overview property labels room for longer names by @mrhyde in #235
- let a project link open its tasks instead of the overview by @mrhyde in #236
- open the task behind a dependency from the views by @mrhyde in #237
- open a subtask from the task editor instead of editing its title there by @mrhyde in #238
- pick people through one control everywhere by @mrhyde in #239
- load a project from its path through the store by @mrhyde in #240
- build custom fields from the shared property controls by @mrhyde in #241
- build every status and priority menu from one row helper by @mrhyde in #242
- activate note links and avatars through one helper by @mrhyde in #243
- read date fields as calendar days when formatting them by @mrhyde in #244
- drag a gantt bar edge and the whole bar through one handler by @mrhyde in #245
- draw every project icon through one glyph helper by @mrhyde in #246
- space the task editor sections evenly by @mrhyde in #247
- follow a dependency chain out of its project when rescheduling by @mrhyde in #248
- give each project a folder of its own by @mrhyde in #249
- fix project folder moves at the vault root and after a rename by @mrhyde in #250
Full Changelog: 1.8.0...2.0.0