Skip to content

ProjectNotes

v5.0.0 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

Published 3mo Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

Added macOS installer, home‑folder plugin support, cloud sync with encryption, UI and documentation improvements.

Full changelog

New Features

  • Added macOS installer with:
    • 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
  • Fixed debug build include
  • Revamped record update processing from imports
  • Removed extra database upgrade steps

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track ProjectNotes

Get notified when new releases ship.

Sign up free

About ProjectNotes

All releases →

Related context

Beta — feedback welcome: [email protected]