Skip to content

Releases: NickPittas/KAssetManager

KAssetManager 2.1

Choose a tag to compare

@NickPittas NickPittas released this 14 Jun 20:21

KAssetManager 2.1

This release focuses on stability, packaging reliability, and persistence/error-handling fixes.

Fixed

  • Fixed silent database migration failures during startup/schema setup.
  • Fixed image-sequence updates being reported as successful even when the database update failed.
  • Improved annotated video-frame export by replacing fixed seek sleeps with bounded event-based frame capture.
  • Fixed a thread-safety issue in the async database worker open-state check.
  • Fixed project import teardown so a still-running worker thread is not destroyed after timeout.
  • Improved media conversion FPS probing by validating ffprobe startup and timeout handling.

AppImage

  • Built and verified a new KAssetManager-2.1-x86_64.AppImage.
  • AppImage packaging now defaults to the controlled qtpaths bundling path.
  • linuxdeploy is no longer auto-selected from PATH; it is only used when explicitly configured.
  • Verified dependency closure: no missing libraries.
  • Verified launch behavior: AppImage stays alive under timeout test, no immediate crash.

Validation

  • Clean AppImage rebuild completed successfully.
  • AppImage launch test passed.
  • Dependency check passed with no not found entries.

KAssetManager 2.0

Choose a tag to compare

@NickPittas NickPittas released this 26 May 15:12

KAssetManager 2.0

Linux/Fedora AppImage release validated on the Fedora 43 KDE Wayland baseline.

Highlights

  • Final AppImage artifact: KAssetManager-2.0-x86_64.AppImage
  • Video playback, timeline scrubbing, hover scrubbing, and thumbnails are working in the AppImage workflow.
  • Video thumbnails use external /usr/bin/ffmpeg extraction for robust process isolation in packaged Linux runs.
  • Wayland/tlRender raster video color now matches VLC/ffmpeg thumbnails by correcting YUV chroma scaling.
  • Live Wayland raster playback avoids nearest-neighbor YUV resize so scaled playback is smoother.

Artifact

Download KAssetManager-2.0-x86_64.AppImage, mark it executable, and run it:

chmod +x KAssetManager-2.0-x86_64.AppImage
./KAssetManager-2.0-x86_64.AppImage

v1.8.5

Choose a tag to compare

@NickPittas NickPittas released this 04 Feb 20:01

Minor update to folder refresh logic in the File Manager tree view

Version 1.8.1

Choose a tag to compare

@NickPittas NickPittas released this 15 Jan 16:33

Added

  • Color management settings: OCIO config picker plus default input transforms for 8-bit, 16-bit, 32-bit, and log sources
  • Searchable OCIO inputs in the preview overlay for faster transform selection
  • Video pan/zoom parity with images via middle-mouse panning in the tlRender viewport

Changed

  • OCIO configuration persistence: enable state, config path, and input defaults now survive restarts
  • OCIO input lists now populate directly from the selected config (including ACEScc/ACEScct/ACEScg) and apply LUTs from that config
  • Preview fit behavior: right-click returns videos to fit view; navigation to next/previous resets fit view

Note

This file now includes the 1.8.0 release notes below. Unreleased will contain future work.

Version 1.8.0

Choose a tag to compare

@NickPittas NickPittas released this 13 Jan 22:53
d22557d

KAsset Manager 1.8.0 Release Notes

Release Date: 2026-01-13

Overview

Version 1.8.0 transitions KAsset Manager's playback pipeline to tlRender (mrv2's engine),
bringing OCIO-aware video and image-sequence playback while retiring the legacy GStreamer
preview path. The release also aligns build, portable, and installer metadata with the
1.8.0 version.

Highlights

  • tlRender (mrv2) playback engine now powers video and image-sequence previews
  • OCIO color management available throughout the playback pipeline
  • Legacy GStreamer preview runtime removed from packaging
  • Build and installer metadata updated to version 1.8.0

User-Facing Changes

  • Video and image-sequence playback now uses tlRender for consistent results across formats.
  • GStreamer is no longer bundled or required for preview playback.
  • Application versioning in build outputs and installers reflects 1.8.0.

Developer/Technical Notes

  • CMake project version is set to 1.8.0 and Windows resources/installer metadata match.
  • tlRender is consumed via its CMake package and provides bundled OpenColorIO/OpenImageIO.
  • The build expects a tlRender install at third_party/tlRender-build/install-Release
    (see native/qt6/CMakeLists.txt for the candidate search paths).

