Reporting bugs and making feature requests

If you think you have found a bug in Xojo or have a feature request, please report it. You can do so one of four ways:

  • Choose Help > Feature Requests & Bug Reports

  • Click the Feedback button in the Xojo toolbar

  • Go directly to the Issues website

  • Create a new issue directly

In all cases your browser will take you to Issues, the system we use to track these reports. It's designed to gather all the necessary information that helps us track down bugs and implement feature requests.

For each bug or feature request reported (called an issue), you will receive a confirmation message via email with the issue number. You will also receive an email when the issue changes because new information was added or its status has changed.

Searching

There's some chance that your bug report or feature request has already been entered by another user. With this in mind, it's best to do some searching first before creating a new issue because more information helps everyone and the popularity of a bug report or feature request helps the Xojo team prioritize.

To search, click in the Search field near the top of the page, enter a few keywords and press Return. You can also use the Search field to build a search criteria to help you narrow down your search.

If you know the issue number, in the Search field, type # followed by the issue number and press Return.

Tip

If you don't immediately find what you're looking for, try using different keywords or phrases as another user may have created the same issue but just phrased it somewhat differently.

To find issues you have created, click in the Search field, select Author from the popup menu, choose = from the next popup menu that appears then click on your Xojo username and press RETURN. You can also use this to search for issues authored by other users by choosing their Xojo username from the list.

Creating a new issue

To create a new issue, click the New Issue button. You can then enter a Title and Description of your issue and attach any relevant files such as screenshots and projects. As you enter the title, any existing issues that match your keywords will appear. You can then click on the title of any of these issues to review them. If you find your issue has indeed already been reported, comment on that issue rather than create a new one.

Tip

If your issue or attached files contain information that you do not wish to be available to the public, make sure to click the Confidential check box. If the issue itself is not confidential but a particular file you wish to include is, create the issue first then go back and add a comment, adding your file to the comment and marking that comment as confidential.

Subscribing to an issue

When you create or comment on an issue, you are automatically subscribed to it. This means you will be notified when new information is added or the status changes. If you'd like to subscribe to an issue you haven't created or commented on, click on the issue then click the Notifications switch on the right side panel near the bottom.

If you prefer not to be notified about an issue you created or commented on, you can turn off notifications for that particular issue. If you prefer not to be notified about any issues permanently or temporarily, you can turn off notifications for all issues. To do this:

  1. Click on your avatar in the upper-right corner.

  2. Choose Preferences from the menu.

  3. Click on Preferences in the left-hand panel.

  4. Change the Global Notification Level popup menu from Participate to Disabled or one of the other settings.

To receive your notifications at a different email address, change the Notification Email on that same Notifications page in Preferences.

Adding information to an existing issue

You can add additional information to any issue, even one you did not create. To do so, click on the issue to open it then scroll to the bottom of the page. There you can enter additional text, attachments and specify whether or not your comment is confidential.

Tip

To refer to another issue, type # followed by the issue number. If you don't know the issue number, type a keyword from the title. Search results will then be displayed. If you see the issue you're looking for, click on it to insert its issue number.

To add private information to an issue (including attachments such as project files), make sure to make your comment confidential.

Code formatting

In the issue description and comments, you can format code snippets by using Markdown.

To format code in-line (in the middle of a sentence for example), you can surround it with back ticks.

To format several lines of code, you can either (a) start the first line with 3 back ticks and make the last line 3 back ticks or (b) indent all lines by 3 or more spaces.

Issue status

At any time, an issue is either open or closed. An open issue is one that has not yet reached a resolution. A closed issue is one that has been resolved.

There are other sub-statuses an issue may be in while open or closed. They are:

Status

Description

Needs Review

The issue has not yet been assessed by the Xojo team.

Fixed

This issue is a bug which has been fixed.

Implemented

This issue is a feature request and the work on it has been completed.

Information Required

The case is waiting for additional information from the author.

Archived

The case has had no activity in the last 2 years.

You may also see other labels attached to an issue that indicate what is known about it. For example:

Status

Description

Android

This issue occurs on or is related to Android.

Beta Bug

A feature that is not yet in a shipping release is not functioning as designed.

Bug

Something that is not functioning as designed.

Compiler

The issue involves the Xojo compiler.

Crash

A function is causing a crash, failed assertion or unhandled exception.

Documentation

The issue involves the Xojo documentation.

Examples

The issue involves a Xojo example project.

Feature Request

A request to add some new functionality.

Framework

The issue involves the Xojo framework.

IDE

The issue involves the Xojo IDE.

iOS

This issue occurs on or is related to iOS or iPadOS.

Linux

