Version 3.5

  • A new report type, Batch Report, is now available. A batch report allows you to combine multiple reports in to a single output file in CSV, TXT, PDF, or XLSX formats.

  • Another new report type, SQL Passthrough, is also available for advanced users. A SQL Passthrough report allows you to build a report by entering a SQL Statement, then executes that SQL Statement against your database. The resulting report will have a report field that corresponds to each column in the data set retrieved from the database.

User Interface

  • Tags in the Tags dialog now show a count indicating how many reports each tag is assigned to.

  • Access to Tags can now be controlled by setting permissions for them.

  • Access to dashboards can also now be controlled by setting permissions for them.

  • You can now specify a custom prompt for ask-at-runtime filter conditions. For example, if you have a filter condition on a field called "Year", the default caption for the ask-at-runtime prompt is "Year equals". However, you can now customize this to "Enter a year".

  • Several performance improvements have been made to the initial login process.

  • The automatic values retrieval that occurs when entering a value for a filter condition may now be turned off by the developer to improve performance.

  • When retrieving the values for a field, the resulting list is now sorted.

  • Improvements were made in how error messages are displayed when they occur while running a report.

  • You can now specify a Stonefield Query role as an email recipient. When you do so, each user in that role with a defined email address will receive a copy of the email.

  • When entering email addresses for a scheduled task, a quick pick list now appears showing previously entered email addresses and the available role values that can be specified. Previously entered email addresses that have been saved can be managed in the Options dialog.

  • A conditional format now has the option to "Use default value" for each of the background and foreground colors.

  • When exporting a report, if there's already a report selected in the Reports Explorer, that same report is the default selection when exporting.

  • The interface for the Setup dialog has been improved.

  • Most sections of the application (Report wizards, Formulas, Options, Schedules, Security, and Tags) now have footers to make them more consistent.

  • When removing users and roles in the security dialog , you are now prompted to confirm the removal to prevent accidental deletions.

  • Several user interface improvements were made to the layout step (Step 5) of the report wizards. In many cases, options now have shorter headings so more settings are visible without needing to scroll. More detailed descriptions of each option are still available as tooltips. The buttons available in step 5 have been moved to a better location.

Quick Reports

  • The layout of column headers when the corresponding fields are wrapped to the next line was improved.

Cross-tab Reports and Charts

  • Charts that specify a series field now have better tooltips.

  • The width of a CrossTab report field can now be defined manually (the default setting is Autofit like it is in Quick reports).

  • You can now specify an alignment value for fields in the column of a CrossTab report.

  • You can now turn on "Each unique value for this field starts on new page" for row fields in a CrossTab report.

  • You can now specify the range of values for a chart axis.

  • The values in the chart legend (when visible) are now separated from the category with a hyphen to improve readability.

Export Options

  • You can specify any character you like to use as a separator when outputting to CSV format.

  • You can now upload a report to FTP from a scheduled task.

  • The "Hide nulls" setting is now also supported when exporting a CrossTab report to Excel formats.


  • You can now remove the column header object from a template, and reports that use that template won't display column headers.


  • When outputting a report with embedded subreports to data-based output types, the subreport contents now appear in the output.

  • When a report used as a subreport has ask-at-runtime filter conditions added, you no longer need to remove and re-add the subreport from any parent reports that use it in order to set up the new parameter.


  • A new function, Split, is now available. This function splits up a string into subsections by a defined separator character and returns the subsection corresponding to the passed-in numeric value.

  • If a formula expression divides by 0, a specific error indicating this problem is now displayed.

  • All built-in functions can now accept arguments with null values.

  • Formula fields now have better support for working with dynamic fields in the data dictionary.

  • Grouping formulas with ask-at-runtime filter conditions now prompt for new values when a report that uses the formula is run.

  • You can now use the new constant NewLine to add a carriage return to the expression of a formula.

Other New Features

  • When testing connection strings and DSNs from Setup, more detailed error information is now retrieved from the server if there's a problem.

  • Cancelling a report now frees up system resources more quickly.

  • More complex custom SQL Statements are now supported.

  • You can now create schedules with a / character in the name.

  • When entering a custom SQL statement for a report, you can enter placeholder "?" characters instead of the parameter values. Then, any ask-at-runtime condition values for the report will be used as the values for those parameters.

  • Date and time values for schedules are now converted between local time and server time in case the web server is in a different time zone than the users.

  • The status display icon for a scheduled task now appears as a yellow warning icon if a schedule hasn't been run yet and as a green gear icon if the schedule is currently running .

  • Access to each individual item in the Tools menu can now be assigned or revoked for specific roles.

  • Support was added for nesting a specific join to ensure that it's evaluated first by the database engine.