The MariaDB project is pleased to announce the immediate availability of the following new stable (GA) MariaDB versions:

Security Updates

These releases are “bug fix” releases and they include, among other things, fixes for the following security vulnerabilities:

New Packages

MariaDB 5.5.29 includes packages for Fedora 18 “Spherical Cow” and Ubuntu 12.10 “Quantal Quetzal”. Visit the Repository Configurator to generate the necessary commands to easily install MariaDB on these and many other distributions.

We’ve also extended the repository configuration tool to provide instructions for distributions which include MariaDB. We’ve started with Mageia and will be adding others soon.

Discontinued Builds

Along with the news of new package builds is the news that some old distributions will be deprecated. The MariaDB project tries to support as many different operating systems and Linux distributions as possible. However, when a distribution or OS stops receiving upstream security and other updates it becomes difficult to provide packages for that platform. In such cases, our policy is to deprecate that platform and stop building binary packages for it in our build system.

As of 1 Feb 2013, we will stop building and testing packages for the following:

  • Fedora 16 “Verne”
  • Debian 5 “Lenny”
  • Ubuntu 10.10 “Maverick”
  • Ubuntu 11.04 “Natty”

Even after your chosen Linux distribution is deprecated, packages and support are still available. Companies such as SkySQL and Monty Program (among others) provide paid support for all versions of MariaDB and back to even very old MySQL versions. This includes packaged binaries.

More information on our deprecation policy can be found on the MariaDB Deprecation Policy page.

Archived Releases

From the beginning of the MariaDB project in 2009 we’ve kept all of our old releases online via our network of mirrors. Doing this is great for those few who are interested in old releases, but the disk space required to host all of our old releases is over 130 Gigabytes at present and grows by several gigabytes with each new release. This is too much for some of our mirrors to handle. So, starting with this round of releases our primary mirror will only host the most recent few releases in each series (5.5, 10.0, 5.3, and so on). Mirrors are, of course, free to keep archiving every release, but the primary mirror that they pull from will not.

Old releases do have value, so for those that are interested in old releases, we are setting up a simple, no frills, archive server which will host them. Once the server is up and running, links to archived releases on https://downloads.mariadb.org will point at the archive server. During the transition period, links to some old releases may disappear for a short time, but don’t worry, they haven’t been deleted, they’re just being moved!

If you have hundreds of spare gigabytes on a fast connection and would also like to host the complete MariaDB archive, contact us at mirror at mariadb.org and we’ll include a link your mirror from our archive server. (see Mirroring MariaDB for more information about becoming a mirror).

User Feedback plugin

MariaDB includes a User Feedback plugin. This plugin is disabled by default. If enabled, it submits basic, completely anonymous MariaDB usage information. This information is used by the developers to track trends in MariaDB usage to better guide development efforts.

If you would like to help make MariaDB better, please add “feedback=ON” to your my.cnf (my.ini on Windows) file!

See the User Feedback Plugin page for more information.

Quality

The project always strives for quality, but in reality, nothing is
perfect. Please take time to report any issues you encounter at:

http://mariadb.org/jira

We hope you enjoy MariaDB!

The MariaDB Java Client 1.1.0 has been released. You can download it here.

This version focused on fixing all known database metadata bugs and ConnnectorJ incompatibilities. Specific fixes include:

  • Consistent, compatible with ConnectorJ handling of JDBC catalogs vs schemas vs databases
  • Implementation of several missing methods in DatabaseMetaData
  • Better handling of statement timeouts
  • OSGi-specific entries have been added to MANIFEST.MF so it can be used in OSGi environments
  • Added support for dumpQueriesOnException=true in the JDBC URL
  • Added support for IPv6 addresses in the connector
  • Added SSL support
  • and more…

See the Release Notes and Changelog for more information.

See also the About the MariaDB Java Client page in the AskMonty Knowledgebase.

In May of last year I blogged about MariaDB 10.0 for the first time. We received some feedback, digested it, and I further explained MariaDB 10.0. Now, with the first Alpha of MariaDB 10.0 out and a new year just beginning, now is a good time to explain a little bit more, especially about MariaDB 10.0 and MySQL 5.6 as I and others in the MariaDB project get asked a lot about the differences between them.

