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:
Click on your avatar in the upper-right corner.
Choose Preferences from the menu.
Click on Preferences in the left-hand panel.
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.
Viewing the most popular issues
You can sort any list of issues by popularity by clicking the Sort button to the far right of the Search field and choosing Popularity from the popup menu.
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:
Open Activity Monitor app (In Application/Utilities).
Select the Xojo process.
Click the gear icon and select Sample Process. Or select View > Sample Process.
This displays the Sample window. It will refresh with sample text.
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:
Download the latest release of UIforETW.
Unzip, launch etwpackage\bin\UIforETW.exe, and click "Start Tracing".
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.
Posting issue links on the forum
Sometimes it is helpful to post links to your issues for others to see so that they can upvote it or add more information. To do this, navigate to the issue and open it then copy the URL in the browser. You can then paste this link to your forum post.