Version 1.0.0-preview.25

Hey everyone,

a new version of Aspect has been released: 1.0.0-preview.25 (view blog post). You’ll find the download links at the bottom of this post. Simply install over the existing installation to upgrade. The following changes and additions are included:

New features

  • Added support for peer-to-peer library synchronization and cloning within the local network
    • Other devices running Aspect can be invited to clone a library or requested to provide access to a library
    • Synchronization of library instances now happens automatically in the background
    • The first-start dialog now offers to create a new library or to join one from the local network
  • Added a companion window feature to make use of dual-monitor setups
    • The secondary window will display the same items as the main window
    • Separate view settings can be used and the secondary window uses a complementary display mode (thumbnail vs. details view)


  • Simplified the library creation workflow
    • The library name and folder patterns do not have to be set during library creation anymore
    • Instead, when first importing a file that requires a decision, you will get a dialog to confirm the correct settings
  • Improved reliability of local network device discovery
  • Improved the device pairing UI for adding known devices
    • Reworked the user interface layout
    • Incoming pairing requests are now shown as a dialog box instead of as a barely visible notification center entry
    • Devices can now be blocked/unblocked from sending pairing requests
    • Fixed some crashes and hangs occurring when cancelling the pairing process mid-way
  • Pairing codes do not contain zeros and the letter O anymore to avoid confusion
  • Host names for macOS devices are now displayed without their domain name
  • The introduction overlay now shows event placeholders to better communicate the event pane functionality
  • Clone progress is not properly displayed on the clone configuration page
  • When leaving the “create collection” collection bar entry with an entered name, a confirmation dialog appears instead of just discarding the name
  • The metadata pane now refreshes automatically when selected files or their sidecar files change
  • Synchronization activities can now be cancelled
  • Improved the time required to load the UI theme on startup
  • Reduced idle CPU usage in the presence of other Aspect network devices
  • The example tree for visualizing the chosen folder patterns now always shows the current year
  • Events can now be created directly from the navigation pane
    • A new button allows to create new events, or to select existing folders as events
  • The folder browser view now supports changing sorting modes
  • Broken connections to known devices are now indicated and can be re-established
  • Added a colored status indicator to the known device list
  • Reduced the time taken for “Synchronizing with file system”
  • Pressing the escape key now leaves the selected local collection, if any
  • Improved the “library storage devices” section of the synchronization pane
    • Library instance entries now display the device alongside their storage volume
    • Entries are now sorted by device
    • No empty storage volume names are displayed anymore
    • An issue with possible duplicate entries has been fixed
  • Improved the network device list popup
    • The selected entry now stays selected after adding or removing it to/from known devices, as well as after device changes
    • Fixed possible flickering of the list during refreshes
    • An issue with possible duplicate entries has been fixed
    • Fixed the main UI getting blocked while waiting on a pairing request

Bug fixes

  • SECURITY: Fixed a possible brute force attack during the pairing process, enabling a man-in-the-middle attack
  • Fixed updating thumbnails after the underlying image has been changed (e.g. rotated) remotely
  • Fixed deleted events possibly appearing in the example library tree used to visualize path pattern settings
  • Fixed an issue with empty year folders being left over on macOS
  • Fixed individual photo folders to be properly merged and named during synchronization
  • Fixed an image possibly ending up in two taxonomy branches after concurrent changes in separate library instances
  • Fixed a crash occurring when adding a file with the same name to the same folder on two library instances concurrently
  • Fix backup file names of files deleted in another library instance
  • Fixed library instance information not getting updated (e.g. associated host name and ID)
  • Fixed a synchronization error occurring when moving files out of a large event or individual photos folder in two library instances concurrently
  • Fixed notification pane item order and missing activity entries
  • Fixed an attempt to organize a scanned folder that was manually moved into a library folder by the user
  • Fixed a sub-pixel rendering issue in some dialogs
  • Fixed manual synchronization blocking the UI
  • Fixed a regression in preview 24, where the name entered for newly created events got ignored
  • Fixed a crash when synchronizing with a library that contains an empty shoe box folder
  • Fixed an issue with video thumbnails being sometimes corrupted or causing crashes
  • Fixed remote device status sometimes not being correct after pairing or after remote changes
  • Fixed issues when canceling the process to add a known device
  • Fixed layout issues in the notification center fly-out
  • Fix a possible hang during shutdown
  • Fixed other Aspect instances being erroneously displayed in the drive pane
  • Fixed failures to initialize the OpenGL driver on certain systems

Feel free to leave any feedback here or in the bug reports sub forum. Thanks for helping to shape a new way of organizing photos!

Please remember: Even though the software is reasonably stable at this point, always make a backup of your data, or work with a copy of it, when using pre-release software.


:paperclip: Windows installer
:paperclip: macOS bundle
:paperclip: Linux AppImage (experimental)