What's New
# What's New
The announcement list is at [medium.com/@polywickstudio](https://medium.com/@polywickstudio) for latest version.
> **Latest Version:** v2.0.0.117.
> **Note on recent fixes:** The latest fixes are mostly about getting StoryServer's view model right.
> Notepad, PhoneBook, Calendar, Tickler, and added side views all show the same underlying outline items, but each view has its own rules for visibility, ordering, blank rows, folder membership, date membership, and editing.
> Recent fixes tighten those rules so rows stay in the view where the user expects them, drag/drop and Move commands preserve the visible order, PhoneBook filters behave like a stable working list, Calendar and Tickler share date-backed items correctly, and imported Ecco layouts keep their original column, folder-section, and style behavior.
### v2.0.0.117 — Released 2026 June 29th
**Changed**
- **Insert Column commands** now insert new, existing, relation, and Gantt columns at the selected column position instead of always appending them to the end of the Notepad.
- **Inserted column metadata** is now normalized through one shared path, keeping widths, expanded state, display modes, sort modes, word-wrap flags, and Gantt settings aligned with the visible column order.
- **Column insertion refresh** now targets the focused outline first, so added columns update the panel the user is working in.
- **About StoryServer** now shows the Polywick Studio logo on the About text page with a white reading background.
**Fixed**
- **Gantt column insertion** now keeps its start folder, end folder, chart range, and bar color paired with the inserted column position instead of drifting from the column list.
- **Multiple existing-column inserts** now preserve the picked folder order starting at the selected insertion point.
### v2.0.0.116 — Released 2026 June 29th
**Added**
- **Folder-section drag cursors** now distinguish adding a Folder Pane folder to a Notepad from dragging a Notepad folder header out of the view.
- **Notepad folder headers** can now be dragged out of the outline to remove that folder from the current Notepad view.
**Changed**
- **Folder-section reordering** now uses the hovered header position, including before/after placement, so dragged Notepad folder sections land at the intended location.
- **Item > Move Up and Move Down** now move top-level TLI-backed rows across adjacent visible Notepad folder sections when the selection reaches a section boundary.
- **Item > Move Left and Move Right** now preserve the affected folder section's TLI order after indenting or outdenting, avoiding jumps in filtered or imported Notepads.
- **Calendar menu commands** now target the focused or visible Calendar panel, including right-side Calendar views added beside another organizer.
- **Calendar sidebar and Tickler-on-top commands** now update right-side Calendar panels as well as primary Calendar views.
- **Folder tree selection** is no longer stolen by Notepad tab restores, keeping Folder Pane selection tied to direct user interaction.
**Fixed**
- **Blank Notepad padding rows** now suppress outline balls and labels unless the row has real text, attachments, or meaningful folder values.
- **Dragging an item before another item** now inserts at the visible target position instead of depending on the source row direction.
- **Same-folder TLI reordering** now handles top-of-section and context-row drops without appending moved rows to the end unexpectedly.
- **Calendar Day printouts** now reserve enough height for large hour labels, preventing cramped hourly rows.
- **Delete and menu enablement** now avoid treating selected Notepad folder headers as ordinary item selections.
### v2.0.0.115 — Released 2026 June 28th
**Changed**
- **Folder drops onto Notepad views** now distinguish the item/folder-list area from the column area: drops in column 0 add the folder as a visible Notepad section, while drops over folder columns add or move a column without also appending the folder to the Notepad folder list.
- **Delete on a selected Notepad folder header** now removes that folder from the current Notepad view, matching the header close button before falling back to ordinary row deletion.
- **Remove Folder commands** now prefer removing the selected folder from the current Notepad view when the selected folder header or Folder Pane folder belongs to that view.
- **Column headers** now elide long titles consistently, including the item column, while still keeping at least one visible character in very narrow columns.
**Fixed**
- **Folder deletion cleanup** now removes matching word-wrap and Gantt column metadata along with folder, width, expanded, display-mode, and sort-mode column entries.
- **Folder tree deletion** now correctly repairs root and sibling links when deleting the first child or a root-level folder.
- **Folder Pane inline rename painting** no longer draws the selected-row highlight behind the active editor.
- **Outline rows** no longer force full item text wrapping just because a row is selected, reducing selection-driven layout changes.
### v2.0.0.114 — Released 2026 June 28th
**Changed**
- **Import fidelity** now preserves per-notepad outline level styles, so imported files can keep different base heading and row styles on different notepad tabs instead of sharing one file-wide fallback.
- **Imported notepad columns** now carry over column sort direction and word-wrap settings in addition to folder, width, and display mode.
- **Time values with advance warnings** now store and compare the visible item date as the raw date plus warning offset while still preserving the advance-warning metadata.
- **Imported formatted text runs** now keep reset runs and color-only runs, avoiding formatting that bleeds beyond the original run boundary.
- **In-outline drag and drop** now classifies child-versus-sibling drops from the target row's indent zone, making Notebook row reparenting match the intended drop position more closely.
- **Drag insertion feedback** now uses a smaller aligned marker at the target outline level.
- **Import fidelity tooling** now compares notepad roots, columns, sort modes, word-wrap flags, and outline styles more closely against the source ECO structure.
**Fixed**
- **Same-folder Notebook row reordering** now updates and saves the folder's TLI order after a drag, so filtered or multi-folder notepads no longer snap moved rows back to their previous visible position.
- **Imported appointment dates** now account for advance-warning offsets instead of landing on the warning-start date.
- **Click-to-edit repaint timing** now avoids an extra redraw before the editor opens, reducing visible flicker during row selection and editing.
### v2.0.0.113 — Released 2026 June 26th
**Changed**
- **Multi-folder Notepad sections** can now be reordered directly by dragging folder headers in the notebook body, with the new section order saved to the notepad.
- **Folder drops onto Notebook sections** now insert the added folder at the drop location instead of always appending it to the end of the notepad.
- **PhoneBook Search** can now prompt for search scope before running, with quick choices for Name, Company, and Any Field.
- **Notepad blank padding rows** are now managed per folder section, with new padding rows kept out of outline label numbering until they become real items.
**Fixed**
- **Multi-folder Notepads** now prune unused housekeeping blank rows after folder add, remove, reorder, or folder-list changes, then seed the active trailing section with editable blank rows.
- **Blank Notepad padding rows** no longer show outline labels or icons until text or a folder value is entered.
- **Column headers** now keep folder column titles centered and readable in narrow columns.
### v2.0.0.112 — Released 2026 June 26th
**Changed**
- **Shift+Up and Shift+Down while editing multiline item text** now extend the text selection inside the active cell first, then hand off to row selection only after the caret reaches the start or end of the cell.
**Fixed**
- **Multiline item editing** no longer jumps straight into row selection when Shift+Up or Shift+Down should still be selecting text within the cell.
### v2.0.0.111 — Released 2026 June 25th
**Changed**
- **PhoneBook printing** now follows the same contact ownership rule as forms and columns, printing each contact root once even when visible child or subitem rows are included in the PhoneBook list.
- **Add by Form wording** now describes folder and column-value selection without escaped menu text.
**Fixed**
- **PhoneBook printouts** no longer render child or subitem rows as separate contact cards when expanded search or query results are visible.
### v2.0.0.110 — Released 2026 June 25th
**Changed**
- **PhoneBook Search Options** now live beside the Search for field, including First Name, Notes, Prompt for Search Fields, and Begins with/Contains settings.
- **PhoneBook Search Next and Previous** now navigate concrete matching rows inside matching contacts, including child and subitem matches, while keeping the contact group visible.
- **Folder Pane drops onto Notebook body** now add the folder as another visible notepad section; dropping on the column/header area still handles column add and reorder actions.
- **Item text wrapping** now uses one shared layout path for row painting, hit-testing, selection sizing, and inline editing, reducing visual shifts when opening the editor.
**Fixed**
- **Wrapped item text search highlights** now remain visible inside the active text editor and on later wrapped lines.
- **Folder Pane Shift+Up and Shift+Down** now extend selection consistently from both the tree and the inline folder-name editor.
- **Folder Pane inline rename** now keeps selected-row colors while the editor has focus.
- **Folder commands while renaming** now finish the active inline folder-name edit before creating or deleting folders, avoiding stale selection/edit state.
- **Outline drag releases** now ignore no-op drops at the same logical position instead of rebuilding or running drag aftercare.
- **Click-to-edit row changes** no longer force a repaint blink when the previous commit did not change layout.
- **Filtered blank PhoneBook contacts** can now clear the active search or A-Z filter and keep editing the same blank row instead of starting a second New Name flow.
### v2.0.0.109 — Released 2026 June 24th
**Changed**
- **Item > Move Up and Move Down** now prefer the visible folder section order for top-level folder members, so the commands work in notepad sections driven by TLI display order.
- **Calendar Sync logging** now also writes sync activity to the in-app Log Pane as well as the sync log file.
**Fixed**
- **Search highlights in wrapped item text** now follow the same line wrapping as the row renderer, so matches on later visual lines are highlighted correctly.
- **Search highlights on the active row** now use a visible highlight color instead of disappearing into the normal selection color.
### v2.0.0.108 — Released 2026 June 24th
**Added**
- **Calendar Sync** now lets Google users choose the target calendar, including non-primary calendars, with read-only calendars clearly marked.
- **Calendar Sync scheduling** can run automatically while a file is open, with a configurable interval from 5 minutes to 24 hours.
- **Calendar Sync logs** now record provider, selected Google calendar, download/import/update counts, upload counts, skipped items, and sync errors in the logs folder.
- **OAuth Logins** now includes a Clear Calendar Sync Links action for removing stored provider, calendar, and event links from the active file without deleting appointments.
- **File > Database > Open Backup Folder** now opens the active file's configured backup location.
- **Help > Open Logs Folder** opens the StoryServer logs directory, creating it when needed.
- **Help > Report Issue** opens the Polywick Studio contact page for support.
- **About > Diagnostics** now shows version, build, OS, app path, config path, and logs path, with a Copy Diagnostics button for support requests.
**Changed**
- **Calendar Sync preferences** now persist the selected provider, direction, date range, Google calendar, and automatic schedule settings.
- **Google Calendar upload and update** now store both provider and calendar identity on synced items, so events from different Google calendars do not overwrite each other.
- **Scheduled Calendar Sync** now reports failures through the status bar and sync log instead of showing interactive prompts.
- **File > Save** now creates a timestamped backup checkpoint for the active live database.
- **Database Compact** now creates a pre-compact backup checkpoint before running maintenance.
- **Backups** now use timestamped `.bak` filenames and prune old backups according to the configured keep count.
- **Import completion** now reports warning counts and writes an import log with import counts, warnings, source, target, and any pre-import backup path.
**Fixed**
- **Google Calendar uploads** now refuse read-only calendars and ask the user to choose Download or a writable calendar.
- **Google Calendar event matching** now uses the stored calendar identity, avoiding accidental reuse of event IDs from another calendar or provider.
- **Imports over an existing target file** now create a pre-import backup before replacing the file.
- **Import warnings** now preserve recoverability notes for unnamed folders and referenced folders missing from the folder outline.
- **Opening a corrupt, incomplete, locked, or non-StoryServer file** now reports the problem without creating a new replacement file at that path.
### v2.0.0.107 — Released 2026 June 24th
**Changed**
- **Calendar, outline, Lua, and view-panel internals** have been split into smaller source modules, keeping the same workflows while making future fixes easier to isolate.
**Fixed**
- **Calendar Day view time rows** now keep the final occupied time slot visible when the last appointment reaches the end of the displayed day range.
- **Calendar appointment end times** now use the hour-view end-time metadata consistently when calculating daily rows.
### v2.0.0.106 — Released 2026 June 24th
**Changed**
- **Ctrl+1 through Ctrl+9 Show Levels shortcuts** now target the focused outline first, with Notepad using folder-relative levels 0-8 and PhoneBook or Calendar using levels 1-9.
- **Bookmark file menu entries** no longer reserve Ctrl+1 through Ctrl+9, avoiding conflicts with Show Levels shortcuts.
**Fixed**
- **PhoneBook Search for with Include notes** now scans matching text and note fields in a contact's descendant rows while still keeping the contact root as the search result.
- **PhoneBook note matches in child rows** now keep the contact's visible subrows together instead of treating the child row as an independent result.
### v2.0.0.105 — Released 2026 June 23rd
**Changed**
- **PhoneBook layout commands** now split Show Form at Right and Show Full Columns into separate checked menu actions, making the current PhoneBook form layout clearer.
- **PhoneBook grid clicks from the embedded form** now hand focus to the grid before opening row editing, so the first click can select and edit without needing a second click.
- **Folder Pane multi-selection drag** now preserves the selected block when dragging from inside it, and moves the selected top-level folders together in display order.
- **Folder Pane delete commands** now respect multi-selected folders from the menu and context menu, while still protecting system folders.
- **Bundled starter templates** have been refreshed across supported languages.
**Fixed**
- **PhoneBook form field navigation** now handles rows that disappear or rebuild after a commit, avoiding stale row positions while moving between fields.
- **Tickler empty-area clicks** now create the first row, matching the insert behavior of other empty item views.
- **Inserted date and time text** now uses the editor's font family list more consistently when the current insertion format has no family set.
### v2.0.0.104 — Released 2026 June 23rd
**Changed**
- **PhoneBook form clicks** now place the text cursor at the clicked position inside the value field instead of always selecting the full value.
- **Outline drag and drop** now has a dedicated before-row move path, improving drop placement when moving rows upward or dropping directly before another item.
- **Outline drag gestures** now support left/right drag release handling for outdent and indent actions when the drag crosses the horizontal threshold.
- **Debug logging defaults** are now quieter in normal builds, reducing routine diagnostic output unless specific debug switches are enabled.
**Fixed**
- **PhoneBook gutter clicks** now keep the embedded form synchronized with the selected contact while suppressing unwanted outline editor auto-open.
- **Outline subtree moves** now share safer detach and relevel logic, reducing edge cases when moving items before, after, or under another row.
### v2.0.0.103 — Released 2026 June 22nd
**Changed**
- **PhoneBook Query by Form** now clears the pane's top Search for text after an accepted query, avoiding stale search text while the query filter is active.
- **PhoneBook Search for in Begins with mode** now stays strictly prefix-based instead of falling back to a contains match when no prefix result is found.
- **PhoneBook drag-move cleanup** now uses one shared aftercare path for preserving contact visibility, selection, and form synchronization after outline moves.
**Fixed**
- **Blank PhoneBook contacts** now count as real visible rows when they have PhoneBook folder, value, home-folder, or TLI membership, so they stay selectable and draggable even while their text is still blank.
- **Fresh blank rows with real outline or folder membership** are no longer treated as disposable housekeeping rows during commit cleanup.
- **Trailing blank-row maintenance** now respects rows that were made visible by insert, indent, or drag actions instead of flattening them as ordinary padding.
- **PhoneBook drag moves for blank contact rows** now keep the moved row visible and selected after the drag, keeping the outline and embedded form aligned.
### v2.0.0.102 — Released 2026 June 22nd
**Changed**
- **Recent Files management** now uses platform-specific file-location actions: Show in Explorer on Windows, Show in Finder on macOS, and Show in File Manager on Linux or other desktop platforms.
- **Registry import in Recent Files management** is now shown only on Windows, where the registry import path is available.
**Fixed**
- **PhoneBook drag moves** now preserve PhoneBook visibility and folder membership when a dragged blank child row becomes a top-level contact.
- **PhoneBook drag cleanup** now avoids rebuilding PhoneBook TLI order from the global item chain, preserving the PhoneBook-specific display order after drag moves.
- **PhoneBook selection after drag moves** now refreshes and reselects the moved contact so the outline and embedded form stay synchronized.
### v2.0.0.101 — Released 2026 June 21st
**Changed**
- **Dependency and SBOM records** now reflect the current build stack, including Qt 6.8.8, SQLite 3.53.2, OpenSSL 1.1.1zh, StoryAuth 2.0.0.104, and the app-local Microsoft Visual C++ runtime files shipped with the installer.
**Fixed**
- **PhoneBook embedded form Up/Down navigation** now keeps editing on the newly selected detail row instead of leaving the form in a stale selected-but-not-editing state.
- **PhoneBook form editor commits** now ignore late signals from a replaced editor, avoiding duplicate or stale commits when moving quickly between fields.
- **PhoneBook form value lookup** now detects PhoneBook context from the tracked PhoneBook view, keeping contact field reads and writes tied to the correct contact record.
- **PhoneBook Search and A-Z/123 filtering** now immediately synchronize the embedded form with the displayed contact after the visible list changes.
- **PhoneBook Query by Form, UnQuery, and clear-filter actions** now restore the form to the correct visible contact, or clear it when no matching contact remains.
- **Added right-side PhoneBook panels** now initialize their embedded form selection from the visible PhoneBook row instead of starting out of sync.
- **PhoneBook outline auto-open** is now suppressed while focus is inside a PhoneBook form, preventing the outline editor from stealing focus during form navigation.
### v2.0.0.100 — Released 2026 June 19th
**Added**
- **Windows Controlled Folder Access support** now includes a small helper that can add StoryServer to the allowed application list when run with administrator rights.
- **Setup now installs the support helper** alongside StoryServer and can run it automatically at the end of installation when available.
- **Linked item indicators** now show a small badge on rows that have an explicit linked relationship, including visible child rows under a linked parent.
- **PhoneBook contact drops onto Calendar and Tickler** now share the same scheduling path as other item drops, so dragged contacts can appear in those views without creating a separate appointment record.
**Changed**
- **Drag and drop between Notepad, Calendar, Tickler, and PhoneBook** now follows one shared same-item model: drops add folder membership or date values to the existing item unless the user is in an explicit creation dialog.
- **Calendar and Tickler drag and drop** now moves the date value between Calendar appointments and Ticklers when appropriate, instead of leaving the item in both date sections.
- **Folder Pane clicks** now keep single-click as selection only; opening a folder in Scratch is handled by double-click.
- **Cross-view refresh after edits, deletes, drops, and child-row changes** now updates the active view, added side views, Calendar panes, and PhoneBook forms in one ordered pass.
- **Release packaging** now signs the main program, the support helper, and the installer through the same packaging script.
- **Installer output** continues to produce a versioned setup file, making release builds easier to identify and archive.
**Fixed**
- **PhoneBook records in added views** now stay in sync after inserts, deletes, drops, and form edits, reducing stale form data after the visible record changes.
- **PhoneBook and Notepad multi-select delete** now use one batch delete decision for the selected rows instead of repeating the file-delete prompt for each item.
- **Deleting all rows from a Notepad view** now restores usable blank rows so new rows can be added again.
- **Calendar Day view to Tickler moves** now remove the Calendar appointment date when the item is moved into a Tickler date section.
- **Tickler to Calendar Day view moves** now remove the Tickler date when the item is moved back into Calendar.
- **PhoneBook to Calendar or Tickler drops** now use the contact root consistently, including when a visible child row is dragged.
- **Inserted time text** now avoids a crash when the active editor has no explicit font family list.
- **Empty folder sections in item views** now remain expanded by default instead of unexpectedly starting collapsed.
- **Uninstall cleanup** now removes the Controlled Folder Access support helper with the main application files.
- **Support helper status messages** now report whether StoryServer was found and added to the Windows allowed application list.
For older release notes, see [Legacy Versions](/roadmap/legacy-versions).