Skip to content

Releases: rubberduck-vba/Rubberduck

1.3

04 May 04:34
Compare
Choose a tag to compare
1.3 Pre-release
Pre-release

This version brings us a rebuilt grammar, lexer & parser with improved parser support for 64-bit VBA, and addresses a number of long-standing grammar issues. It also brings us a much more robust way of discovering identifiers and their respective references.

We have fixed a number of installation issues, but since we've changed the installer from InstallShield to InnoSetup, we recommend a manual uninstall first.

One script to rule them all

This download is meant to work out of the box, for both 32-bit and 64-bit versions of Office.


New Features

The biggest, most visible new features are the new rename refactoring and find all references tool:

"buzz" referenced on lines 12 and 16; refactor/rename prompts for a new name

This version introduces a context menu in the code pane and Code Explorer:

code pane context menu
code explorer context menu

The options dialog had a facelift:

new Rubberduck options dialog

It's just a sexier UI, really - no new functionality was added here.. except there's no more message box when closing the dialog (changes are still only applied after reloading the add-in, as the General Settings tab indicates).

There's a number of new code inspections and quick-fixes, too:

  • ProcedureNotUsedInspection finds all procedures that are never used, and its quick-fix lets you remove this dead code with a single click.
  • ObsoleteTypeHintInspection will locate all usages of type hints, and its new quick-fix replaces the declaration with the corresponding explicit type, and removes type hints on all references of that identifier, wherever they are.

Bug Fixes

  • #368 Applying the quick-fix for an implicitly typed constant when it's declared along with other constants in the same instruction, no longer wipes out all other declarations in that instruction. Thank @comintern for that one.
  • #283 Applying a quick-fix that would change the signature of a method that's implementing an interface (making the code non-compilable), is no longer allowed. Thank @PetLahev for that one.
  • #378 "Parameter can be passed by value" is now only recommended for primitive types, thanks to @daFreeMan's feedback. This prevents applying a change that could result in a decreased performance.
  • #259 "Function returns no value" is now ignoring interface members (but not their implementations) - note that an interface is only recognized as such if it's implemented somewhere. The wording for that inspection result has also been modified a bit - it now reads "Return value for member '{0}' is never assigned", which is much clearer what the inspection result means.
  • #356 the new parsing strategy fixes a number of false positives as far as identifier usage inspections are concerned; if an identifier usage inspection returns a false positive, the issue likely isn't with the inspection, but with the parsing - which means an identifier usage issue would also affect the find all references and refactor/rename features.

Known Isuses

There are a number of things that slipped, and will be addressed in the next few releases:

  • Parser is still application-independent, so ProcedureNotUsedInspection will return false positives for handler procedures attached to worksheet controls.
  • Project references are stil ignored, so cross-project identifier usages are not accounted for.
  • Refactor/Rename will warn you if you're renaming a method that's implementing an interface, but not if you're renaming an event handler - renaming an event handler will break the code.
  • There is no "Rename" command available in the UserForm designer, so the only "proper" way of renaming controls (and their handlers) is by selecting a reference to that control in the code. This isn't ideal and will be addressed as soon as possible.
  • See our issues list for everything else on the roadmap.

Version 1.22 - Unit Testing Discovery HotFix

31 Mar 22:51
Compare
Choose a tag to compare

HotFix release for issue #354 - unit test discovery is using the VBE API and tries to discover test methods in protected VBProjects. This manifested as a refusal of the Test and Todo Explorers to open.

Use the x86 installer for 32-bit versions of Office, even if you're running a 64-bit system.

Use the x64 installer only for 64-bit versions of Office.


x64 Specifics

This version will install under C:\Program Files (x86), unlike the previous release; therefore we recommend manually uninstalling the previous version before running the setup program.

Despite our efforts to properly configure the setup, it's possible that even after a successful x64 install, starting a Microsoft Office application and opening up the VBE brings up this message:

'Rubberduck' could not be loaded. Remove it from the list of available add-ins?

If this happens, click 'no' and close the Microsoft Office application, then run this command from an administrative command prompt:

c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe "c:\program files (x86)\rubberduck\rubberduck\rubberduck\rubberduck.dll" /codebase /tlb

This will correctly register the add-in with the Windows Registry, a step that the installer is intended to be doing automatically. Note that pull requests are welcome, if anyone has an idea of exactly what we're doing wrong here.

Version 1.21 Bug Fixes & UI Improvements

17 Mar 05:20
Compare
Choose a tag to compare

Rubberduck is now licensed under GPL3; you will be prompted to accept the license terms when installing.

Installing

  • Download and use the x86 installer for 32 bit versions of Office
  • Download and use the x64 installer for 64 bit versions of Office

This installer requires administrative privileges.

Issue with x64 installer

The x64 installer is trying to prepare the ground for a per-user install without admin rights, and will register the COM classes under HKEY_CURRENT_USER; as a result, you could be seeing this message when starting Excel (or your favorite Office application):

add-in could not be loaded

It appears the keys have to be registered under HKEY_LOCAL_MACHINE (which means installing will require admin rights no matter what). To fix this, you will have to run this command from an administrative command prompt:

c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe c:\users\{username}\appdata\roaming\rubberduck.install\rubberduck.dll /codebase /tlb

Future releases will not require that step.


System Requirements:

  • Windows Vista, 7, or 8
  • .Net Framework 4.5
  • Microsoft Office

Note about supported Office Versions:

We've had users report successful installations on versions of Office as old as 97 and as new as 2013, but the only officially supported versions are 2007 and 2010.

We've had some issues reported with the 2013 environment. If you'd like to join the team and help us add support for Office 2013, please respond to issue #316.

