RD 2.0.13 (hotfix)
Running Rubberduck as a non-admin user
This release addresses a number of urgent patches to serious bugs found in the previous 2.0.12 release.
Known Issues
- Possible crash on exit. We can't rule it out entirely still, so when you close the host application make sure the process is no longer running in Task Manager.
- Unloading, and then re-loading the add-in from the IDE's "addins manager" will no longer wreck the IDE and its host, but still won't re-load correctly. Don't do that.
- Source Control can work, but its use isn't as user-friendly as it could be, and it tends to throw all kinds of exceptions for unintuitive reasons. We've made it a project of its own to git it up and running smoothly.
- Please see our issues list for the complete backlog, or review the Maintenance project for a more digestible view of [bug] and [technical-debt] issues, and review the Features project for the feature backlog - inspections have their own backlog, too.
New Features
- Indent Project; the original Smart Indenter had that feature, and we had removed it last year for performance reasons... however preliminary testing shows the Rubberduck port can now actually indent a 112-module VBA project in less than 15ms - so we added it back.. and didn't bother reinstating the indent progress window.
- Option Base 0 inspection; a simple inspection that locates
Option Base 0
statements, which are redundant (it's the default setting in VBA); a quick-fix removes them effortlessly. - New WPF UI for several refactoring dialogs:
- Rename
- Remove Parameters (includes a preview of affected signature(s))
- Reorder Parameters (includes a preview of affected signature(s))
- #2805 Context status label now displays the containing scope instead of the containing module when the selection isn't on a declaration or identifier reference, inside a procedure body. The lookups have also been optimized, they're now pretty much instant.
Fixes
- #2727 refactor/rename no longer incorrectly warns about name clashes.
- #2737
DeclarationFinder
now correctly handles multiple classes implementing the same interface. - #2773 Introduced a small delay before launching the initial parse; this prevents a race condition where Rubberduck could start parsing modules that the VBE hasn't finished loading.
- #2802 Concurrent file I/O was possibly causing a parser error; fixed, and we now generate the temp files under
%temp%\Rubberduck
instead of under the install folder. - #2814 Fixed race condition (?) possibly causing a hard crash when the module of the
ActiveCodePane
gets removed. - #2849
ParameterCanBeByVal
false positive with object parameter, fixed. - Several fixes in the
DeclarationFinder
, which was throwing a number of exceptions - all fixed. - Full commit log here