You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Signed and notarized .pkg installer built via productbuild
DMG wrapping for distribution
Embedded Python.framework bundled inside the app bundle
Hardened-runtime entitlements for embedded Python
Plugins can now be placed in the user's home folder (~/ProjectNotes/plugins/) in addition to the application plugins folder, making it easier to add custom plugins without modifying the application directory
Added cloud synchronization via SqliteSyncPro with support for:
Self-hosted PostgREST servers for complete data sovereignty
Supabase cloud hosting for managed database services
Transparent background synchronization that runs while the application operates
Row-level AES-256-GCM encryption for sensitive data protection
Database synchronization simplifies setup — no manual configuration of database files across machines needed
New File > Cloud Sync Settings... menu option to configure cloud connection parameters:
Host type selection (Self-Hosted or Supabase)
PostgREST server URL for self-hosted deployments
Email and password for authentication
Optional encryption passphrase for data at rest and in transit
Supabase anonymous key for cloud deployments
Automatic table discovery — only tables with required sync columns (id, updateddate, syncdate) are synchronized
Manual encryption key support for advanced integration scenarios
Database Cloud Syncing — Added SQLite sync to cloud, simplifying database setup across machines
Sync All — New "Sync All" menu option to synchronize all project data at once
Sync Status — Sync status is now displayed in the interface
Drag and Drop — Support for dragging and dropping file names and contact info
Export Tracker Items Plugin — New plugin for exporting tracker items
Quick Team Member Add — Added quick team member add functionality
Improvements
UI improvements when selecting records
Performance optimizations throughout the application
Added ability to filter out Cancelled and Deferred items by default
Python plugin code optimized (string and loop improvements, standard naming conventions)
Added defaults to plugin settings
Additional logging added for sync operations
Refactored C++ codebase for maintainability
Modularized database structure files
Updated Python plugin field names for v5.0.0 database schema
Updated application_version table schema and upgrade logic
Cross-thread row change propagation now uses Qt signals/slots
Removed duplicate row ID in XML export
Documentation Improvements
Significantly expanded View Menu documentation with detailed explanations and examples
Expanded History Menu documentation explaining page state persistence and history navigation
Added comprehensive Log Viewer documentation to Plugins Menu
Completely rewrote "Presenting to Clients" section with strategies for using Internal Items and Filter Tool to hide sensitive information from clients
Major rewrite of "Adding Functionality" documentation covering:
Plugin architecture (main thread vs background threads)
Auto-reload mechanism for rapid plugin development
Complete explanation of required global variables (pluginname, plugindescription, pluginmenus, plugintimerevent)
QSettings usage for plugin configuration storage
Settings dialog best practices with PyQt6 examples
Detailed explanation of embedded Python functions (projectnotes.update_data and projectnotes.get_data)
Critical warnings about delete attribute and foreign key relationship dangers
Added Built-In Standard Plugins overview explaining configurability and highlighting IFS plugin compatibility notes
Added comprehensive "Variable Replacement in Plugins" section explaining:
XML tree path syntax: [$tablename.columnname.rownumber]
Relationship between plugin configurations and XML data
Real-world examples for My Shortcuts, template documents, and email configuration
Renamed all image files with meaningful names (e.g., icon-navigate-back.png, icon-new-item.png, etc.)
Enhanced standard plugin settings documentation with practical configuration examples
Fixes
Fixed internal column not hiding in Project Notes table when "View Internal Items" is unchecked
Fixed formatting in Edit Menu documentation (added blank lines before numbered lists for proper markdown rendering)
Fixed many issues with Copy Record
Fixed delete check search
Fixed update check for delete flag
Fixed Search Page failing bug
Fixed column colors and HTML text rendering in search
Fixed AppSettings crash on close
Fixed intermittent QTableView repaint after updateDisplayData
Fixed Preferences dialog
Fixed Filter Dialog and added save for last location in additional dialogs
Fixed plugin items for Apple
Fixed exported email dates in plugins
Fixed menus and crash when editing meeting and email types
Fixed record lock issue and reloading of edited records
Fixed release build on Windows to find PostgreSQL drivers