• Version 2.4 6 September 2018

    Fattoria Palazetta, Field of Sunflowers, Cecina, Tuscany, Italy

    Today we have released version 2.4 of FixMyStreet.

    This release contains a security fix to prevent the potential leak of a user account’s phone number, if you knew their email address; please upgrade your installation as soon as you can, or if that is not possible, please apply commit abcb1f86 to your installation in the meantime. We have also released version 2.3.5 which is identical to 2.3.4 except with this fix applied.

    The front end has removed its input placeholders, for better accessibility; improved the report button in the navigation bar to be more context-aware and allow for easier reporting in the same location; will only show 6 months of reports on the around page by default, to hopefully deal with the issues of too many or too few reports being shown; and removes the need for a separate per-category ajax call by returning all category data up front.

    The admin now trims spaces from search input (at last!), lets you edit a category group, and has a ‘send login email’ button on a user’s edit page, so you don’t have to ask them to do it themselves.

    Bugfixes include an issue with the category filter if a category contained a comma, fixing duplicate category display on Your Account page, and making sure the Home link on mobile is always clickable. Staff workflows had various fixes as well, such as inspectors being able to unset priority, seeing all fixed issues with the map page filter, and fixing the pin dragging.

    For developers, there are new hooks for e.g. custom search results, extra login conditions, and changing the details placeholder; a new /_dev/ URL (accessible to superusers) for previewing confirmation/submission pages; and the client can set bodis a repot must not be sent to (e.g. if asset selection means it has that knowledge).

    Full changelog

  • Version 2.3.4 7 June 2018

    A very quick release, only a day after 2.3.3, but version 2.3.4 fixes a bug introduced in 2.3.3 as part of the fix for selecting pins on mobile; whilst that was fixed, the fix then prevented pins being selected on non-/around pages, whoops.

    Full changelog

  • Version 2.3.3 6 June 2018

    Today we have released version 2.3.3 of FixMyStreet.

    This fixes a few bugs found in the past week of the last release, including one potential data leak. It was possible to obtain from a crafted URL the textual content of an update, and the name of the user who left that update (only if they had made the update non-anonymously), even if that update was unconfirmed or hidden. No other details of the update or user were made available.

    Other fixes include incorrect behaviour when selecting report pins on mobile, bad admin navigation links in multi-language installs, and an issue with the map display when an inspector clicked back from a report page on mobile.

    Full changelog

  • Version 2.3.2 31 May 2018

    London Loop Section 3

    Today we have released version 2.3.2 of FixMyStreet.

    This is a minor release, but one with quite a number of bug fixes and other smaller front end and admin improvements.

    The questionnaire process has been improved, with “Don’t know” now an option in the email, and recording the answer as soon as the link is clicked. Smaller front end fixes include increasing the size of “sub map links” (hide pins, permalink, etc), clicking the “Click map” instruction banner now begins a new report, and improved cursor/display of the new report pin.

    Front end bug fixes include improving chart display in old IE versions, a CSS padding bug in the sidebar “drawer”, a race condition when making a new report quickly, some small RTL text display issues, and making sure the loading spinner is always shown when it should be.

    We now store a user’s creation and last active times, and have provided scripts so you can use tis new information to anonymize inactive users or reports, email inactive users, and/or close reports to new updates.

    At long last, the contents of a report’s extra field is now fully displayed in the admin.

    Open311 has had a number of improvements and bug fixes – we can now fetch problems over Open311, send multiple photos via an Open311 extension, and have the ability to have automated attributes that can be filled in but not shown to the user (e.g. asset IDs).

    For development, we’ve added an HTML email previewer at /dev/_email/ which our designers love, added some Cypress browser-based testing so that some of our JavaScript is also tested, and upgraded our Vagrantfile to use Ubuntu Xenial.

    Full changelog

  • Version 2.3.1 12 February 2018

    Keep Behind This Line

    Today we have released version 2.3.1 of FixMyStreet.

    This is a minor release, with a number of bug fixes but also a number of smaller front end and admin improvements.

    The site should be clearer when things are loading now, be that on initial page load or when an asset layer is incoming. Our phone number library has been updated, so national phone numbers should be displayed in a nicer format as long as you’ve set the PHONE_COUNTRY variable.

    FixMyStreet now asks for the current password (or sends an email) on password change, sets a minimum password length and checks against a list of commons passwords. Superusers can have optional two-factor authentication to protect their accounts.

    We fixed an error in sending requires_inspection reports, issues with multiple select-multiples on a page, a questionnaire CSS snafu, showing deleted bodies in the dashboard list, alongside other minor bugfixes.

    For staff users, ‘report as another user’ now allows phone number without email, and the inspector form shows any extra fields again.

    Admins can now anonymize/hide all a user’s reports, log a user out, or remove a user’s account details. We’ve provided a script to expire old sessions in the database (plus this script can be run with --init to set up the database for the new “log a user out” feature).

    Full changelog

  • Version 2.3 18 December 2017


    Today we have released version 2.3 of FixMyStreet.

    The major new feature in this release is adding confirmation by phone text instead of email, via Twilio, to allow optional verification of reports and updates, and logging in.

    Alongside that, there have been numerous front end improvements and bugfixes. Front end improvements include paginating reports everywhere, making sure all maps can be expanded on mobile, the pin loading indicator no longer covering the whole map whilst pins are loading, and improved location disambiguation on small screens.

    Some effort has gone into improving performance of various pages, especially the front page, reducing the amount of JavaScript loaded, replacing our image sprite with more SVG assets, and switching to modern prefetch. goes a step further by inlining critical CSS on the front page so no external requests are needed to show the start of the site. You can read more about this process on the mySociety blog.

    We now support Open311 category groups, and if we fetch updates via Open311, we can use auto-response templates to fill in updates without their own description.

    Lastly, the dashboard and statistics have been streamlined and improved, and are all now available under /dashboard. This now includes lookup by date range, ward, category or state, and the CSV export uses machine-readable dates and is accessible via token-based authentication.


    The number of updates on hit a million! So we made sure large numbers don’t overflow on the homepage. Also, multiple ‘Expand map’ links should no longer trouble your maps on mobile; with JavaScript off, the pins should no longer be double the size they’re meant to be; and also some bad interaction between the list filters and the back button has been fixed.

    Staff users got a number of bugfixes to their interfaces, including making sure reports could always be removed from your shortlist (even if they’ve switched body), only creating one update when changing category, and making sure the text-only contacts output was indeed text, not HTML.

    Full changelog

  • Version 2.2 14 September 2017


    Today we have released version 2.2 of FixMyStreet, with some new features, some bugfixes, and other improvements.

    • At long last, body and category names can be translated in the admin interface, letting you easily run sites in multiple languages without having to perform various amounts of custom work;

    • Report states can now be edited (and translated) in the admin interface, if you wish to have different options for the specific workflow of your site. If you want to have a closed state of “object removed”, now you can;

    • Also through the admin interface you can now add extra fields to be shown in the reporting form, letting you ask custom questions for your installation without needing to edit any code or templates.

    All the above improvements were funded by NDI as part of their FixMyCommunity project; thanks very much to them.

    Staff users can now create reports on behalf of people anonymously, and have more filters on report list pages; new configuration options allow you to limit your site to logged-in users only, or prevent new users from using the site.

    The email alerts page has had some work to improve its clarity, and some work has gone into improving the performance of various pages. Some deep diving into SQL queries led to some notable cases where things could be sped up, and we also found one place (listing nearby duplicate reports for staff users) where the database was being queried at a radius of 1000km, rather than 1km :)

    One notable bugfix is if you logged in during the reporting process, or had a server side error, your photo thumbnails weren’t being redisplayed correctly (though the photo itself was stored fine) due to change in the image library we use – everything should now be okay.

    Lastly, if you’re developing on the code, we have added a debug toolbar (similar to the Django Debug Toolbar, if you’re familiar with that) which lets you see which templates have been used, what SQL queries have been made, what external requests, and so on. This is automatically enabled when you run the development server.

    Full changelog

  • Version 2.1.1 3 August 2017


    Today we have released version 2.1.1 of FixMyStreet, a bugfix release with a few small improvements.

    The map in HTML emails is now a link through to the report page, and we’ve fixed a bug causing the wrong pin size to be shown there. We’ve also fixed a bug that could cause a different language from the requested one to be shown on about pages.

    Admin improvements include resending reports if changing the category has changed the send_method and displaying the reporter’s phone number on the inspector form. Text deleted during moderation is no longer replaced with [...].

    Full changelog

  • Version 2.1 18 July 2017


    Today we have released version 2.1 of FixMyStreet, with some new features and a variety of improvements for users and reusers.

    New features include allowing users to hide their own name on reports/updates, and a new graph-based /reports page, which you can see in operation on our main UK site. We also now resize photos client-side before uploading, given the increase in very large images these days.

    Admin improvements include adding an ‘inactive’ state to categories, so you can prevent a category being used for new reports but still have it available in filters, various improvements to the inspect form and the new report process for inspectors, and an easier way for inspectors to shortlist all reports in their view.

    Geolocation is back on the alert page, lost sometime last year, and some random blank spaces are no longer clickable, hooray!

    Development-wise, FixMyStreet now supports Debian stretch and perl 5.24, badly configured SMTP options should now be spotted, and we have refactored and simplified the CSS used for header/content/navigation. This may mean you can simplify overrides in your cobrand. If you wish to have a static front page rather than the normal report page, that’s now possible by creating an about/homepage.html template in your cobrand, and cobrands can now easily change the new report pin colour.

    The test suite now runs each file in a transaction which means it can be run in parallel and sped up dramatically; on the other hand, on Travis we added code coverage which slowed it down again.

    Two backwards incompatible changes that may require changes to your own templates if you have customised them:

    • The nav-wrapper-2 class has been removed. If you have a custom footer template, replace that class with ‘container’.

    • The /reports page now uses different generated data. If you have a custom reports/index.html template and wish to keep it, you may need to call update-all-reports with a --table argument to generate the old style data.

    Full changelog

  • Version 2.0.4 13 April 2017


    Today we have released version 2.0.4 of FixMyStreet, a bugfix release along with a couple of other improvements.

    The bugfixes are updating our Facebook library so that Facebook login works again, stopping an error if you had a devolved body and its contact both lacking a send method, and an issue in the multi-select front end if you had characters such as brackets in your category name.

    Strangely, while the backend has always allowed multiple email addresses for a contact, separated by commas, the admin interface hasn’t allowed them to be entered - this has now been corrected.

    Lastly, body pages under /reports will now limit the reports shown to those within the visible map, which should make moving and zooming around much more intuitive.

    Full changelog