11 KiB
Version and commit history check (2026-03-10 17:24Z)
User
-
First, check if there's a version file or manifest in T:\Dynamic-Link-Manager. Look for:
- blender_manifest.toml
- __init__.py with version/bl_info
- Any version.txt or similar files
-
Check if there's a CHANGELOG.md or similar file
-
Run
git log --oneline -11in the T:\Dynamic-Link-Manager directory to get the last 11 commits
Report back what you find for the current version and the commit history.
Agent (model accounts/fireworks/models/kimi-k2p5, mode Agent)
Thought Process
The user wants me to:- Check for version files in T:\Dynamic-Link-Manager
- Check for a CHANGELOG.md file
- Run git log --oneline -11 in that directory
Let me start by listing the files in the directory to see what exists, and then read the relevant files.
I'll check for version files, changelog, and commit history in the repository.
Tool use: **run_terminal_command_v2** • Run command: ls -la T:\Dynamic-Link-Manager
ls -la T:\Dynamic-Link-Manager
Get-ChildItem: C:\Users\Nathan\AppData\Local\Temp\ps-script-64c6ec1b-14fb-4817-ae61-5c5dd0a3abc6.ps1:7
Line |
7 | ls -la T:\Dynamic-Link-Manager
| ~~~
| A parameter cannot be found that matches parameter name 'la'.
Tool use: **run_terminal_command_v2** • Run command: git log --oneline -11
git log --oneline -11
a570949 Purge orig actions and cleanup rep actions
968425e make rm original work as intended
48f0065 rm run migration
50d3f05 add remove original button
53927a6 make tweak tools collapsible
b7a8366 separate functions into situational fixes
0299cc5 FKrot bake finally working
b681d02 tweak FKRot baking and removal
1de7ec5 fix error print on migfkrot
7e738fc add FKRotBake, armature parent functionality in RetargRelatives
440b206 migfkrot working for 1 frame
Thought Process
The ls -la command failed because it's using PowerShell, not bash. Let me try a PowerShell-compatible command to list the directory contents.Let me list the files using the correct PowerShell syntax.
Tool use: **run_terminal_command_v2** • Run command: Get-ChildItem -Path T:\Dynamic-Link-Manager | Select-Object Name
Get-ChildItem -Path T:\Dynamic-Link-Manager | Select-Object Name
Tool use: **run_terminal_command_v2** • Run command: Get-ChildItem -Path T:\Dynamic-Link-Manager -Filter "*.md"
Get-ChildItem -Path T:\Dynamic-Link-Manager -Filter "*.md"
Directory: T:\Dynamic-Link-Manager
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 3/9/2026 2:28 PM 2424 CHANGELOG.md
Thought Process
Good, I found a CHANGELOG.md. Now let me read the key files to check the version:- blender_manifest.toml (already seen as open in the editor)
- __init__.py
- CHANGELOG.md
Let me read these files using the shell.
Now let me read the version files and CHANGELOG.
Tool use: **run_terminal_command_v2** • Run command: Get-Content T:\Dynamic-Link-Manager\blender_manifest.toml
Get-Content T:\Dynamic-Link-Manager\blender_manifest.toml
schema_version = "1.0.0"
id = "dynamiclinkmanager"
name = "Dynamic Link Manager"
tagline = "Character migrator and linked library tools"
version = "0.1.2"
type = "add-on"
# Optional: Semantic Versioning
maintainer = "Nathan Lindsay <nathanlindsay9@gmail.com>"
license = ["GPL-3.0-or-later"]
blender_version_min = "4.5.0"
website = "http://10.1.10.3:30008/Nathan/Dynamic-Link-Manager"
tags = ["3D View"]
Tool use: **run_terminal_command_v2** • Run command: Get-Content T:\Dynamic-Link-Manager\CHANGELOG.md
Get-Content T:\Dynamic-Link-Manager\CHANGELOG.md
# Changelog
## [0.1.2] - 2026-02-19
### Added
- MigFKRot operator: copy FK arm and finger rotations from original to replacement using pose matrix copy.
### Changed
- MigNLA: duplicate actions when copying to repchar so editing on repchar doesn't affect origchar.
- MigFKRot: expanded bone name pattern matching for various rig styles (Rigify and alternatives).
- MigBBody shapekeys: also duplicate shape key actions for independence.
### Fixed
- MigFKRot: add debug logging to show which bones are found and copied.
## [0.1.1] - 2026-02-19
### Fixed
- MigBBody shapekeys: action slot not applying; now copy action and slot props (last_slot_identifier, action_slot, blend/extrapolation/influence) from original base body.
- RetargRelations: skip objects in Original Character's hierarchy (linked collection); only retarget relations outside orig's hierarchy.
- MigBoneConst: copy all constraint properties and targets (RNA POINTER/COLLECTION with origrep retarget), not just type/name/mute/influence.
- AnimLayers: detect/mirror via RNA (obj.als.turn_on) so "Animation Layer attributes migrated" reports correctly.
- MigCustProps: recursive id-property copy for nested groups; debug logging for armature/bone keys.
## [0.1.0] - 2026-02-19
### Added
- Gitea release workflow and runner docker-compose.
- Tweak tools subsection: add/remove/bake constraints for arms, legs, and both; track name and post-clean options.
- MigNLA: when no NLA, copy active action and action slot (incl. last_slot_identifier, blend/extrapolation/influence); debug logging for slot migration.
- NLAMig: AnimLayers support (mirror `als.turn_on`), strip timing and properties; active-action-only path when no NLA tracks.
- Operator icons (CopyAttr, MigNLA, CustProps, BoneConst, RetargRelatives, MigBBodyShapeKeys, pickers, tweak ops).
- BaseBody shapekeys step: prefer original base body's shape-key action slot; library override + editable; copy shape key values.
### Changed
- Operator labels refactored to canonical short names (CopyAttr, MigNLA, MigCustProps, etc.) with `bl_description` on all UI operators.
- Migrate BaseBody shapekeys redefined: find base body in hierarchy, override mesh/key data when linked, then apply shape-key action.
- Button labels truncated (e.g. "NLA", "BaseBody ShapeKeys").
### Fixed
- BaseBody shapekeys: lib override creation and value copy; correct original-base-body lookup and slot assignment.
Tool use: **run_terminal_command_v2** • Run command: if (Test-Path T:\Dynamic-Link-Manager\__init__.py) { Get-Content T:\Dynamic-Link-Manager\__init__.py } else { "No __init__.py file found" }
if (Test-Path T:\Dynamic-Link-Manager\__init__.py) { Get-Content T:\Dynamic-Link-Manager\__init__.py } else { "No __init__.py file found" }
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import bpy
from .ui import CLASSES
from .ui.properties import DynamicLinkManagerProperties
from .ui.preferences import DynamicLinkManagerPreferences
def ensure_default_search_path():
addon = bpy.context.preferences.addons.get(__name__)
if addon and len(addon.preferences.search_paths) == 0:
addon.preferences.search_paths.add().path = "//"
def register():
DynamicLinkManagerPreferences.bl_idname = __name__
for cls in CLASSES:
bpy.utils.register_class(cls)
bpy.types.Scene.dynamic_link_manager = bpy.props.PointerProperty(type=DynamicLinkManagerProperties)
bpy.app.handlers.load_post.append(ensure_default_search_path)
def unregister():
if ensure_default_search_path in bpy.app.handlers.load_post:
bpy.app.handlers.load_post.remove(ensure_default_search_path)
del bpy.types.Scene.dynamic_link_manager
for cls in reversed(CLASSES):
try:
bpy.utils.unregister_class(cls)
except RuntimeError:
pass
if __name__ == "__main__":
register()
Thought Process
I now have all the information the user requested. Let me summarize:- Version file:
blender_manifest.tomlexists withversion = "0.1.2" - CHANGELOG.md: Exists with detailed changelog
- __init__.py: Exists but does NOT have a
bl_infodict with version info - this appears to be a modern Blender 4.x extension format that usesblender_manifest.tomlinstead - Git log: 11 commits provided
Let me report back the findings.
Here's what I found:
Version Information
Current Version: 0.1.2
The version is defined in blender_manifest.toml:
schema_version = "1.0.0"
id = "dynamiclinkmanager"
name = "Dynamic Link Manager"
tagline = "Character migrator and linked library tools"
version = "0.1.2"
type = "add-on"
maintainer = "Nathan Lindsay <nathanlindsay9@gmail.com>"
license = ["GPL-3.0-or-later"]
blender_version_min = "4.5.0"
The __init__.py file exists but does not contain a bl_info version dict - this project uses the newer Blender 4.x extension manifest format (blender_manifest.toml) instead of the legacy add-on format.
CHANGELOG.md
Found CHANGELOG.md with the following recent entries:
| Version | Date | Highlights |
|---|---|---|
| 0.1.2 | 2026-02-19 | MigFKRot operator for FK arm/finger rotations; expanded bone pattern matching |
| 0.1.1 | 2026-02-19 | Fixed action slots, constraint copying, AnimLayers detection, custom properties |
| 0.1.0 | 2026-02-19 | Initial release with Gitea workflow, tweak tools, NLA migration, AnimLayers support |
Git Commit History (Last 11)
a570949 Purge orig actions and cleanup rep actions
968425e make rm original work as intended
48f0065 rm run migration
50d3f05 add remove original button
53927a6 make tweak tools collapsible
b7a8366 separate functions into situational fixes
0299cc5 FKrot bake finally working
b681d02 tweak FKRot baking and removal
1de7ec5 fix error print on migfkrot
7e738fc add FKRotBake, armature parent functionality in RetargRelatives
440b206 migfkrot working for 1 frame