This issue occurs on or is related to Linux.

macOS

This issue occurs on or is related to macOS.

Needs Documentation

The issue requires an update to the Xojo documentation.

Needs Review

A member of the Xojo team has not yet reviewed this issue.

Priority

An issue that the Xojo team has identified as requiring immediate attention.

Reproducible

A bug that the Xojo team can reproduce.

Web

This issue occurs on or is related to the Web.

Windows

This issue occurs on or is related to Windows.

Closing an open issue

If you are the original author of an issue you can close it yourself by clicking Close. If you are not the author and believe it should be closed, leave a comment on the issue to let us know why it should be closed. Xojo or the original author can then close it.

Reopening a closed issue

If you are the original author of an issue you can re-open it yourself by clicking Reopen. If you are not the author and want to re-open it, just leave a comment on the issue to let us know that it still affects you and you would like it re-opened. Then either Xojo or the original author will re-open it for you.

Milestones

Many issues will be assigned a milestone. Milestones are typically (though not always) the release in which the issue is most likely to appear. However, this sometimes doesn't happen because the work wasn't completed in time or was later determined to not be complete. In other words, do not depend on an issue to ship in the milestone to which it has been assigned.

Assignees

Issues are assigned to various members of the Xojo team. While the commenting feature allows you to cc others, please note that anyone who is a participant on the issue will be notified anytime a comment is made so there's rarely a need to cc another person. The cc feature of commenting should be used only when you wish to bring the comment or issue to the attention of someone who is not already a participant.

Voting on issues

If there's an issue you feel needs more attention than others, you can click the thumbs up button to upvote it. Conversely, if you feel there's an issue that should get less attention that others, you can downvote it. Be aware that the more you upvote issues, the less your votes matter. The same is true of downvoting issues though upvoting and downvoting have independent impact. In other words, upvoting several issues doesn't change the impact you have when you down vote issues and vice-versa.

Tip

To find issues you previously gave a Thumbs Up to, click in the Search field, choose My-Reaction from the pop up menu, choose = then choose the Thumbs Up emoji.

Linking to an issue

To link to a specific issue, use https://www.xojo.com/issue/<issuenumber>.

Bookmarking an issue or search results

To return to a specific issue or set of issues that are the result of as search, you can bookmark the page in your browser and then use the bookmark to return to it at any time.

Creating good issues

It is easy to create issues, but it is not so easy to create good ones.

A good issue is well defined, with (in the case of bugs) reproducible steps and a project that demonstrates the issue (if applicable). Our statistics show that issues with sample projects are fixed faster than cases without sample projects.

It starts with a good summary that describes the issue in as few words as possible. A good summary describes the problem enough that action can be taken. A summary such as "HTMLViewer doesn't work" is insufficient because it's far too broad. Such an issue is likely to require more information from you and slow the process of resolving it. Take your time and write a summary that provides enough detail about the problem you're seeing. A good summary does not propose a solution. For example, "HTMLViewer should use WebKit only" is not a good summary whereas "HTMLViewer should render pages the same on all platforms" is because it describes the problem you are trying to solve.

If an issue is created but cannot be reproduced by the Xojo team, its' status may be changed to Closed or Information Required. In both those situation, you will want to provide additional information if you want it to remain open.

For feature requests, the details should describe the problem you need to solve. Try to limit specific implementation suggestions.

Reporting IDE performance issues

If you are finding that the IDE performs quite slowly under certain specific circumstances, we will need information from you showing the performance issue to be able to determine the problem. This information comes in the form of a file that provides us with a sample of how Xojo is performing on your computer.

Getting an OS sample on Mac

Follow these steps to get a macOS process sample. Get Xojo into a state where its performance is slow:

  1. Open Activity Monitor app (In Application/Utilities).

  2. Select the Xojo process.

  3. Click the gear icon and select Sample Process. Or select View > Sample Process.

  4. This displays the Sample window. It will refresh with sample text.

  5. Click the Save button to save the text to be included in your bug report. You can click the Refresh button to sample again if necessary.

Getting an OS sample on Windows

To gather system profiling information on Windows:

  1. Download the latest release of UIforETW.

  2. Unzip, launch etwpackage\bin\UIforETW.exe, and click "Start Tracing".

  3. Press Ctrl-Win-C after the event in question.

The tool is very low overhead and uses a circular buffer, so it can be kept running all of the time. Depending on system activity, there'll be around 5-500 seconds of data available. The author of the tool has a more in-depth overview on recording ETW traces or, if you want a lot more information, a whole series of blog posts on ETW:

The resulting trace file can be attached to an issue allowing the Xojo team to analyze it to see what is causing the slowdowns.