First, here are some details as to why we didn’t just take MySQL 5.6 as a base and create something that would have been called MariaDB 5.6. These details haven’t been widely shared before:

  1. The file structure of the codebase in MySQL 5.6 has changed. Single code files have been split into several and code has been moved around from one file to another. To merge MariaDB with this new file structure would be a very time consuming job. Why the file structure changed on the MySQL side is something that I don’t know the answer to.
  2. MariaDB 5.5 contains a large amount of code differences from MySQL 5.5 and includes many features that are only now being introduced in MySQL 5.6. In these cases the MySQL and MariaDB versions of the same functionality are compared and both design and QA reviews are done. Obviously, the one that scores better will be in MariaDB. In most cases the decision has been to use the MariaDB version of the feature.
  3. All new code (at least bug fixes) in MySQL does not necessarily have a corresponding test case anymore. When you merge such functionality into other code which differs from the code where the functionality originally resided, test cases are extremely important for evaluating that the functionality works as expected.

Very much in line with the second and third argument above, Stewart Smith from Percona wrote yesterday about the latest security fix in MySQL introducing a regression and how the QA work done in the MariaDB project and the importance of test cases saved him from placing the regression in Percona Server.

MariaDB is not only about being an alternative to MySQL. MariaDB is largely about innovating and improving MySQL technology. MySQL 5.6 was not a suitable base for innovation, so the following happened:

  1. We needed to introduce a new version since we are already in the process of introducing new features like multi-source replication, Cassandra integration, engine independent statistics and many more. Whenever you introduce new features you typically advance to a new major version.
  2. It would have been wrong to call next version “MariaDB 5.6″, because it’s not based on MySQL 5.6. Instead we decided to jump to 10.0.
  3. We know MariaDB needs to implement many of the features introduced in MySQL 5.6 to be a viable alternative to MySQL 5.6 and we have taken a stepped approach in merging or recreating features from MySQL 5.6.

The first major version, MariaDB 10.0 will, for example, include the merged InnoDB, merged Performance Schema, and a new implementation of Global Transaction ID. MariaDB 10.0 is targeted to be GA in the summer.

Our goal with the stepped approach is to eventually have all features of MySQL 5.6 either merged or re-implemented. All re-implemented features will be made compatible with their MySQL versions. In the end, MariaDB 10 should be fully feature compatible with MySQL 5.6 and, of course, on top of that include many extra MariaDB-only features.

The decision to re-implement functionality is very simple. We re-implement if a given implementation in MySQL 5.6 lacks something from our or the users’ point of view. A decision to re-implement is not made in an “I would like to do this”-manner, nor is it influenced by a “not-invented-here” syndrome. Each case is truly evaluated and extensively discussed. You can participate in these discussions and get your voice heard by joining the mailing list maria-developers@lists.launchpad.net at https://launchpad.net/~maria-developers.

Could another route have been chosen? Yes. We could have pulled in the latest version of MySQL 5.6 as a base for a version called MariaDB 5.6 and started patching. It should be kept in mind that MariaDB isn’t a bordered set of patches. Although MariaDB has MySQL as a basis there is a huge amount of engineering on top of it. The MariaDB engineers and QA are working full time on making MySQL technology better inside MariaDB.

There was also another possibility — to become a true fork, stop merging from MySQL, and break compatibility. But we didn’t want to take that path — we and MariaDB users in general do value much of the functionality introduced in MySQL and want it included in MariaDB.

MariaDB 5.5 has been a key part of MariaDB’s increasing popularity and we’re still riding upwards on that wave. More downloads every week, more distributions adopting MariaDB, and more big use cases.

Inside the MariaDB project we’re carefully handling a balancing act of being as easy an alternative to MySQL as possible while also introducing much-needed innovation, and keeping it all realistic as well. Without innovation MariaDB isn’t a product of its own.


Join the joint MariaDB & SkySQL roadshow to hear the latest about MariaDB and talk to us! Find the roadshow schedule and registration here.