Upgrade & Build

  1. Reconfigure CMake (recommended):
cd native/qt6
cmake -S . -B build\ninja -G Ninja
cmake --build build\ninja --target kassetmanagerqt

Notes & Known Issues

  • If you have a custom tlRender build location, ensure TLRENDER_ROOT or the expected
    install path is available before configuring.

Acknowledgements

Thanks to contributors and testers who helped validate the tlRender playback migration.

Version 1.6.0

Choose a tag to compare

@NickPittas NickPittas released this 05 Jan 01:23

KAsset Manager 1.6.0 Release Notes

Release Date: 2025-12-30

Overview

Version 1.6.0 is a focused quality and UX release that completes the dual-pane File Manager experience, fixes preview navigation bugs, and polishes UI consistency. It also includes a compatibility fix for video profile constants with modern FFmpeg headers.

Highlights

  • Dual-pane File Manager: persistent state across restarts (enabled/disabled and pane sizes)
  • Full-screen preview: navigation now follows the pane that opened the overlay (primary or secondary)
  • Folder tree: horizontal auto-scroll suppressed — scrollbar will remain at left edge
  • UI consistency: toolbar heights and button sizes standardized
  • FFmpeg compatibility updates for video profile constants

User-Facing Changes

  • Dual-pane mode remembered: If you enable dual-pane mode and arrange the panes, the app will restore that layout on next launch.
  • Preview navigation: If you open the full-screen preview from the second/secondary pane, using arrow keys or scroll will navigate the secondary pane's file list (no longer the primary pane).
  • Tree scrolling: Very long folder names will no longer cause the tree view to auto-scroll horizontally. The horizontal scroll position remains at the left edge.
  • Toolbar appearance: Tool buttons are smaller and consistent across toolbars; toggle state shows a clear checked appearance.

Developer/Technical Notes

  • CMake project version updated to 1.6.0. The KAM_APP_VERSION compile definition and Windows resources have been updated accordingly.
  • Video metadata parsing (video_metadata.cpp) now uses AV_PROFILE_* constants for compatibility with newer FFmpeg versions (v61+ headers in vcpkg).
  • mainwindow.cpp now persists dual-pane splitter sizes under FileManager/DualPaneSplitterSizes and restores them on startup.

Notes & Known Issues

  • Some third-party bundled libraries may still report their own versions inside third_party/ folders; those are unrelated to the app version.
  • If you build with different FFmpeg headers than the ones packaged with the repository, ensure the AV_PROFILE_* constants exist in your FFmpeg headers.

Acknowledgements

Thanks to contributors and testers who helped validate dual-pane workflows and preview navigation across panes.

Version 1.5.2

Choose a tag to compare

@NickPittas NickPittas released this 19 Dec 17:41

KAsset Manager 1.5.2 Release Notes

Release Date: December 19, 2025

Overview

Version 1.5.2 is a maintenance release focused on improving video scrubbing performance and stability across all grid views (Asset Manager, File Manager, and Project Manager).


Major Improvements

🎬 Enhanced Video Scrubbing System

In-Place Thumbnail Scrubbing

  • Direct Thumbnail Updates: Ctrl+mouse scrubbing now updates thumbnails directly instead of showing intrusive overlays
  • Unified Experience: Consistent scrubbing behavior across Asset Manager, File Manager, and Project Manager
  • Progress Indicator: Thin progress bar at the bottom of thumbnails shows scrub position

Performance Optimizations

  • GStreamer Pipeline Caching: Added PipelineCache class to reuse GStreamer pipelines for faster video frame extraction
  • KEY_UNIT Seeking: Optimized seeking strategy for better performance with MOV/MP4 files
  • Async Frame Filtering: Prevents timeline jumping by filtering out stale frame responses during fast scrubbing

Stability Improvements

  • Frame Ordering: Fixed async frame delivery issues that caused frames to jump to previous positions
  • Delegate Logic Fixes: Corrected File Manager delegate logic that was overwriting scrub frames
  • Registry Pattern: Implemented ScrubFrameRegistry singleton for reliable frame storage and retrieval

🛠️ Technical Enhancements

