Skip to content

Commit 2cae156

Browse files
committed
update(changelog): bump version 2.1.0
1 parent 926ecfb commit 2cae156

File tree

2 files changed

+173
-5
lines changed

2 files changed

+173
-5
lines changed

Changelog.md

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,171 @@
1+
# 2.1.0
2+
3+
## 🚀 Major Features
4+
5+
### Python Ecosystem Integration
6+
7+
A complete Python runtime environment with professional package management and development tools:
8+
9+
- **Python Script Execution**
10+
- Execute Python scripts directly in Revit with native Python runtime
11+
- Support for PEP 723 inline script metadata for dependency declarations
12+
- Built-in `__file__` variable for script file path access
13+
- Enhanced stdout/stderr redirection for better debugging
14+
- Support for processing Python iterable objects (lists, tuples, generators) in GeometryListener
15+
16+
- **Python Dependency Management**
17+
- Integrated `uv` package manager for fast, reliable Python package installation
18+
- Professional dependency resolution and conflict management
19+
- UI for installing and managing Python packages
20+
- Automatic detection of newly-installed packages for immediate use
21+
- Support for `pyproject.toml` dependency specifications
22+
23+
![Python Dependency Management](https://github.com/trgiangv/RevitDevTool/wiki/images/RevitDevTool_PythonDependencyResolve.gif)
24+
25+
- **Python Stub Generator (PythonNetStubGenerator)**
26+
- Generate Python type stubs (.pyi) from .NET assemblies for IntelliSense support
27+
- Complete support for methods, properties, events, and nested types
28+
- XML documentation comments extraction and conversion
29+
- Enhanced IDE experience with autocomplete and type hints
30+
31+
![Python Stubs](https://github.com/trgiangv/RevitDevTool/wiki/images/RevitDevTool_PythonStubs.png)
32+
33+
- **Enhanced Python Type System**
34+
- Improved type conversion for delegates and indexers
35+
- Better handling of Python-to-.NET type conversions
36+
- Support for complex Python data structures
37+
38+
### Code Execution System (NEW)
39+
40+
Brand new code execution infrastructure built from scratch with modern design patterns:
41+
42+
- **Unified Execution System**
43+
- Strategy Pattern implementation for DotNet and Python execution
44+
- Centralized ExecutionOrchestrator for managing execution workflows
45+
- Clean separation between execution providers and strategies
46+
- Support for multiple execution modes (File, Selection, Addin)
47+
48+
- **Tree-Based Code Structure**
49+
- New tree model for representing directory and file hierarchies
50+
- Efficient tree state management with caching
51+
- Smart file watching with debouncing for hot reload
52+
- Enhanced tree operations (expand, collapse, refresh)
53+
- Visual feedback with highlight ranges for executed code
54+
55+
![Code Execute Hot Reload](https://github.com/trgiangv/RevitDevTool/wiki/images/RevitDevTool_CodeExecuteHotReload.gif)
56+
57+
- **Add-in Manager**
58+
- Load and execute external Revit add-ins (.dll) dynamically
59+
- Assembly Load Context isolation for proper unloading
60+
- Track last executed add-in for quick re-execution
61+
- Support for IExternalCommand implementations
62+
63+
### Python Dashboard Demo
64+
65+
Professional-grade Python analytics dashboard showcasing advanced integration:
66+
67+
- **Modern Web-Based UI**
68+
- Built with React, TypeScript, and TailwindCSS
69+
- Hosted in WebView2 with seamless Revit integration
70+
- Real-time bidirectional communication bridge
71+
- Support for light/dark themes
72+
73+
![Python Dashboard](https://github.com/trgiangv/RevitDevTool/wiki/images/RevitDevTool_PythonDashboard.png)
74+
75+
- **Comprehensive Analytics**
76+
- Project metrics and statistics dashboard
77+
- Family and category inventory analysis
78+
- Health monitoring with warnings matrix
79+
- Heavy families tracker for performance optimization
80+
- Schedule data explorer with export to Excel
81+
82+
- **Advanced Features**
83+
- Element filtering and selection synchronization
84+
- Keyboard shortcuts for power users
85+
- Session history tracking
86+
- Automatic data refresh with progress indicators
87+
88+
![Python Demo](https://github.com/trgiangv/RevitDevTool/wiki/images/RevitDevTool_PythonDemo.gif)
89+
90+
## 🎯 New Features
91+
92+
- **Code Execute View**
93+
- New dockable panel for code execution interface
94+
- Tree view with directory and file browsing
95+
- Syntax highlighting for selected code regions
96+
- Double-click to execute files or selections
97+
98+
- **Trace Toggle Setting**
99+
- New `IsTraceEnabled` setting to enable/disable trace listener
100+
- Improves performance when tracing is not needed
101+
- Configurable via settings UI
102+
103+
- **CSharp Execution Thread Safety**
104+
- Wrapped command execution in external event handler
105+
- Prevents threading issues when executing code from UI
106+
107+
- **Python Package Imports**
108+
- Ensured newly-installed packages are immediately importable
109+
- Fixed module path resolution after package installation
110+
111+
## 📚 Documentation
112+
113+
- **Comprehensive Architecture Documentation**
114+
- Added architecture guides for all major modules:
115+
- Code Execution (Strategy Pattern, Tree Model)
116+
- Logging System (Listeners, Theme System, Python Integration)
117+
- Visualization System (Geometry Processing)
118+
- Python Demo (Dashboard, WebView2 Integration)
119+
- PythonNetStubGenerator (Stub Generation Process)
120+
- Developer guides for extending functionality
121+
- Detailed README files with diagrams and examples
122+
123+
## 🔧 Improvements
124+
125+
- **Refactored Logging Infrastructure**
126+
- Reorganized listeners for better modularity
127+
- Improved separation between LoggerTraceListener and NotifyListener
128+
- Enhanced GeometryListener with Python iterable support
129+
- Better error handling and diagnostics
130+
131+
- **Optimized File Operations**
132+
- Enhanced file watching with better performance
133+
- Debouncing for file change events
134+
- Reduced unnecessary tree refreshes
135+
136+
- **Code Quality**
137+
- Cleaned up invalid assembly and directory paths
138+
- Simplified module removal logic in PythonExecutor
139+
- Better script execution and output handling
140+
- More robust error handling throughout
141+
142+
- **Settings Management**
143+
- Added CodeExecuteConfig for execution-related settings
144+
- Improved settings persistence and loading
145+
- Better validation for configuration values
146+
147+
## 🐛 Fixes
148+
149+
- **Dockable Pane Visibility**
150+
- Streamlined visibility handling for trace command
151+
- Better state management for floating vs docked windows
152+
153+
## 🛠️ Technical Changes
154+
155+
- **Build System**
156+
- Added Git LFS filters for executable and archive files (.exe, .dll, .msi, .zip)
157+
- Updated global.json for SDK compatibility
158+
- Enhanced project dependencies management
159+
160+
- **Resources**
161+
- Added Python icon (python32.png) for UI consistency
162+
- Bundled uv executables (uv.exe, uvw.exe, uvx.exe) for offline package management
163+
- Moved and reorganized image assets
164+
165+
---
166+
167+
**Stats**: 236 files changed, 32,835 insertions(+), 773 deletions(-)
168+
1169
# 2.0.1
2170

3171
## Fixed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,19 @@ RevitDevTool provides three integrated modules for Revit development:
2424
## 📸 Visual Demos
2525

2626
### Logging with Syntax Highlighting
27-
![Logging Demo](https://raw.githubusercontent.com/trgiangv/RevitDevTool.Wiki/master/images/RevitDevTool_MonitorLogging.gif)
27+
![Logging Demo](https://github.com/trgiangv/RevitDevTool/wiki/images/RevitDevTool_MonitorLogging.gif)
2828

2929
### Stack Traces
30-
![Stack Trace](https://raw.githubusercontent.com/trgiangv/RevitDevTool.Wiki/master/images/RevitDevTool_StackTrace.gif)
30+
![Stack Trace](https://github.com/trgiangv/RevitDevTool/wiki/images/RevitDevTool_StackTrace.gif)
3131

3232
### Geometry Visualization
33-
![Geometry Visualization](https://raw.githubusercontent.com/trgiangv/RevitDevTool.Wiki/master/images/RevitDevTool_TraceGeometry.gif)
33+
![Geometry Visualization](https://github.com/trgiangv/RevitDevTool/wiki/images/RevitDevTool_TraceGeometry.gif)
3434

3535
### Save Log Output
36-
![Save Log](https://raw.githubusercontent.com/trgiangv/RevitDevTool.Wiki/master/images/RevitDevTool_FileLogging.gif)
36+
![Save Log](https://github.com/trgiangv/RevitDevTool/wiki/images/RevitDevTool_FileLogging.gif)
3737

3838
### Window Behavior
39-
![Window Behavior](https://raw.githubusercontent.com/trgiangv/RevitDevTool.Wiki/master/images/RevitDevTool_AutoFloating.gif)
39+
![Window Behavior](https://github.com/trgiangv/RevitDevTool/wiki/images/RevitDevTool_AutoFloating.gif)
4040

4141
---
4242

0 commit comments

Comments
 (0)