Release Notes

Datawrapper Updates

Latest Update:  Oktober 12, 2016

Below is a  list of updates and changes to the software, from the very start to the most recent version.

This is an overview how Datawrapper has evolved so far. For major features listed below we link to tutorials in order to let you use a certain feature right away. 


Datawrapper 1.11.1

• Improved date parsing

Datawrapper 1.11.0

• requires PHP 5.6

• can store chart CSVs and thumbnails on S3

• allow visualizations to define annotate-options

• add UserOrganization-role "owner"

• Self-hosted installations: You need to migrate the database schema, see migration

• re-ordered top navigation bar

• new one-page account settings

Datawrapper 1.10.2

• added support for generic inline editing

• introduced core hooks for plugin install/update/uninstall

• several bug fixes

• added settings-column for organizations to store organization-wide preferences

• Self-hosted installations: You need to migrate the database schema, see commit message

• re-designed tab control and timeline

Datawrapper 1.10.1

• added signup confirmation step

• bug-fixes for label placement in core chart types


Datawrapper 1.10 

We released Datawrapper 1.10 in November 2015 with a number of new features. Before doing that worked extensively on the software core of Datawrapper to set the stage for additional updates of chart types,  other functionalities and improved stability in the backend. 

Computed Columns

The most notable new feature in Datawrapper 1.10 is what we call “computed columns”. Users now can add new columns to a dataset in which the values are being computed using a custom formula, similar to how you would add a new column in Excel. There is a more detailed tutorial how to use this feature to enhance your charts or maps with additional insights. 

Highlighting changes in data table

The spreadsheet component in the second step of Datawrapper makes it easy to edit individual values in your dataset. But how do you keep track of the changes made? As of version 1.10 Datawrapper will highlight the cells that have been changed since upload.

Team owners can self-manage their teams

This feature is relevant for Datawrapper Team users. Now, the users having access to the tool manage their team themselves. Adding existing users into a team or inviting users without Datawrapper accounts is simple and quick. Which means you don't have to ask us to add a colleague to Datawrapper.

Datawrapper 1.9.7

• re-designed mycharts and gallery, now showing more charts in a masonry layout

• fixed client-side snapshots using canvg. works with html and text. creates double-res fullsiye screenshots instead of tiny thumbnails

• made sure that snapshots of complex charts are not generated on client-side, but using the new plugin "snapshot"

• loading js files as utf-8

• re-designed option groups in chart editor

• color changes in color selector popup are now immediately applied to chart

• vis axes can now specify a regex for better auto-matching based on column names

minor css fixes in chart editor

Datawapper 1.9.6

• added hook for when all plugins are loaded

• updated to underscore 1.8.3

• activating gzip compression

• embedding chart data in page instead of loading it every time

• minor bugfixes

Datawrapper 1.9.5

• the chart publish directory can now be configured

• minor bugfixes

Datawrapper 1.9.4

• allow setting of relative chart widths (e.g. 100%)

• reload chart iframe on ctrl-r

• updated marriages dataset

• improved chart thumbnail generation

• removed admin-dashboard from core

always redirecting from /admin to first admin page

• several bugfixes and performance improvements

Datawrapper 1.9.3


• improve SSL support with complex webserver/proxy setups

• showing user names in user admin

• a couple of bugfixes

Datawrapper 1.9.2

• removed 'input format' dropdown in describe step

• updated handsontable to version 0.12.3

• bugfixes

Datawrapper 1.9.1

• bugfixes

Datawrapper 1.9.0

Additional field for notes in charts:

Here is a screenshot how the notes look in a published chart:

Other changes:

• allow adding of notes below charts

• grouping of vis options in chart editor

• load js libs in reverse order of vis inheritance

• bugfixes with cli publishing

• fixed automatic number format guessing

• replaced old dw.js make script with Gruntfile.js

• admin-themes now shows when themes have been last used

• added hook for adding markup below describe step sidebar

• changed syntax to plugin.php download [giturl]


Datawrapper 1.8.2

• bugfix with data table in describe step

• allow hiding of admin controllers in admin menu

• fixed deleting charts

• several minor bug fixes

Datawrapper 1.8.1

