Files
blender-portable-repo/extensions/rainys_extensions/atomic_data_manager/CHANGELOG.md
T
2026-03-17 15:25:32 -06:00

7.5 KiB

[v2.5.0] - 2026-01-28

Features

  • Missing file tools: add “Relink All” and improve replacement workflow.

Fixes

  • Missing file UI: fix text field paste + layout/truncation issues; center the detect-missing popup; refine replacement path handling (better dir vs file behavior).
  • RNA analysis: expand datablock coverage and refine dependency tracking to reduce false “unused” results.

Internal

  • Maintenance: remove deprecated recovery option; improve ignore rules for hidden dot-directories.

[v2.4.1] - 2026-01-14

Fixes

  • Fixed RNA analysis crashes when opening new blend files by rebuilding data-block type references dynamically
  • Fixed indentation errors that prevented RNA dump from processing most data-blocks
  • Fixed compositing nodetree detection by adding scenes as root nodes in dependency graph
  • RNA dump JSON file now always generated regardless of debug print settings
  • Refactored repetitive snapshotting code into _safe_snapshot() helper function

[v2.4.0] - 2026-01-13

Features

  • Major Architecture Change: RNA-Based Analysis System
    • Replaced multi-process worker system with faster, more robust RNA-based dependency analysis
    • All data types now use unified RNA introspection for dependency tracking
    • Eliminated worker processes, job indexing, and subprocess overhead
    • RNA data can be optionally dumped to JSON for debugging
  • Improved Clean dialog layout
    • Increased dialog width to 1000px for better visibility
    • Items now display in 4-column grid layout to reduce vertical scrolling

Fixes

  • Fixed node groups used by objects via Geometry Nodes modifiers not being detected as used
  • Fixed RigidBodyWorld and other scene-linked data-blocks incorrectly flagged as cleanable
  • Fixed area lights and other object data-blocks in scene collections not being marked as used
  • Added safety checks to prevent crashes during RNA extraction (recursion limits, data-block validation)
  • Fixed RNA extraction handling for objects' modifier node groups

Performance

  • Significantly faster scanning across all categories using RNA analysis
  • Single-pass dependency graph building shared across all category scans

[v2.3.1] - 2026-01-13

Fixes

  • Integrate proper UDIM detection

[v2.3.0] - 2026-01-06

Features

  • Added "Enable Debug Prints" preference to control debug console output
    • Debug messages now only print when this preference is enabled (default: off)
    • All debug print statements use centralized config.debug_print() helper

Fixes

  • Fixed preferences not displaying in Blender 5.0 extensions
    • Preferences now correctly match the full module path (bl_ext.vscode_development.atomic_data_manager)
    • Added safe property setter to handle read-only context errors during file loading
  • Fixed node groups used only by unused materials/objects not being detected as unused (#5)
    • Node groups now recursively check if parent node groups are unused
    • Fixed compositor node tree detection to use reference comparison instead of name
    • Fixed missing import error in node_group_compositors()
  • Made Clean execute deletion synchronous for faster performance
  • Fixed callback-initiated scan state not being preserved, causing scans to fail
  • Fixed instanced collection usage detection

[v2.2.0] - 2026-01-05

Features

  • Add loading bars; non-blocking timer-based UI (#10)
    • Operations no longer freeze the UI during scanning
    • Real-time progress updates with cancel support at any time
    • Descriptive status messages showing current operation details
  • Unified Smart Select and Clean scanning logic
    • Eliminated code duplication between operations
    • Clean now only scans selected categories (more efficient)
    • Both operations use consistent incremental scanning for images and worlds
  • Added manual cache clear operator for testing and debugging

Performance

  • Optimized deep scan functions with caching and fast-path checks
    • Image scanning now uses cached results to avoid redundant scene scans
    • Early exit for clearly unused images using Blender's built-in user count
  • Incremental processing for large datasets
    • Images processed in batches (5 per callback) to maintain UI responsiveness
    • Worlds processed one at a time incrementally

Fixes

  • Fixed images used only by unused objects being incorrectly flagged as unused (#5)
  • Fixed material detection in brushes and node groups (#6, #7)
  • Fixed Clean operator not showing dialog when invoked programmatically (#8)
  • Improved material detection in inspection tools (brushes, node groups)

Internal

  • Refactored scanning architecture for maintainability
  • Added comprehensive debug output for troubleshooting

[v2.1.0] - 2025-12-18

Features

  • Added support for detecting unused objects and armatures (#1)
    • Objects not present in any scene collections are now detected as unused
    • Armatures not used by any objects in scenes (including direct use, modifiers, and constraints like "Child Of") are detected as unused
    • Smart Select and Clean operations now support objects and armatures

Fixes

  • Fixed material detection in Geometry Nodes Set Material nodes
    • Materials used in Geometry Nodes' "Set Material" nodes are now correctly detected as used
    • Fixed legacy issue where materials in node groups (e.g., "outline-highlight" in "box-highlight" node group) were incorrectly flagged as unused
    • This was a hangover from Atomic never being developed past Blender 2.93, where Geometry Nodes Set Material nodes use input sockets rather than direct material properties
  • Performance optimizations for Smart Select and Clean operations (#3)
    • Removed inefficient threading implementation that was causing poor performance
    • Implemented short-circuiting logic in Smart Select to exit early when unused items are found
    • Fixed UI operators to use cached values instead of recalculating on every draw call
    • Note: Further performance improvements are limited by Blender's Python API being single-threaded and requiring sequential access to bpy.data collections, making true parallelization impossible without risking data corruption

Internal

  • Removed incorrect "Remington Creative" copyright notices from newly created files
  • Updated repository configuration in manifest

[v2.0.3] - 2025-12-17

Fixes

  • Fixed missing import error in missing file detection

[v2.0.2] - 2025-12-17

Fixes

  • Atomic now completely ignores all library-linked and override datablocks across all operations, as originally intended.

[v2.0.1] - 2025-12-16

Fixes

  • Blender 5.0 compatibility: Fixed AttributeError when detecting missing library files (Library objects use packed_file singular, Image objects use packed_files plural in 5.0)
  • Fixed unregistration errors in Blender 4.5 by using safe unregister functions throughout the codebase

[v2.0.0] - Raincloud's first re-release

Feature

  • Multi-version Blender support (4.2 LTS, 4.5 LTS, and 5.0)
    • Version detection utilities in utils/version.py
    • API compatibility layer in utils/compat.py for handling version differences

Fixes

  • Blender 5.0 compatibility: Fixed AttributeError when accessing scene compositor node tree (changed from scene.node_tree to scene.compositing_node_tree)
  • Collections assigned to rigidbody_world.collection are now correctly detected as used

Internal

  • GitHub Actions release workflow
  • Integrated rainys_repo_bootstrap into __init__.py so the Rainy's Extensions repository is registered on add-on enable and the bootstrap guard resets on disable.
  • Removed "Support Remington Creative" popup and all related functionality
    • Removed Support popup preferences