The Bug Genie 3.1.5 Released
No, we haven’t forgotten about you! We just put out a new bug fix release of The Bug Genie 3.1, which features a number of bug fixes and fixes for the permissions system. Thank you to Daniel Scharrer for his help with fixing a number of issues within the mailing module.
To get this release, just head over to our (still new and shiny) download page!
Security fixes:
- The ‘canvoteonissues’ permission is now obeyed
- Guests are now never able to vote on issues
- Permissions are now obeyed when adding a task or adding a relation to an issue
- The php version number is now never included in X-Mailer
Bug fixes:
- Fixes issue #1091 – Error logging into tracker
- Fixes issue #1047 – Link to User Guide is broken
- VCS Integration now supports scopes properly
- Links and passwords are now set correctly in forgotten password emails
- A number of issues regarding email addresses have now been resolved
Other changes:
- All URLs to thebuggenie.com have now been updated
I’d like to personally apologise on the length of time to get this update out! Future releases will not be delayed as badly as this.
Remember to report bugs to our issue tracker, and if you need any help or have any questions, just ask on the forums!
Version 3.2 beta 4 released!
We’ve released the fourth (and final) beta release of the upcoming 3.2 version on our website. For more information, see the release announcement!
Website refresh
Hey all!
Before we could post the new beta version of our 3.2 release, there were several changes that needed to be made in the website infrastructure to prepare for some of the features we want to add while we polish the beta into a worthy RC. Today we launched the new and polished website, and we hope you find it just as easy to use as before. As you can see, we’ve tried to keep the same structure as before, but also wanted to add more content to several section, such as the new “help” and “community” sections.
Let us know if you find any bugs
Known issue with password recovery
In the latest version of The Bug Genie 3.1, there is a bug with the password recovery feature – emails are set without the password provided. This affects our tracker and any installations you have.
This is a known issue and will be fixed in the next release of The Bug Genie 3.1 – due out after testing.
In the meantime, if you are unable to access your account as you have forgotten your password, please post on the forums or email support@thebuggenie.com, and we will reset your password for you.
Marking threads as solved, and logging in with OpenID – latest forum improvements
We are currently making a few improvements to the forum, which will help make using the forum a better experience.
First of all, marking topics as solved
A feature that is often on support forums is a ‘mark as solved’ function. When your problem is solved, you can let everyone know what post in the thread solved the issue, and this brings many benefits:
- We know a problem is solved, so we don’t have to come back to your thread, making our life easier
- It’s easier for us to see what problems still need solving, saving us time
- Other people with your problem can jump straight to the solution, saving them time
- You can be satisfied that your problem is all wrapped up and done with, giving you more satisfaction
Threads marked as solved get a little green tick wherever they are shown, and clicking this tick jumps straight to the solution.
We have turned this on in our ‘problem-solving’ forums, though we can always add it to more if necessary.
To mark a thread as solved, just click the little tick. Please note that only you and the moderators/administrators can do this, so please be vigilant. The tick is found near the quote button:

And secondly, logging in with OpenID
Having multiple accounts everywhere is a pain. One of the new features in The Bug Genie 3.2 is OpenID support, and it would be a little contradictory if we supported it on our tracker but not the forums! With this in mind, once the theme is fixed, OpenID support will be added to the login page, so you don’t have to create yet another account to make use of the forums.
This is now available! You can link your existing accounts to an OpenID if you want, go to your user control panel and choose Profile.
The Bug Genie 3.2 and UTF
As discussed earlier on this blog, changes in The Bug Genie 3.2 to improve our support of Unicode may result in some data being mangled after upgrading to The Bug Genie 3.2 The technical reasons behind this have been explained before, this post is just to give a brief overview on what happens and how to fix it, for those of you upgrading from previous releases.
Do I need this?
If you use PostgreSQL, or are performing a fresh installation, this is not necessary. In addition, this may not be necessary when you upgrade from a prior release, especially if you do not use special characters.
The fix, if necessary, should be applied as soon as possible after upgrading, do not perform the fix before installing the 3.2 files. You may, if you wish, install the 3.2 files, run the upgrade script, and then explore your installation to see if the fix is necessary – if you see mangled characters in any text field then you will need to apply it. Do not adjust any field before applying the fix, as any new special characters will be destroyed.
If there are only a few to correct, you can always do this by hand, but the fixes below are more efficient if there are many issues.
The problem
We did not correctly handle the connection to the database in The Bug Genie 3.0 and 3.1. This meant there were occasional issues with special characters being mangled or lost in various places, such as fields in an issue. The connection opened to the server was not Unicode, and therefore the data was not stored in a Unicode fashion, leading to problems.
In The Bug Genie 3.2, we do create a proper Unicode connection, meaning the mangled data will now be shown as-is. While there were cases previously where the data was correctly shown, by ensuring the problem is resolved properly now, we avoid potential issues in the future.
The solution
There are two solutions available. If necessary, you should apply one before upgrading, but you can always check afterwards to see if a fix is necessary. You can apply the fix after upgrading as long as you do not add any Unicode characters to the database beforehand, as these will be destroyed by the fix.
If you have command line access to the server:
The following commands will resolve the issue. A database dump is made in the non-UTF format we used to use in The Bug Genie, this is then restored in the correct format. The database is recreated also, to ensure it is in UTF format, so please make sure you have the right permissions. We assume a database called thebuggenie, and a user called root. Change these if necessary.
mysqldump -h localhost --user=root -p --default-character-set=latin1 -c --insert-ignore --skip-set-charset -r dump.sql thebuggenie
mysql --user=root -p --execute="DROP DATABASE thebuggenie; CREATE DATABASE thebuggenie CHARACTER SET utf8 COLLATE utf8_general_ci;"
mysql --user=root --max_allowed_packet=16M -p --default-character-set=utf8 thebuggenie < dump.sql
If you don’t have command line access to server, but you do have phpMyAdmin:
You can also apply the fix using phpMyAdmin. The trick is to change the connection collation, which can be done via box on the front page

This should be set to latin1 when taking the database export (leave the file as UTF-8), then set back to utf8_general_ci when recreating the database and importing. The database collation should be set to utf8_general_ci, and this can be set via box to the right of the database name field:

Please remember to dump just the data of the database, and not the structure and data. This can be done by selecting a choice when exporting, you may have to choose an option ‘Custom – display all possible options’ first.
How The Bug Genie 3.2′s upgrader fixes your timestamps
It’s a well known fact that The Bug Genie’s timezone support doesn’t work right in 3.0 and 3.1. One of the more serious bugs was with how timestamps were stored: they were stored in the timezone of the user who caused the action (i.e. opened the issue), and then adjusted to the timezone of the user viewing the thing which involved at time. Therefore, if you both created and viewed an issue which was opened at 03:00UTC, and your timezone is +3, it would be stored as 06:00, and you would see it opened as 09:00.
The cause of this is fixed in The Bug Genie 3.2, and new timestamps will be stored as UTC, so only your timezone offset is applied. This will fix your timezone problems for new issues, comments and so on, but not for previous ones. This is why the upgrade script gives you the option of fixing your timezones.
How does it work?
The script, if you ask it to, will go through every item in the database which involves a timestamp and will remove the offset coded into the database.
We look at the timezone of the user who caused the action (if he has one set, and it isn’t ‘sys’), and if one can’t be found we use the system timezone instead. Also note, if the guest user made a change, then the system timezone will also be used. If the outcome of this is UTC, then nothing needs to be done as there will be no error.
If, on the other hand, it is not UTC, then some work needs to be done. We can then perform the offset change on that timestamp, and this should in the majority of cases lead to the correct result. The advantage of this way is we catch cases where the user timezone is different to the system timezone.
There may still be some times which are incorrect, for example if either the user or system timezone had ever been something different prior to what it is during the upgrade, or if the user who caused the change cannot be identified (this is the case in the builds and milestones table). There is nothing that can be done in these cases to improve the accuracy, as we are suffering from either a lack of history of timestamp settings or users who performed actions, and so we give the option of disabling this conversion. You can also turn it off if you just want your timestamps left alone.
What will it convert?
Times will be corrected in the following tables:
- articlehistory
- articles
- builds (will be corrected based on system timezone only)
- comments
- editions (will be corrected based on the system timezone only)
- files
- issues (posted, updated and being worked on since times)
- log
- milestones (will be corrected based on system timezone only)
- projects (will be corrected based on the system timezone only)
- vcsintegration
Workflow automation in VCS integration
A much requested feature in VCS integration is the ability to close issues using the commit message. We have (finally) implemented this, but as usual, have decided to go a little bit further. In The Bug Genie 3.2, you will optionally be able to use your commit message to navigate through the issue’s workflow, using only basic syntax.
So how does this work?
You may have noticed that incoming emails allows you to navigate through the workflow. We work in a near identical fashion. The difference is how the message is structured.
In incoming emails, you use a syntax similar to this:
resolve issue resolution=WONTFIX This is my comment ---
The workflow steps and parameters are all on separate rows.
In VCS integration, we don’t have this luxury so we compact everything together:
Fixes issue 1 (resolve issue: resolution=WONTFIX)
Simply place the workflow step in brackets, and if there are parameters for the step, just place them after a ‘: ‘ delimiter. You can also have multiple parameters:
Fixes issue 1 (resolve issue: resolution=WONTFIX status=kittens)
You may also wish to perform multiple transitions at once, this can be done by using a ‘, ‘ delimiter after the parameters. You don’t have to supply parameters either:
Fixes issue 1 (confirm issue, resolve issue: resolution=WONTFIX, reopen issue)
If a workflow step fails, or if it doesn’t exist, you won’t be notified; so while there is no risk of a mistyped commit breaking the commit process, you may want to double check to see if your workflow step was applied.
Similarly to incoming emails, the workflow steps are just as they are in the toolbar when viewing an issue, so there is little to learn.
If you are eager to try this out, this feature will be appearing in our github repository later today. It will also be included in 3.2 beta 3, along with a working module (it has been broken as a result of the database changes).
Website improvements
We had a small amount of maintenance work today, with the main result being that we have now moved to our shiny new VPS.
If you can access the issue tracker and forums again, the move is complete! If no, just wait a little bit for the DNS to update, it may be a bit slow.
The main improvement is everything is a lot faster now, a concern many of you had with our old hosting. In addition to this, the random bursts of inaccessibility should now be gone too. Some more exciting things will be coming soon, too!
If you find anything not working, please do let us know so we can get it all working.
Version 3.2 beta 3
Hey all.
It’s been a really busy last month. As usual when we release beta versions we get a lot of feedback, so apologies to anyone that hasn’t received an answer yet. The next beta (beta 3) of the upcoming 3.2 version has been a bit delayed since we wanted to finish a significant upgrade in our backend code, namely moving to an updated version of our database layer. Now that this has been completed, and the development version is almost 100% back up and running, we’re working hard to get beta 3 out the door.
We’ve traditionally done one new point-release every 6 months and service releases (.x.x) about every month or so. We’re still on target for a 3.2 release approx. 6 months after the 3.1 release, but the current beta release has set us back about a month from the originally estimated date. With a small team like ours, delays are inevitable, but we really are working hard getting this release finished and ready. 3.2 is such an enormous improvement over 3.1 that we really don’t want to hold it back any more than we absolutely have to!
How can you help?
- Fork us. Fork us on github, send patches back as merge requests or ask to be more involved with the team
- Create translations. Translations are very simple to do, and requires no programmer knowledge.
- Share your own patches and tips
- Donate. Money.
Hopefully a new beta can be released before the end of this week, but please bear in mind that we have day jobs, too
Cheers!