• added link to mycharts to account pages menu

• simplified api for alternative signins

• prevent chart previews to be rendered in iframes (optional)

• removed obsolete controller /chart/:chart_id/static

Datawrapper 1.8.0 (December 2014)

Major new features in 1.8

The chart editor got a redesign including a switch of the default font.
In line charts the user can annotate time ranges in the chart.

Also the line chart got a new “custom range” setting that replaces a the existing settings “Extend range to nice ticks” (you can just pick your own axis range!) and “invert y-axis” (simply switch min and max in custom range) .

We added a new default theme for Datawrapper Single users that has no “Created with Datawrapper”.

Under the hood

We made Datawrapper ready for per-user plugin assignments, which is the basis for Datawrapper Single. Note that this change doesn’t affect self-hosted instances in any way: you can use Datawrapper as before.

Simplified plugin development: no need for a complicated plugin class (plugin.php) anymore, instead you can now add a script init.php.

There is a new automake mode (add “automake: true” to your config.yaml) for easier plugin development.

We removed all traces of the old email-based theme restrictions. To restrict a theme to certain users or groups, use products and/or organizations.

Allowed configuration of mail sender

If a plugin gets installed, Datawrapper is trying to autoload the plugin dependencies if the plugin uses composer

We refactored the Datawrapper core CSS using LESS.


Removed fancy toggle-panel footer in default theme. Simple links work, too.

Line charts don’t loose their labels when viewed in less than 400px anymore.

Update notes

We made changes to the database schema: Please execute scripts/migrate/1.8.0.sql after updating the code.

Also we started using  Composer for managing backend dependencies. Please run composer install updating.

• added product system.

• important note: Please run scripts/migrate/1.8.0.sql and composer install after updating.

• removed email-based theme restrictions

• removed plugin export-image from core

• instanciate all plugins first, then run their init() functions

• chart editor redesign

• default theme for organizations

• added support for class-less plugins

• automake mode for easier development

• added twig filter 'css'

• refactored stylesheets using LESS

• simplified plugin system, added support for init.php

• autoloading plugin dependencies if installed using composer

• allow configuration of mail sender

• line chart: custom range in y axis

• line chart: x range annotations

• removed fancy toggle-panel footer

• fixed stupid line chart mobile bug

Datawrapper 1.7.11

• fixed symlink creation in plugin installation

• reloading chart preview if chart locale changes

• resolving plugin names from class name, not path

• fixed user deletion api

Datawrapper 1.7.10

• load chart specific locale, if different from UI

• allow hooking into visualize step sidebar

• removed vendor libs from repo

• made Datawrapper Composer-ready

• do not send email activation mails when the email address has not been altered

• minor improvements for the account settings

• fixed delete-account button

• fixed XSS vulnerability

• replaced ext-mysql with PDO in the session handler

• do not use the mysql extension in the check_server script

• cleaned up makefile

• replaces JSMin with JShrink

Datawrapper 1.7.9

• refactored controller code base

• refactored account templates

• allowing access to plugin classes

• bugfixes

Datawrapper 1.7.8

• re-structured header navbar

• added font awesome

• allow filtering of missing values in bar charts

• tooltips in header navbar

Datawrapper 1.7.7

• switched top nav from fixed to static

• added vis option textarea

• flattened navbar appearance

• added hook for customizing navbar logo

Datawrapper 1.7.6

• disabled fullscreen mode in default theme

• fixed gallery preview

• allowed disabling of login logging

• renamed cdn_asset_base_url config to asset_domain

Datawrapper 1.7.5

• user settings: don't complain about existing email if it hasn't been changed

• let admins reset a users password

• replacing n-dashes with normal dashes (increasing tolerance for bad copy & paste input)

• ignoring percentage signs in data input

Datawrapper 1.7.4

• added json api for themes

• forcing lowercase organization ids

Datawrapper 1.7.3

• enabled setting initial sorting of data tables

• fixed chart display on mobile devices

Datawrapper 1.7.2

• fixed access rights for graphic editors

• showing more useful page titles

• removed legacy code

Datawrapper 1.7.1

• replaced hard-coded CDN path with config value

• bugfix: duplicating charts within organization

