Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
115 lines (93 sloc) 5.13 KB



This major release features a complete rewrite of the front-end and back-end code base, and adds several major features such as a brand new API, automatically synchronized run-client settings and a new face using Twitter Bootstrap.

TestSwarm has also incorporated several optimizations for a continous integration workflow where TestSwarm is used with Jenkins and BrowserStack (or similar services) by providing detailed information about the swarm's state through "api.php?action=swarmstate". This new API action lists all supported browsers including how many clients are online for each user agent and if and how many pending runs there are. This makes it easy to then use this information to automatically start or terminate browsers as needed in, for example, using the BrowserStack API and node-browserstack.

The database has remained the same mostly, although there are a few breaking change in some of the relationships and column types. You are recommended to start clean as there is no practical upgrade path. If needed, you could take note of the authentication token of your main account in the "users.auth" column and after re-creating the the accounts on a new 1.0 TestSwarm, manipulate the "users.auth" field in the database to match the old value. Other than that, no data is to be imported from a pre-1.0 database.

Complete list of issues solved in the 1.0.0 milestone:

New features

  • (#82) Refactor front-end skin, implemented Twitter Bootstrap (#145).
  • (#107) Implement browser client settings framework.
  • (#127) Refactor backend with no globals into OOP with Context.
  • (#132) Refactor state/content/logic scripts into Page/Action classes.
  • (#115) Implement API, including various new actions (#105, #116).
  • (#139) Create action for getting current status of the swarm.
  • (#143) Refactor useragent storage and detection.
  • (#150) Expose current TestSwarm version in InfoAction API and in <meta> on Pages.
  • (#146) Add noindex rules.
  • (#149) Create action "projects" for listing all accounts that submit jobs.
  • Implement basic caching for expansive operations in flat files in ./cache/.
  • Implement "debug" mode for the API (format=debug)
  • Implement "debug" mode for Database queries. Disabled by default for performance and security reasons, enable by setting [debug][db_log_queries] = 1 in testswarm.ini.
  • (#142) Implement database update script.
  • (#158) Implement database install script.

User agents

  • (#41) Added Opera Mini.
  • Added Android 1.6.
  • Added Android 2.3.
  • Added iPad 3.2.
  • Added iPad 4.3.
  • Added iPad 5.
  • Added iPhone 3.2.
  • Added Opera Mini 2.
  • Added Palm Web 2.

Bugs fixed

  • (#99) state=getrun should protect against broken/incomplete runs database entries.
  • (#122) state=job inaccessible as GET view for HTML form.
  • (#1) Server/client timezone difference should be accounted for.
  • (#92) Tinder should show current browsers (regression in 0.2.0).
  • (#83) Missing icon for hpwos.
  • (#95) Browsers are wrongly ordered (i.e. IE10 before IE6 instead of after IE9).
  • (#118) Clean up username mess.
  • (#18) Detect database failure early and abort with friendly notice.
  • (#110) User agent matching should prefer start instead of end.
  • (#19) User signup doesnt check for erroneous return result, users not created.
  • AddjobPage has been fixed and can now be used again from the browser.
  • Fixed bug in Signup where it would initiate a session for a username, even if the INSERT query for the users table failed and the username remains unregistered.

Other changes

  • (#121) Update jQuery from 1.3.2 to 1.7.1.
  • config.ini has been renamed to testswarm.ini.
  • (#70) Link to ScoresPage in the site menu.
  • Drop redundant HTML5 attributes
  • Use protocol-relative urls where possible for urls to third-party domains that support both HTTP and HTTPS.
  • Add lang="en" dir="ltr" to <html>.
  • Add debug mode configuration to testswarm.ini.
  • (#141) Old Perl example files in ./scripts/ that were no longer used or maintained have been removed from the repository.
  • (#143) Using phpbrowscap as user agent parser (data from
  • The default cooldown_sleep has been lowered from 15 seconds to 2 seconds. The update rest period between points where there are no new tests is still 30 seconds, however.
  • The HomePage now includes all information from the SwarmstateAction regarding the number of pending jobs for each user agent.
  • The main site navigation now includes the projects list in a dropdown menu. This together with the new ProjectsPage has made individual project pages accessible from the HomePage for the first time.
  • Better error handling if DB is unavailable.

0.2.0 / 2012-03-07

User agents

  • (#97) Added Firefox 8
  • (#97) Added Firefox 9
  • (#101) Added Firefox 10 Beta
  • (#104) Update Firefox 10.
  • (#97) Added Preso 2.10
  • (#102) Added iOS 5 / Mobile Safari.

0.1.0 / 2011-11-22

  • (#94) First tagged version.
Jump to Line
Something went wrong with that request. Please try again.