What's new in FinalBuilder 6

See also What's new in FinalBuilder 5.

Core Improvements

Windows PowerShell
PowerShell is now supported alongside VBScript and JavaScript as a FinalBuilder scripting language. This means that any action can be extended with PowerShell script events, and it is also possible to create PowerShell based custom actions with ActionStudio.

Action Logging
Action log output is now tagged and color-coded according to Errors, Warnings, Success and Information. It is possible to filter the log display in the IDE according to these output tags (for example, to show only Error & Warning output.)

Hierarchical Logging
Actions now produce hierarchical log output, so related messages are grouped together in the log tree.

FinalBuilder is now faster to start up, and runtime performance has dramatically improved. Live logging performance has also increased markedly over previous versions.

Improved Output Quality
All frequently used actions have been visited and revamped, with a view to improving the quality and usefulness of log output.

Automatic Descriptions
Automatic descriptions for all commonly used actions have been revisited and improved. This make it easy to create a self-documenting build process

Action Output Monitors
The new Action Output Monitor feature allows you to watch for particular patterns of log output from an action. The action's behaviour can be modified depending on the output, or specific messages can be captured or suppressed from the action log.

MSBuild Task
The FinalBuilder MSBuild task now outputs fully formatted MSBuild output, for use with MSBuild Loggers.

Extra Team Foundation Support
Team Foundation support has been improved markedly for this release of FinalBuilder. FinalBuilder projects running inside Team Build now automatically export any MSTest results to the Team Foundation Data Warehouse. Statistics from other testing frameworks (NUnit, MbUnit, etc.) are also submitted to the Data Warehouse, and can be included in Team Foundation Reports such as the Build Quality report.

Visual Studio Team Explorer Integration
FinalBuilder now comes with an addin for Visual Studio 2008 Team Explorer. New Team Build definitions can be added which automatically use FinalBuilder as the build engine. There is also a new graphical Build Definition editor, integrated with Team Explorer. It is no longer necessary to edit the XML build definition file in order to add, edit and remove FinalBuilder projects.

Error Dialog Monitor
This new feature allows you to monitor a third party application for error dialogs popped up while running an action. Dialogs can be automatically dismissed, as appropriate. This is useful when working with poorly-written third party tools that display dialogs when running in an automated mode.

New user info file
The various user-specific .fbd,.fbw,.fbp files used in previous versions have been converted into one common .fbpinf file, with all user-specific data for the project. This file also contains information on the current layout of the project tree, which makes the project file more version-control friendly.

IDE Improvements

IDE Action Types and Options Filter
The IDE Action Types view has been heavily revamped with a new, smarter, search system. This makes it easier to find the action that you're looking for. The same new view has been added to the Options dialog.

IDE Welcome Page
The new Welcome Page provides quick and easy startup, introductory information, and quick navigation to commonly used starting points.

IDE Reorganization
The layout of the Run Status and Build History tabs have been rearranged for improved usability and performance. It is now possible to watch the Run Status and the project layout at the same time.

Live Logging Improvements
Enabling live logging while the build is running now shows any existing output from the current running action.

SCC Checkin Comment [Professional Only]
FinalBuilder now provides a checkin comment dialog if the SCC Source Control plugin does not provide one.

Action validation errors are now hyperlinks to the source of the failure (action or option pages.)

Easy Scripting of Action Properties
Selecting any action property in the Properties tab (formerly called the Action Inspector) now automatically displays the fragment of script used to access that property from an action script event.

Project Author and Notes
The Project Tree has new fields for project author and any notes about the project.  These fields are displayed in the Project Information node, as well as on the Welcome Page in the recent projects section.

Project Information in Project Tree
The Project Tree now includes a project information node that provides detailed information about the current project.  The information exposed is: Project Name, Project Path, Created Date, Modified Date, Successful Builds, Failed Builds, Total Builds, Success Ratio (expressed as a percentage), Last Build Date, Last Build Result, Action List Count, Action Count, SCC provider, Log File Size, Project Author, and Project Notes. 

Variable Groups
Variables can now be grouped for easier management.

Variable Suggestion
Press F12 while editing any action property field to automatically see a list of suggested variables to substitute for hard-coded strings. This feature makes it much easier to create a robust and maintainable build process.

Global Script Editor Enhancements
Find and Replace has been added to the Global Script Editor as well as many other usability enhancements like better resizing of the window, works with dual monitor setups better, and if no changes are made to the script then Escape and Cancel will close the window without prompting.

Batch Project Upgrade
For FinalBuilder users that have dozens or even hundreds of projects in older formats, the new batch project upgrade dialog will enable you to upgrade old projects automatically.

New Actions

CSV Field Iterator
Iterate the fields of a CSV (or similar) file.

GUI Automation Actions [Professional Only]
GUI Automation Actions (as seen in Automise 2) allow automated interaction with the user interface of any normal Windows application.  The new actions are "Wait for Window or Control", "Perform Mouse Click", "Send Keyboard Input" and "Set Scrollbar Position".

MbUnit Action
Support for the MbUnit test framework.

Visual Studio Solution File Iterator
Iterate the projects contained inside a Microsoft Visual Studio.NET solution file. The iterator can use the project file paths, project names, or project IDs.

Web Service Actions
New actions for querying and receiving data from Web Services.

Team Foundation Build Parameters Action
When FinalBuilder is running under Team Foundation Build, this action provides an easy way to read Team Build parameters into FinalBuilder variables, as required.

Improved Actions

Export Log Action
Can now export a log fragment instead of a whole log.

MSBuild Project Action
The MSBuild Project Action now has enhanced design-time support, and supports fully hierarchical log output.


Custom Action Property Sets
Custom actions defined in ActionStudio can now define their own Property Set types. It is also possible for custom actions to access built-in Property Set types.

Custom Action File Sets
Custom actions defined in ActionStudio can now access File Set information and file lists.

New .NET Custom Action API
FinalBuilder 6 ships with a new API for creating .NET custom actions. The new API makes it quicker and easier than ever to create custom actions with ActionStudio and .NET

Find & Replace
Find & Replace has been added to ActionStudio in the script editor to easily search for and replace text.

Windows PowerShell
PowerShell has been added to ActionStudio as a scripting language for developing custom actions.

Search Keywords
Actions can now define extra search keywords which is used by the FinalBuilder IDE when a user searches for actions.  For example, a action called "Delay" could define keywords "Wait" and "Pause" for easier searching.

Iterator Actions
A third type of action, Iterator has been added alongside Standard and Execute Program.  The Iterator action type allows the development of Iterator actions that run multiple times (including their child actions) for each value in a list.