• bugfix: pie charts with zeros in dataset

• bugfix: include organization id in md5 hash computation to make sure assets are copied to different S3 buckets

• bugfix: chart publication progress now shown properly

Datawrapper 1.7.0

• storing reference to source chart on forking/duplicating

• data attributes in header nav

• support hooking into header nav

• re-arranged header nav

• showing lang code in header nav

• added speaking descriptions to core plugins

• added api for managing organizations

• allowing organziation specific plugin configuration

• allowing users in organization to use private plugins

• support for making plugins private

• added organizations

• svg icons for visualization

• replaced old color picker


Datawrapper 1.6.2 

• revised event flow in visualize step

• made pie charts less ugly

• added placeholder image for nojs.png

• fixed bar chart labels

• fixed highlighting of labels with quotes

• line chart: fallback to normal x-axis if not all date values could be parsed

• line chart: fixed label width calculation

• line chart: allowing more lines to be labeled

• removing all related jobs on chart deletion

Datawrapper 1.6.1

• allow users to select column input format (to resolve ambiguous formats)

• bugfixes

Datawrapper 1.6 (1. Nov. 2013)

Inline editing of chart title, description and labels

We simplified annotation of charts by supporting inline editing of chart title, description and labels directly in the chart. The changes are stored immediately. Using the inline editing is optional as you can still use the data table or the other UI elements to achieve the same effect.

Quicker navigation through your recent charts

The My Charts menu point now opens a drop down menu of your nine most recent charts to let you navigate to them more quickly.

Rounding numbers to significant digits

Datawrapper supports a smart way of rounding numbers using significant digits. This is useful especially if the numbers in your dataset vary across different orders of magnitude and you want to show a constant precision. In contrast, rounding to a fixed number of decimal places has the negative side-effect of either cutting of important details or adding useless zeros.

Logarithmic scales in line charts

The line chart in Datawrapper is now able to show data on a logarithmic scale. You can let the user switch between log and linear scales, just as you can see in this chart. The setting will be available only for charts were it makes sense (positive values which at least differ in three orders of magnitudes).

Support for OAuth sign-in

Datawrapper  supports sign-in using the OAuth standard. This not only makes it easier for new users to sign up if they already have accounts on Twitter or GitHub, but it also showcases how, for instance, a new organization can use their own user database instead of forcing all their editors to create new accounts. To see how this is implemented please take a look at the source code of the plugin that handles the Twitter sign-in.

Other changes: 

• fixed theme inheritance, no more deep-copying of arrays

• improved language in email communication

• updated Propel to 1.6.8

• updated Twig to 1.13.2

• showing recent charts in dropdown nav

• enabled data attribution in visualize step

• added automatic number formatting

• added column oauth_signin to user table (see migrate sql)

• refactored JavaScript and CSS out of Twig templates

• renamed chart data file to data.csv

• plugin.php can now install plugins from git urls

• display chart id in gallery/mycharts if there's no title

• using [insert title here] as default chart title

• refactored core chart javascript into /js/dw/chart.base.js

• added log scale mode to line chart

• moved transpose button into first table header cell

• bugfixes

Datawrapper 1.5.4

• added dw.utils.smartRound

• plugin install script performs health checks

• checking for plugin dependencies

• refactored gallery as plugin

• date columns now support ISO week format (eg 2013-W37 or 2013-W37-3)

• improved admin dashboard

• dataset allows adding columns at run-time

• auto-populating missing text columns

• added experimental live-editing features (disabled for now)

• added new API: dataset.reset, dataset.indexOf, dataset.add, column.indexOf

• refactored admin pages into separate plugins

• several hotfixes for 1.5.3

Datawrapper 1.5.3

• allowing external websites to provide data and some chart preset

• improved parsing of dates

• improved formatting of dates

• made Datawrapper ready for HTTPS

• don't show the resize iframe notification more than one time

• fixed display of missing values in line-charts

• improved grid lines in line charts with date axis

• removed label rotation in line charts

• fixed bug in grouped column charts

Datawrapper 1.5.2

• publishing just the assets needed by visualizations

• visualizations are now able to specify assets dynamically

