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:

Other changes:

  • All URLs to 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!

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, and we will reset your password for you.

Try out LDAP!

Back when we were developing The Bug Genie 3.1, we promised LDAP support. Sadly we were not able to include it with the final release of 3.1, but the good news is that a testing version of The Bug Genie 3 is now out, with LDAP support included. This is release number 3.1.4, and a beta is available to download today, though we recommend you read the release announcement first (download link included).

On top of LDAP support, this fixed a few other issues with the mailing module (looking at you, guys who wanted delayed mailing!), as well as a few regressions from 3.1.3.

Read on for some important notes and some preliminary documentation. Continue reading “Try out LDAP!”

Non-apache love

As a small heads up for those of you who don’t use Apache, I’d like to bring your attention to our library of rewrite rules. We are often asked by users for help setting up URL Rewriting (which The Bug Genie 3 requires) with their server, and this post is there to point out what documentation we have.

Just right now, documentation for IIS 7 and later was added, meaning we now cover the most popular platforms. However are work is not yet done, with documentation for IIS 6 still unwritten (IIS 6 docs now out!), and apparently issues with the nginx one; on top of no doubt other servers that you wonderful users want to use The Bug Genie on (let us know if there is one you need!) Regardless, we currently support:

  • Apache (auto-generated by the installer)
  • IIS 6 (Windows Server 2003 and 2003 R2)
  • IIS 7 and later (so Vista/WS2008 and Windows 7/WS2008R2)
  • Nginx
  • Lighttpd

Further documentation, as well as the above (except Apache) can always be found in the Recipes section of our documentation.

Another permissions-related release

It seems we missed a little detail with the permissions cleanup starting in 3.1.1. The permissions fixes applied there were meant to make all of.your lives a bit easier, but has instead ended up giving some of you a massive headache. We apologize.

We’re releasing 3.1.3 later this weekend to resolve a permissions issue making installations running in restrictive mode not so restrictive after all. This bug gave project access to people not supposed to see certain projects, and subsequently project wiki and project issue access as well.

This, obviously, can be a bit of a hassle when you’re upgrading to a minor release. We’re a small team, but bugs like this should never occur. For those of you unable to wait for the release, pull in this git commit for the fix:

Let us know if you want to help out making thebuggenie rock even more in the future!

More database encoding (or: how not to have fun with UTF-8)

zegenie posted a short while ago regarding encoding trouble with The Bug Genie, especially those of you who use Greek or Russian alphabets. The good news is we have made some progress on this topic!

The root of the problem is to do with how The Bug Genie connects to the database. Each component has different encoding:

  • Database: whatever you created it as (probably latin1)
  • Tables and columns: UTF-8 (we create them as that)
  • The connection itself: could be anything

The last of these is the crux of the problem. On my system (as I am from Britain), the connection is latin1. This is fine for me, as I don’t need any unicode characters. However, for those of you who do, this means that unicode data is inserted into a unicode table, but is converted to something else (such as latin1) in the process.

The net result is that it will look right on the screen, but in the database it is garbage. This is fine up to the point where you start trying to do stuff with it, as there is a potential for problems to occur with JSON and other unicode-specific things, as what is in the database is not unicode (it is infact latin1 or whatever)!

An example of this is to copy some Russian text into both the Title and Issue Description fields. It will appear correctly in the Issue Description but not in the Title (it will claim it is empty).

This is easily fixed by setting the connection to use UTF-8, by placing this call on line 539 of core/B2DB/classes/B2DB.class.php:

self::getDBLink()->query('SET NAMES UTF8');

Now, all unicode data will be stored correctly in the database. However, this now results in another problem!

Any mangled Unicode data stored in the database as latin1 will be outputted as stored in the database (as no conversion is going on). This means that the mangled text in the database will be rendered to the screen. Luckily this is easily resolved by outputting a dump of the database in a latin1 connection, and then reimporting in a utf-8 connection (the nice Unicode output is obtained on the latin1 export, not the mangle that you get if you exported as UTF-8). The following code will do this, but don’t do this unless you put in the above code change:

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

We will be continuing to work on these encoding issues for The Bug Genie 3.2.

LDAP authentication to be released as a separate plugin

Just a little quick note to let you know that we’ve decided to postpone the release of the LDAP authentication module. With a small team of developers, we simply don’t have the manpower to get it finished, and 3.1 needs to be released 😉 We’re still leaving all the work done on the authentication backend in with the 3.1 release – and as soon as the LDAP module is finished, it will be released on our plugins section.

Look out for an RC soon!

New in 3.1: LDAP Authentication

Edit: LDAP is taking a little longer than we were expecting, but we want to get it done right and proper. Therefore we have decided to release Beta 2 without functioning LDAP support. The interface is there so you can see how it looks, but do not set your authentication method to LDAP as you will be locked out. When we have a functioning addon, we will let you know here on the blog!

As mentioned in  a previous post, thanks to the hard work of crazedfred and xaver in the Live Chat service, we are currently implementing support for authentication against LDAP (which includes Microsoft Active Directory). The reason we have delayed Beta 2 is because we really want to have something you can play with in the LDAP department, and within a day or two we will have support for logging in implemented. Continue reading “New in 3.1: LDAP Authentication”

Next beta: Monday!

Hi again 🙂

The last two weeks have been filled with exciting activity in our development branch. Several users have stuck with us to provide us with excellent feedback, which have made us put some extra effort into the second beta release. We don’t want to rush it, as beta 1 was just too unstable for our liking, with several bugs in basic functionality that should’ve been uncovered before the beta 1 release.

In addition to doing a ton of bugfixing on the existing code – much more that we would have imagined from our initial beta 1 release – we’ve also squeezed in several new features. This makes the 3.1 release shape up to be a much bigger feature release than initially intended. This isn’t the reason the next beta have been delayed – some of the bugs we’ve fixed have been quite persistent and hard to track down, so instead of doing nothing while waiting for other team members to land bugfixes, the rest of the team have been hard at work adding stuff instead.

New, improved or added since beta 1 is:

  • LDAP authentication backend
    The Bug Genie has always supported alternate authentication backend via its plugin architecture. Version 3.1 now ships with a working LDAP authentication plugin to provide you with both an example implementation of an alternate backend for authentication and also added functionality! More details about this plugin in a separate blog post.
  • Much improved multi-platform support
    The Bug Genie supports several server platforms by default, including other web server platforms like nginx, as well as database backends such as postgresql and mysql. Version 3.1 has seen much improved support for both nginx (via improved documentation) and postgres with several bugfixes for common scenarios.
  • Wiki search
    We’ve also added wiki search functionality. This lets you search for wiki articles both via the quicksearch field, the wiki menu dropdown, and a separate wiki searchpage. This will give you a lot more overview and control over your project (and global) wiki, and is the first step towards greatly improving the wiki functionality.
  • MarkItUp for improved wiki editing usability
    We added MarkItUp – a visual editor addition to writing wiki pages. It gives you shortcuts and buttons to highlight and format text, add links, etc – but does not give you a WYSIWYG editor. Instead, you will learn the syntax in use by The Bug Genie as the MarkItUp editor provides quick shortcuts for The Bug Genie’s MediaWiki-compatible wiki syntax.

There’s quite a few more minor (and major?) features in there between beta 1 and beta 2, and we’re excited for you to find them all. 3.1 will be our best release ever, and we can’t wait for you to join in on the fun.

The next beta release will be available this Monday (2nd May), delayed two days from the updated release plan (originally scheduled for 30th April). We’re sorry for this minor delay, but rest assured the time has been well spent.