Backend Improvements

  • ScrubFrameRegistry: Singleton registry for managing active scrub frames across views
  • GridScrubController: Enhanced controller with position tracking and stale frame filtering
  • LivePreviewManager: Improved async frame request handling with position validation

Code Quality

  • Threading Rules: Maintained proper Qt threading patterns with queued signals
  • Memory Management: Efficient frame caching with LRU eviction (512MB limit)
  • Error Handling: Robust handling of async frame requests and responses

Bug Fixes

Video Scrubbing Issues

  • Fixed timeline jumping during fast scrubbing due to out-of-order async frame delivery
  • Resolved File Manager scrub frames being overwritten by file preview code
  • Eliminated intrusive overlay behavior in favor of in-place thumbnail updates

Performance Issues

  • Improved initial frame pickup speed for MOV/MP4 files
  • Reduced GStreamer pipeline creation overhead through caching
  • Optimized frame extraction with KEY_UNIT seeking strategy

Version 1.5.1

Choose a tag to compare

@NickPittas NickPittas released this 18 Dec 17:12

KAsset Manager 1.5.1 Release Notes

Release Date: December 18, 2025

Overview
Enhance window resize/move handling

Full Changelog: v1.4.5...v1.5.1

Version 1.5.0

Choose a tag to compare

@NickPittas NickPittas released this 11 Dec 01:18

KAsset Manager 1.5.0 Release Notes

Release Date: December 11, 2025

Overview

Version 1.5.0 is a major release focused on the Project Manager feature—a complete VFX/post-production project tracking system with version detection, folder watching, and project file support. This release also includes significant File Manager improvements and numerous quality-of-life enhancements.


Major Features

🎬 Project Manager (New!)

A dedicated tab for managing VFX/post-production projects with intelligent version tracking:

Project & Watch Folder System

  • Project Creation: Create projects from any folder—automatically imports all assets and watches for changes
  • Watch Folder Monitoring: Real-time detection of new, modified, and deleted files across all subdirectories
  • Recursive Subdirectory Watching: QFileSystemWatcher now monitors all subdirectories (not just root), ensuring changes in nested folders are detected
  • Smart Caching: Directory modification times are cached to avoid unnecessary rescans—only changed directories are processed
  • Debounced Updates: 2-second debounce prevents excessive rescans during bulk file operations

Project File Version Detection

  • After Effects Support: Detects .aep and .aepx files, extracts version strings (e.g., "v001", "v2", "comp_v03")
  • Nuke Support: Detects .nk files with version pattern extraction
  • Version Grouping: Multiple versions of the same project file are grouped together with a clickable version badge
  • Version Dropdown: Click the version badge to switch between versions—preview updates immediately

Project Manager UI

  • Grid & List Views: Same familiar interface as File Manager and Asset Manager
  • Thumbnail Previews: Live thumbnails for all media files with scrubbing support
  • Sequence Detection: Image sequences are grouped and displayed as single items with frame range info
  • Notification System: Badge shows count of new files detected since last view
  • Full Preview Panel: Embedded preview with video playback, image zoom/pan, and metadata display

📁 File Manager Path Bar (New!)

An editable address bar at the top of the File Manager file panel, similar to Windows Explorer:

  • Display Current Path: Shows the full path of the current directory
  • Selectable/Copyable: Click and select text to copy the path
  • Direct Navigation: Type or paste a path and press Enter to navigate
  • Path Validation: If the entered path doesn't exist, shows an error and restores the previous path
  • File Path Handling: If a file path is entered, navigates to its parent directory
  • Native Separators: Displays Windows-style backslashes for familiarity

🪟 Window Title Version Display

  • The main window title now shows the application version: "KAsset Manager 1.5.0"
  • Version is sourced from CMake's PROJECT_VERSION via QCoreApplication::applicationVersion()

Improvements

Project Manager File Operations

  • Delete: Removes files from database immediately, then moves to Recycle Bin
  • Rename: Updates database path after successful filesystem rename
  • Cut/Paste (Move): Removes from database at source, watcher adds at destination
  • Copy/Paste: Watcher detects new files at destination and adds to database

Import System Enhancements

  • Throttled UI Updates: Progress dialog updates every 50ms instead of every file, preventing UI freeze during large imports
  • Removed processEvents() Calls: Eliminated reentrancy issues in ImportProgressDialog
  • Elapsed Timer Pattern: Uses QElapsedTimer for throttling instead of per-file event processing
  • Better Logging: Import operations now log folder counts, file counts, and sequence detection results

