Changelogο
All notable changes to LinkForge will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.4.1 (2026-06-04)ο
π Bug Fixesο
ci: exclude github commits urls from link checker (d652f36)
π Documentationο
fix Sphinx warnings, document missing APIs, and refine architectural guides (d3c9bec)
π οΈ Refactorsο
1.4.0 (2026-05-29)ο
π Featuresο
blender: implement high-performance mesh inertia integrator using NumPy vectorization (0c815ee)
composer: add context manager support and deep cloning to RobotBuilder (a2876fe)
core: harden xacro eval sandbox against dunder escapes (7def4d8)
core: implement semantic validation linter and deep immutability (dfdf3b8)
core: implement structural XACRO caching for optimized robot assembly (a1dc8af)
core: modular validation registry and targeted checks (#167) (efe67ba)
hybrid RobotAssembly API (The Composer) (d7947a3)
Implement srdf generator (2019465)
implement SRDF intermediate representation (960ac48)
implement SRDF XML parser with XACRO support (8235793)
introduce sliver triangle detection and structured validation architecture (4e7264d)
parsers: add xacro console logging and custom ROS package paths (#179) (cb09062)
ROS XACRO Parity and Blender 5.x (Python 3.13) Support (#198) (7bfbd57)
π Bug Fixesο
blender test stability (a4cfcd8)
blender: sensor visibility and live physics gizmo updates (777fb1d)
build: shorten blender manifest tagline to respect 64 character limit (7cc682e)
ci: exclude flaky monorepo.tools from link checker and canonicalize redirects (8f623ad)
support disconnected links validation in blender (870d196)
synchronize LinkForge names with Blender object names (c844a3a)
urdf: handle out-of-order elements in iterative parser (869182a)
xacro: enhance spec compliance and hardening (010eeec)
π Documentationο
add ADR-001 for monorepo structure decision (#163) (2300f25)
add julianmueller as a contributor for test, and review (aac782f)
add peci1 as a contributor for bug (3f2b0ad)
add peci1 as a contributor for ideas (be038b1)
add Python API reference and SRDF documentation (e2f1b51)
add Vision 2030 βUniversal Connectorβ section to VISION.md (af96a80)
clarify support for both comma and os path separators (630e6ac)
core: comprehensive README rewrite and examples API update (0be0b5c)
establish βLLVM for Roboticsβ vision and strategic roadmap (f912115)
exclude flaky academic URL from link checker (894d66f)
formalize .lf standard and consolidate strategic technical roadmap (082bb02)
overhaul vision, streamline README, and align documentation for v1.4.0 (e70b47c)
refine README, contributing guidelines and fix citation metadata (46216d5)
standardize core docstrings, clean up comment silencers, and align vision roadmap (aecc258)
synchronize and standardize core and blender docstrings (b06805e)
update docs and refine core API (f544c76)
update issue assignment policies in CONTRIBUTING.md (bd8e315)
update readme file (381040b)
update v1.3.0 roadmap status and CITATION.cff release date (#168) (ab1ba5b)
β‘ Performance Updatesο
optimize collision quality slider with BMesh and true debounce (db6b0c3)
π οΈ Refactorsο
blender: clean up dead code, redundant facades, and improve imports (61a1ee6)
blender: consolidate test structure and boost platform coverage (88a47e9)
blender: stabilize naming synchronization and decouple translator architecture (ebbcac9)
clean up generator comments and overhaul core documentation (e5c54ed)
core: implement shared RobotXMLGenerator engine (#186) (0e7646e)
core: modularize xacro parser dispatch logic (d18193d)
core: refactor URDFParser engine (b417148)
extract heavy scene calculations from export_panel.py draw loop (#182) (6a5ecb8)
finalize blender platform stability and test (d3abbf3)
harden core model encapsulation and stabilize naming utilities (b4fea84)
harden integration infrastructure and professionalize static analysis for v1.4.0 (de5fd2a)
harden LinkForge architecture and centralize Core API (1096425)
harden mesh inertia calculations with strict validation and topology checks (e009352)
harden physics inertia pipeline and blender platform API architecture (d1faba2)
hardened core architecture and comprehensive test stabilisation (9da8efa)
migrate to structured error handling with ValidationErrorCode and absolute Import Normalization (2b4c909)
modernize core architecture and normalize XML generation (06eda1d)
physics: enhance mesh inertia robustness and numerical stability (d7d6de9)
physics: harden mesh topology validation and inertia pipeline (b511d6a)
physics: harden mesh topology validation and inertia pipeline (0927906)
physics: mesh topology validation (5787c52)
rename RobotAssembly to RobotBuilder and enhance programmatic API (b8d1a05)
unify Blender architecture and optimize scene traversal (#183) (a777a8e)
1.3.0 (2026-03-01)ο
π Featuresο
add component search filter for component browser (#128) (e7ac61a)
enhance joint model with safety/calibration and fix xacro grouping (#140) (a0c0c3e)
enhance ros2_control intelligence and unify simplified mesh terminology (7de79fe)
ros2-control: joint sync, xacro modularity, and 100% core test coverage (#156) (7b78606)
π Bug Fixesο
core: resolve security gaps and documentation discrepancies (d1dc15a)
enhance XACRO generator to remove additional types of empty placeholder (#160) (bbb99e6)
resolve xacro import failures for ros2-style robot descriptions (#134) (c162d5c)
robust mesh import cleanup and xacro improvements (#136) (2dede4f)
π Documentationο
add andreas-loeffler as a contributor for code, and test (#130) (fd02561)
add dco signoff requirement (3484345)
add julianmueller as a contributor for ideas (f565cd5)
align component READMEs and refine documentation (af63a14)
align multi-package roadmaps and correct architectural references (781a9b2)
clarify link/joint frame hierarchy and mesh origin behaviour (01094ea)
transition core branding to βThe Linter & Bridge for Robotics (#127) (73e44e2)
vision: upgrade vision image to βthe truth layerβ (#137) (3b1eea9)
β‘ Performance Updatesο
Depsgraph Caching, NumPy acceleration, and Formal Kinematic Graph (ab4485b)
π οΈ Refactorsο
modernize exception hierarchy and domain-specific validation (3c75d15)
1.2.3 (2026-02-14)ο
π Bug Fixesο
π Documentationο
1.2.2 (2026-02-07)ο
π Bug Fixesο
π Documentationο
π οΈ Refactorsο
1.2.1 (2026-02-04)ο
π Bug Fixesο
π Documentationο
add arounamounchili as a contributor for code, design, and 2 more (#87) (ae6a1ef)
Configure all-contributors to use smaller images and remove the usage link. (8e5558b)
generalize transform descriptions in URDF generator and add contributor acknowledgment to README. (40b31da)
Remove pip installation of the current project from Read the Docs build configuration. (10b2f31)
Update README to detail new features like Mimic Joints and advanced sensors, clarify existing capabilities, and refine usage instructions. (c9dcf9b)
π οΈ Refactorsο
1.2.0 (2026-01-24)ο
π Featuresο
add centralized ros2_control dashboard and refine export logic (69894bc)
add CODEOWNERS, citations, and refine guidelines (#39) (#40) (2fd4752)
blender: expose inertial origin in physics panel (#70) (#71) (45b9bc2)
blender: implement robust persistent inertia visualization with CoM sphere (#74) (6d35659)
blender: modernize GPU overlays and fix viewport drawing logic (684d6a8)
implement professional virtual link handling and robust alignment (#62) (838f25c)
core: implement 100% dependency-free robotics logic
blender: transition to dependency-free extension architecture for 90% size reduction
blender: remove legacy DAE/Collada support in favor of production-ready GLB/OBJ/STL metrics
blender: discontinue automatic transmission conversion in favor of explicit ROS 2 Control Dashboard configuration
docs: exhaustive documentation audit and synchronization with v1.2.0 UI terminology
docs: update all tutorials and how-to guides to reflect new βCreate Link from Meshβ and βCreate Sensorβ labels
tests: reorganize integration tests into specialized
parsers/,blender/, andfeatures/subdirectoriestests: centralize path management via
examples_dirfixture and create comprehensivetests/README.mddocs: synchronize
ARCHITECTURE.md,CONTRIBUTING.md, and Sphinx reference index with new test organization
π Bug Fixesο
add missing register/unregister logic to import_ops.py (3017eca)
blender: handle Collada removal in Blender 5.0+ (#68) (8e2ffbf)
blender: restore missing bpy import and add type hints to utilities (e4cbf56)
ci: simplify release-please extra-files by removing dynamic docs and README (0812552)
ci: split blender setup steps in release pipeline (dab8293)
ci: switch release-please to python type for robust versioning (1d182fd)
Collision import preventing accidental degradation during the import-export cycle (18c2530)
core: correct string formatting in XACRO detection error msg (d76f0f9)
implement data-level mesh cloning for export robustness (#59) (#60) (9ddb06a)
make all property group registrations idempotent to prevent double registration errors (1d54cd0)
Xacro split-file generation and manual qa doc (#75) (6719a70)
π Documentationο
branding: update social preview with new tagline (dd89679)
clarify coordinate system uses 1:1 mapping, not conversion (#56) (b025d57)
finalize architecture and contributing guides for v1.1.0 release (ffb8aa6)
improve pre-commit installation instructions in README and CONTRIBUTING (fd3f746)
make documentation version dynamic by importing from package (1d8b393)
refine tagline and enhance technical specifications (24ef9fd)
sync architecture and API references with modular codebase (cf91bd9)
sync documentation version and add automation hint (0e80499)
synchronize all documentation with v1.2.0 features (#78) (7f10ca8)
update the roadmap (fd8d3aa)
use standard version variable in conf.py for automation (d3a08da)
π οΈ Refactorsο
core: eliminate redundant index rebuilds and harmonize comm⦠(#58) (189b6a6)
core: eliminate redundant index rebuilds and harmonize comments (189b6a6)
delete tools directory and remove related code references (3039e9e)
delete tools directory and remove related code references (3a83616)
formalize hexagonal architecture and unify collision display (#72) (#73) (92c8b75)
polish error message formatting in urdf_parser.py (0240a64)
remove tool reference from urdf_parser.py (ce1d403)
restructure test suite into tiered architecture (#63) (#64) (6bfb262)
arch: formalize monorepo structure with decoupled
coreandblenderpackagesblender: implement policy-compliant vendorizing for core logic (Zero
sys.pathchanges)separate import/export logic and refine xacro error message (5649837)
1.1.0 (2026-01-07)ο
π Featuresο
π Bug Fixesο
add CI collector job for stable branch protection status (b473d6d)
add missing bpy import to property_helpers (4d7b5ac)
blender: modernize extension logic and fix GPU overlay (#20) (29a9dfb)
blender: resolve UnboundLocalError and finalize v1.1.0 community standards (#21) (f4215fd)
blender: robust DAE export and Blender 5.0 compatibility (#23) (d3ac437)
blender: sanitize robot component names to resolve .001 conflicts (5266ec1)
docs: use correct relative paths for logo and favicon (7af18f3)
resolve CI artifact name collision and pin stable actions (#9) (a923105)
π Documentationο
add workflow diagram and code owners (dda0fd0)
clarify platform-specific zips in README (3ce93c7)
evergreen installation instructions in README (a30b390)
finalize architecture documentation for unified mirroring (b227076)
remove stale handler comments in blender/init.py (507d503)
unify assets and set single source of truth in docs/assets (4da663c)
update ARCHITECTURE.md to reflect handler removal (365c2dc)
upgrade README with premium technical specs and roadmap (fb8e0f2)
π οΈ Refactorsο
1.0.0 - 2025-12-23ο
[!NOTE] v1.0.0: Initial Production-Ready Release
LinkForge 1.0.0 is the first production-ready release of the professional URDF & XACRO exporter for Blender.
Featuresο
Complete URDF/XACRO Support: Full bidirectional import and export logic.
Sensor Suite: Comprehensive support for Camera, Depth Camera, LiDAR, IMU, GPS, Contact, and Force/Torque sensors.
ROS2 Control Integration: Native
ros2_controlconfiguration generation for Gazebo and real hardware interfaces.Automatic Physics: Automatic calculation of mass and inertia tensors for both primitive shapes and complex meshes.
Smart Validation: Built-in validator to catch errors like disconnected links, missing inertia, or invalid joint limits before export.
Round-Trip Fidelity: Importing a URDF and re-exporting it preserves all properties, including sensor origins and visual/collision geometries.
Resilient Parsing: The parser gracefully handles minor errors (like invalid geometry dimensions) by logging warnings instead of crashing.
XACRO Powers: Automatic macro generation, material extraction, and support for split-file export organization.
Viewport Visualization: Semantic feedback in the viewport for joint axes, limits, and transmission actuation vectors.
Modern Standards: Support for modern Gazebo Sim sensor types (
gpu_lidar,navsat) and ROS 2 conventions.
Securityο
Path Validation: Strict validation of mesh paths to prevent path traversal vulnerabilities.
XML Hardening: Protection against XML bomb attacks through depth limits.
Input Sanitization: Numeric constraints to prevent NaN/Inf injection.