• simplified dw.js/make: using jsmin.php if uglifyjs not available on server

• allowing some html in chart titles

• updated chroma.js

• themes can now define some gradients

• removing most HTML from chart data

• throtteling chart re-rendering in vis editor

• visualizations can now support smart re-rendering (instead of full reloads)

• fixed bug in data-table

• some more bugfixes

Datawrapper 1.5.1

• automatically creating a new hashed url for theme javascript

• visualization throws exception if data is insufficient

• chart.dataset() can now take a new dataset

• renamed vis.setX to vis.x()

• fixed charts in admin dashboard

Datawrapper 1.5.0

After two months and +600 commits, we released the next major milestone of Datawrapper. Here’s a brief overview what was changed: 

- Chart editor redesign

Every change made in the editor would now immediately be displayed in the preview, as opposed to the two-seconds delay we had in previous versions. Also the chart editor was now separated in three sub-steps which could  be navigated via tabs.

The custom color picker which was formerly shown in a popup window was integrated into the sidebar. This made it easier to see the effect of new colors immediately. Also the new color picker allows changing colors of multiple elements at the same time.

Last but not least we enabled our intelligent charting engine™ to speak back to the user in case something can be improved in a chart. Many of these heuristics are already built into Datawrapper since version 1.0, but now we thought it’s a nice idea to also explain what we are doing and why.

- Data editing and per-column formatting

The second step of the chart editor now supported quick-editing of the dataset, making it a lot easier change a label. The changes are stored with the chart to ensure that the original dataset is preserved. Using the revert button you can always return to the uploaded data. The editing feature was developed by Marcin Warpechowski, who also developed the popular JavaScript spreadsheet Handsontable that we’re using since version 1.3.

The number format can now be specified for individual columns instead of the entire dataset, which gives you a finer control about how numbers should be rendered. In order to change the column format you now have to select one or more columns, just as you would do in a spreadsheet software.

- Chart display optimization

With 1.5 we introduced display improvements for all chart types.

In line charts would now use a one-dimensional force-directed layout to ensure that labels won’t overlap in vertical direction. 

Another improvement of the line chart: if your dataset covers only a few dates, Datawrapper now labeled these exact dates instead of the usual evenly distributed grid lines (thanks to Lorenz Matzat for this very tufteeske idea).

Speaking of Tufte: we finally made our column charts smart enough to decide whether or not it needs to display grid lines. The assumption is that if you have a considerable small number of bars and enough space for labeling the values directly, there is no need for grid lines and grid labels anymore. Instead the full width of the chart can be used for the columns, making them a lot more space-efficient.

- Started using CloudFront as CDN, changed chart URL structure.

Other improvements:

• simplified visualization api

• column chart allows ignoring of missing values

• redesigned custom color picker

• enabled multi-selection in custom color picker

• one-dimensional visualizations (pie,bars,...) now showing single column (instead of single row)

• removed bar chart setting 'labels inside bars'

• added separators in vis options

• added new conditions for vis options

• added fallback message when JS is disabled

• refactored javascript core

• refactored core visualizations to new javascript core

• refactored custom color feature

• added axes definitions to visualizations

• added column public_version to chart table

• incrementing public_version on every publication

• appended public_version to public chart urls

• showing big warning that the chart url has changed after republication

• fixed overlapping labels in line charts

• added legend position inside right in line charts

• visualizations can now check browser compatibility

• added table plugin_data

• added plugin interface for storing and reading persistent data

• removed setting 'labels-inside-bars' from bar chart

• fixed bar chart bug (too much white-space for long labels)

• output formatting of values now handled by columns (45998931)

• line chart: allow filling below lines

• column chart: show bars as thin lines if too many bars are displayed

• chart notifications

• vendor libs used by vis plugins are now loaded from external CDN

• automatically creating a new hashed url for vis javascript

Datawrapper 1.4.3

• fixed severe bug in base theme (hotfix)

• allowed using uncompressed JS in chart preview

• allowed inverting of y axis in line charts

• fixed analytics in core

Datawrapper 1.4.2

• refactored themes into plugin

• refactored l10n into a class

Datawrapper 1.4.1

• refactored demo datasets into plugins