Watch Folder Reliability

  • Full Subdirectory Watching: Fixed issue where only root directory was watched—now all subdirectories are monitored
  • Proper Path Cleanup: unwatchProject() now removes all watched paths for the project
  • Dynamic Directory Addition: New subdirectories are automatically added to the watch list
  • Throttled Logging: Directory change notifications are logged at most every 5 seconds to prevent spam

Database Operations

  • New removeAssetsByPath(): Efficiently removes multiple assets by file path with folder notification
  • New updateAssetPath(): Updates asset file path in database (for rename operations)
  • Background Resync: "Re-sync Asset Folders" now runs on a background thread using QtConcurrent::run()

High DPI Support (from 1.4.5)

  • Enhanced icon scaling for high-DPI displays
  • Improved UI element sizing and spacing

Bug Fixes

  • Watch Folder Not Detecting Changes: Fixed QFileSystemWatcher only watching root directory—now watches all subdirectories recursively
  • Resync Freezing UI: Re-sync operation now runs on background thread
  • File Operations Not Updating Database: Delete, rename, and move operations now properly update the Project Manager database
  • Sequence Frame Path Reconstruction: Fixed pattern-based frame path reconstruction using filePath (full path) instead of just the pattern filename
  • Version Badge Click Detection: Moved click handling to MainWindow::eventFilter for more reliable detection
  • Import Progress Dialog Reentrancy: Removed processEvents() calls that could cause crashes during import

Technical Changes

New Files

  • project_import_worker.h/.cpp - Background thread worker for project imports with cancellation support

Modified Core Files

  • mainwindow.cpp/.h - Added path bar, version dropdown handling, file operation database updates
  • project_db.cpp/.h - Added removeAssetsByPath(), updateAssetPath() methods
  • project_manager_watcher.cpp/.h - Complete rewrite for recursive watching and smart caching
  • project_item_delegate.cpp/.h - Added setSelectedVersions() and isPointOnVersionBadge() methods
  • importer.cpp - Added throttled progress updates with QElapsedTimer
  • import_progress_dialog.cpp - Removed processEvents() calls to fix reentrancy

CMake Changes

  • Added project_import_worker.h/.cpp to build
  • Version bumped to 1.5.0

Migration Notes

  • Database: No schema changes—existing databases work without modification
  • Settings: All settings are preserved from previous versions
  • Project Database: Stored separately from Asset Manager database in %AppData%/KAsset/KAsset Manager Qt/projects.db

Known Issues

  • Version detection works best with standard naming conventions (v001, v1, _v02, etc.)
  • Very large projects (100k+ files) may take several seconds for initial import

Acknowledgments

Thanks to everyone who provided feedback and reported issues for this release!

Version 1.4.5

Choose a tag to compare

@NickPittas NickPittas released this 09 Dec 19:52

Changelog for PR: Version 1.4.5 Release

🚀 Version 1.4.5 - Performance & High DPI Improvements

Performance Improvements

  • File Manager Responsiveness: Eliminated 1-2 second delays after file operations (copy/move/delete) by removing unnecessary auto-refresh triggers. The QFileSystemModel already provides automatic updates via its internal file watcher.
  • Optimized Refresh Logic: Streamlined onFmRefresh() to only perform manual refreshes when explicitly requested (F5 key or context menu), avoiding heavy model resets during automatic operations.
  • Thumbnail Cache Management: Removed automatic cache clearing on directory refreshes to prevent thumbnail flicker and unnecessary re-decoding.

High DPI Display Support

  • Qt High DPI Scaling: Added proper High DPI scale factor rounding policy (PassThrough) to prevent blurry text and UI elements on high-resolution displays.
  • DPI-Aware Icons: Updated icon generation to create crisp, high-resolution icons that scale properly on 4K and high-DPI monitors (150%, 200%, etc.).
  • Consistent Rendering: All UI elements now render at the correct physical pixel density for optimal clarity.

Technical Changes

  • Version Updates: Bumped version from 1.4.0 to 1.4.5 across all build systems:
    -- CMake project version
    -- Windows resource file (app.rc)
    -- NSIS installer script
  • Build System: Verified successful compilation and packaging with new version numbers.