Changes

  • Code Explorer now not only has class module icons and proper sorting (#267), it also displays an icon for document (Office) objects, user forms, and optionally regroups object types into folders like the VBE's Project Explorer - folders can be toggled, and the treeview can also display full signatures (and declarations) instead of just method/member names.
  • Unit Testing now supports setup & teardown methods with @ModuleInitialize, @ModuleCleanup, @TestInitialize and @TestCleanup attributes/magic-comments, respectively for methods to execute once before all tests in a test module, after all tests in a test module, before each test and after each test (#293).
  • Error-handling in test method stubs has been simplified (#271), and adding a test module also adds method stubs for the setup & teardown methods.
  • Completely redesigned "About" window, now linking to rubberduck-vba.com and our social media accounts; design is more in line with our official website, too (#308).
  • Code Inspection results can now be copied to clipboard.
  • Added a DeleteBranch method to the API

See the MileStone for a Complete List of Closed Issues.

Bug Fixes

  • Protected workbooks no longer crash the parser (#289) and are now displayed in the Code Explorer with a padlock icon.
  • Used variables no longer cause "variable not used" false positives in Code Inspections (#282).
  • Navigating to a deleted code module no longer crashes Code Explorer (#279).
  • Multiple identically named projects no longer crashes Code Explorer navigation (#280) - navigating may not activate the expected module though, but then there's only so much we can do: best solution is to actually name your VBA projects.
  • Various bug fixes with Extract Method refactoring (#275, #276).
  • TODO Explorer is no longer loaded empty when there are TODO items to be displayed (#285).

Click Here for a complete list of bugs fixed in this release.

Version 1.2 (32-bit Office)

04 Mar 20:57
Compare
Choose a tag to compare

(We are currently working on getting a 64-bit Office build up)

Installation & Upgrading

  • Just download and run the setup.exe. There's no longer a need to uninstall previous version of Rubberduck prior to upgrading.
  • The installer should no longer overwrite the rubberduck.config file. However, we still recommend backing the file up prior to upgrading. It can be found in C:\Users\[username]\AppData\Roaming\Rubberduck\rubberduck.config.

New Features

Enhancements

  • Swapped out our home brewed parser for one powered by ANTLR.
  • Enabled late binding of the AssertClass. #114
  • The ToDo Explorer is now sortable (yay!). #161
  • Better and more consistent UX. #171, #183, #195, #269

Bug Fixes

  • #169 Fixed an issue that was causing dockable windows to crash and burn.
  • #199 Running anything other than "All Tests" failed to update the Unit Testing window. Works great now.

Version 1.2 Pre-Release 2

25 Feb 17:08
Compare
Choose a tag to compare
Pre-release

There's no longer a need to uninstall prior to upgrading.
The installer also no longer overwrites the rubberduck.config file, but we recommend backing it up anyway.

Version 1.2 Pre-Release

25 Feb 12:47
Compare
Choose a tag to compare
Pre-release
v1.2-pre.1

Version 1.2 pre-release build

v1.1

19 Jan 12:52
Compare
Choose a tag to compare

Installation

  • Previous versions of Rubberduck need to be un-installed prior to installing the latest release.
  • Be sure to back up the rubberduck.config file in the \AppData\Roaming\Rubberduck\ directory prior to installation.
  • If you had one of the v1.01-alpha releases installed, the configuration file will be broken. The easiest thing to do is let Rubberduck repair it with a default configuration then restore your settings manually. Either through the GUI or by manually editing the XML file.

New Features

  • #101 - Added Unit Testing support for Access and Word in addition to Excel.
  • #9 - No one likes editing XML files by hand. Added GUI for various add in settings.

Code Inspections/Analysis

Rubberduck now has the ability to help you write better/cleaner code by analyzing your code base and alerting you to potential issues. Only a handful have been implemented, but this will be an area of active development.

  • #99 Function Returns An Implicit Variant
  • #58 Use of Obsolete Rem syntax
  • #40 Parameter is Implicitly passed ByRef
  • #15 Use Option Explicit
  • #26 Separate Multiple declarations onto multiple lines
  • #30 Variable type not declared
  • Added Quick Fix option

Enhancements

  • #65 - Better user experience and handling of a bad/missing configuration file. Per #131 a default configuration is used in either case.

Bug Fixes

  • #87 - TestModules are now added correctly.
  • #107 - Comments with trailing colons no longer break the parser.

v1.01-alpha2

10 Dec 22:44
Compare
Choose a tag to compare
v1.01-alpha2 Pre-release
Pre-release

Corrects Issues:

  • #87 - TestModules are now added correctly
  • #101 - Added Support for Access and Word in addition to Excel

Implemented Several Code Inspections

  • #99 Function Returns An Implicit Variant
  • #58 Use of Obsolete Rem syntax
  • #40 Parameter is Implicitly passed ByRef
  • #15 Use Option Explicit
  • Added Quick Fix option

v1.01-alpha

04 Dec 12:28
Compare
Choose a tag to compare
v1.01-alpha Pre-release
Pre-release

Testing some bug fixes and prototypes of some new features.

  • Added prototype for UI for Saving TodoList settings.
  • Added prototype for Code Inspections.
  • Fixed an issue with the parser that was causing issues with refreshing the Code Explorer and Todo List.
  • Miscellaneous bug fixes.

To install this version of the software, you must first uninstall any existing versions of Rubberduck from your machine via the Control Panel.

If you're using the Unit Test functionality, you will also need to update your reference to the *.dll in each of your projects.

Tools>>References>>Uncheck Rubberduck>>Ok
Tools>>References>>Re-Check Rubberduck>>Ok

Initial Release ver 1.0

30 Nov 01:09
Compare
Choose a tag to compare
  • Unit Testing
  • Todo List
  • Code Explorer