• minor bugfixes

Datawrapper 1.4.0

• added table plugin

• added plugins system

• created datawrapper hook system (lib/hooks)

• refactored visualizations to plugins

• replaced gettext translation with generic JSON files

• simplified plugin localization

• refactored static image export into plugin

Datawrapper 1.3.3

• trimming row labels in filter UI

• increased character limit to 40 chars

• trimming labels before counting characters

• fixed column chart label positions

• fixed line chart legend position

• bugfix: change password in settings

Datawrapper 1.3.2

• added (optional) higher security for passwords, read more.

• added page for setting up admin account after fresh install

• fixed admin dashboard

• allowed customization of title

• refactored defaults in config

• allowed setting default for show_in_gallery

• enabled inverting the nav bar

• fixed bar chart display with negative bars

Datawrapper 1.3.1

• allowed changing job status in admin page

• added job status 'canceled'

• ensured minimum width/height of 1 pixel for bars in bar/column charts

• allowed customization of logo

• allowed insertion of custom css

Datawrapper 1.3.0

In May 2013 Datawrapper crossed the threshold of 10 million chart views - in total since the very start of the project. The main driver for the rising numbers was growing adoption in newsrooms around the world.

Other updates:
• allowed input of named colors

• ignoring data series by clicking table header

• made MyCharts page searchable

• allowed preventing guest access

• customizable home page

• customizable languages

• added roles sysadmin and graphic-editor

• line chart interprets time series data

• bugfix: chart editor overrides preferred embed size in visualize step

• showing translation status in admin pages

• special date selector for time series shown in 1d charts

• mycharts: allowed filtering charts by publish status

• show warning if negative values are displayed in stacked bar charts

• show values on hover in grouped/stacked bar charts

Datawrapper 1.2.9

• added support for S3 domain alias (e.g.

• added support for S3 endpoints

• refactored chart publication, fixed occosional bug that stopped chart publication

• live-generating chart thumbnails during chart editing instead of during publication

• you need to migrate the database schema, see commit message

• changed mysql engine to innodb

• center preview chart in editor

• replaced old data table with handsontable widget

Datawrapper 1.2.8

• made job execution (e.g. static chart exports) fail safe

• added admin page showing job status

• you need to migrate the database schema, see commit message

Datawrapper 1.2.7

• added generic support for hierarchical datasets

• fixed chart export

Datawrapper 1.2.6

• visualizations now may define localized strings

• fixed bug with localized numbers in charts

• fixed stack percentages in fullscreen mode

• fixed Piwik tracking code

Datawrapper 1.2.5

• added percentage stacking mode to stacked column charts

• improved session garbage collection

• fixed ABZV logo

• improved line charts coloring and labeling

• fixed colors in dark theme

• updated German locale

• bugfixes


Datawrapper 1.2.4

• fixed several IE bugs

• fixed label transitions in bar charts

• updated to jQuery 1.9.1

Datawrapper 1.2

• animated chart transitions for bar,column and pie charts

• added visual chart selector

• improved editor UI

• redirecting IE6 visitors to static chart

• extensive chart testing in multiple browsers

• simplified installation

Datawrapper 1.1

• fullscreen mode

• customizable colors

• export static PNG/PDF

• filled line charts

• new theme: Playfair

• spanish translation

• fixed session bug

• updated to bootstrap 2.2

• lots of bugfixes

Datawrapper 1.0.2

• publishing charts to Amazon S3

Datawrapper 1.0

• complete rewrite of old prototype

• replaced Highcharts with custom charts based on d3 and Raphael.js


The core of Datawrapper is open source software and can be found on GitHub. Datawrapper Single and Datawrapper Team are services provided via the main platform. Please note that certain features and specific data visualizations are not open source, but only available via the main platform.

If you are a developer, please get in touch us anytime to clarify whether a self-hosted Datawrapper makes sense and can be used productively.

Here is how to reach us:

Other Interesting Tutorials

How to create a Stacked Column Chart

Learn how to create a stacked column chart in minutes with Datawrapper.

View Guide

All-new line charts

Datawrapper has completely revamped line charts: More responsive, cleaner and with annotations.

View Guide