April 18, 2017
Version 2017.04.17.0 Released

MLDB is the Machine Learning Database. It’s the best way to get machine learning or AI into your applications or personal projects. Head on over to MLDB.ai to try it right now or see Running MLDB for installation details.

We’re happy to announce the immediate availability of MLDB version 2017.04.17.0.

Here are some of the highlights of this release:

New features

  • In addition to shared libraries, MLDB now auto loads javascript and python plugins.
  • Added functions:
  • MLDB now supports azure blob storage through the azureblob:// URI protocol.
  • Added Fast Text support to MLDB classifier’s algorithms. Note that our version of the Fast Text Classifier only supports feature counts, and currently does not support regression. Feature counts refers to a bag of word representation like what is returned by the tokenize() function.
  • Added route POST /redirect/get to give an alternate way to APIs unable to attach a body to GET requests to attain the same functionality through a POST call.
  • Added new parameter ignoreExtraColumns to the import.text procedure to ignore extra columns that weren’t in header instead of failing.
  • classifier.train, classifier.experiment and classifier.test now now support multi-label classification mode.
  • Function reshape now handles row expressions.
  • Function import.word2vec now supports the named parameter.
  • Function fetcher now supports a concurrency limit which is particularly useful to avoid to overwhelm a server with requests.


  • Procedure export.csv automatically flattens structures. For example, if you have a dataset “ds” with column “x” containing a structure ‘{“a” : “foo”}’, a simple export with the query “SELECT x AS x FROM ds” now works and would output the column name as “x.a”. (MLDB-2126)
  • When you create unnamed dataset, functions or procedures, auto generated ids use underscores instead of dashes.
  • Newly trained models with an always null feature will work if they are tested against the same feature having a string value.
  • Enhanced progress report for the transform procedure.


  • Fixed a deadlock occurring when MLDB rest API was exposed to a high number of queries per second.
  • Function fetcher no longer follows http redirects forever, fixing related hanging queries.
  • Function fetcher properly returns the underlying http errors rather than a generic message.