Project: Grafana (Observability and Analysis / Observability)
File: CHANGELOG.1.md

Enhancements . Graph: New legend option `hideEmpty` to hide series with only null values from legend . OpenTSDB: Downsample query field now supports interval template variable . InfluxDB: Support more than 10 series name segments when using alias `$number` patterns Fixes . Graph: Fix for y axis and scaled units (GiB etc) caused rounding, for example 400 GiB instead of 378 GiB . Graph: fix for series tooltip when one series is hidden/disabled . Graphite: movingAverage / movingMedian parameter type improvement, now handles int and interval parameter Enhancements . SinglestatPanel: Added null point handling, and value to text mapping Fixes . Panel: Fixed IE9 crash due to angular drag drop . SingleStatPanel: Fixed position for drilldown link tooltip when dashboard requires scrolling . DrilldownLink: template variables in params property was not interpolated . Graphite: Lexer fix, allow equal sign (=) in metric paths . Graph: Fix to legend value Max and negative values . SinglestatPanel: Fixed absolute drilldown link issue . Firefox: Workaround for Firefox bug, caused input text fields to not be selectable and not have placeable cursor . Graph: Fix for tooltip series order when series draw order was changed with zindex property UI Improvements . UI: Panel dropdown menu replaced with a new panel menu Graph . Graph: Smart auto decimal precision when using scaled unit formats . Graph: Shared tooltip that shows multiple series & crosshair line, thx @toni-moreno . Graph: New series style override option "Fill below to", useful to visualize max & min as a shadow for the mean . Graph: Legend table display/look changed, now includes column headers for min/max/avg, and full width (unless on right side) . Graph: Export graph time series data as csv file New Panels . SingleStat: New singlestat panel Misc . Panel: Share panel feature, get a link to panel with the current time range . Panel: Plugin panels now reside outside of app/panels directory . Help: Shortcut "?" to open help modal with list of all shortcuts . ScriptedDashboard: data source services are now available in scripted dashboards, you can query data source for metric keys, generate dashboards, and even save them in a scripted dashboard (see scriptedgenand_save.js for example) . Panel: All panels can now have links to other dashboards or absolute links, these links are available in the panel menu. Changes . Graph: Series hide/show toggle changed to be default exclusive, so clicking on a series name will show only that series. (SHIFT or meta)+click will toggle hide/show. OpenTSDB . OpenTSDB: Adding counter max and counter reset value to open tsdb query editor, thx @rsimiciuc . OpenTSDB: Templating support for OpenTSDB series name and tags, thx @mchataigner InfluxDB . InfluxDB: Support for sub second resolution graphs Fixes . Graph: bar width calculation fix for some edge cases (bars would render on top of each other) . Graph: fix for second y axis tick unit labels wrapping on the next line . Dashboard: Collapsed rows became invisible when hide controls was enabled ======= Fixes . Graph: Fix for scroll issue in graph edit mode when dropdown goes below screen

Graph: Fix for series draw order not being the same after hiding/unhiding series . Annotations: Fix for annotations not reloaded when switching between 2 dashboards with annotations . Edit panes: Issue when open row or json editor when scrolled down the page, unable to scroll and you did not see editor . Import: Fixes to import from json file and import from graphite. Issues was lingering state from previous dashboard. . InfluxDB: Fix for bug when saving dashboard where title is the same as slugified url id . White theme: Fixes for hidden series legend text and disabled annotations color Read this for an overview of all improvements. Fixes . Annotations: Fix when using InfluxDB data source . Chrome: Fix for display issue in chrome beta & chrome canary when entering edit mode . Graph: Added percent y-axis format . Elasticsearch: saving new dashboard with title equal to slugified url would cause it to deleted. . Annotations: Fix for elasticsearch annotations and mapping nested fields UI polish / changes . UI: All modal editors are removed and replaced by an edit pane under menu. The look of editors is also updated and polished. Search dropdown is also shown as pane under menu and has seen some UI polish. Filtering/Templating feature overhaul Filtering renamed to Templating, and filter items to variables Filter editing has gotten its own edit pane with much improved UI and options . Templating: Can now retrieve variable values from a non-default data source . Templating: Template variable value selection is now a typeahead autocomplete dropdown . Templating: Extend template variable syntax to include \$variable syntax replacement . Templating: Interval variable type for time intervals summarize/group by parameter, included "auto" option, and auto step counts option. . Templating: Ability to use template variables for function parameters via custom variable type, can be used as parameter for movingAverage or scaleToSeconds for example . Templating: Can now use template variables in panel titles . Templating: Full support for InfluxDB, filter by part of series names, extract series substrings, nested queries, multiple where clauses! Template variables can be initialized from url, with var-myvarname=value, breaking change, before it was just myvarname. Templating and url state sync has some issues that are not solved for this release, see for more details. InfluxDB Breaking changes To better support templating, fill(0) and group by time low limit some changes has been made to the editor and query model schema Currently some of these changes are breaking If you used custom condition filter you need to open the graph in edit mode, the editor will update the schema, and the queries should work again If you used a raw query you need to remove the time filter and replace it with \$timeFilter (this is done automatically when you switch from query editor to raw query, but old raw queries needs to updated) If you used group by and later removed the group by the graph could break, open in editor and should correct it InfluxDB annotation queries that used [[timeFilter]] should be updated to use \$timeFilter syntax instead Might write an upgrade tool to update dashboards automatically, but right now master

includes the above breaking changes InfluxDB query editor enhancements . InfluxDB: Add option for fill(0) and fill(null), integrated help in editor for why this option is important when stacking series . InfluxDB: A group by time option for all queries in graph panel that supports a low limit for auto group by time, very important for stacking and fill(0) The above to enhancements solves the problems associated with stacked bars and lines when points are missing, these issues are solved: . InfluxDB: stacked bars missing intermediate data points, unless lines also enabled . InfluxDB: stacked chart ignoring series without latest values . InfluxDB: No order in stacked bars mode New features and improvements . Graphite: Graphite query builder can now handle functions that multiple series as arguments! . Graphite: Metric node/segment selection is now a textbox with autocomplete dropdown, allow for custom glob expression for single node segment without entering text editor mode. . Dashboard: View dashboard json, edit/update any panel using json editor, makes it possible to quickly copy a graph from one dashboard to another. . Dashboard: Row option to display row title even when the row is visible . Dashboard: panel fullscreen & edit state is present in url, can now link to graph in edit & fullscreen mode. . Dashboard: Small UI look polish to search results, made dashboard title link are larger . Graph: New section in 'Display Styles' tab to override any display setting on per series bases (mix and match lines, bars, points, fill, stack, line width etc) . Dashboard: Dashboard tags now in different colors (from fixed palette) determined by tag name. . Dashboard: New config.js option to change/remove window title prefix. . Dashboard: Title URL is now slugified for greater URL readability, works with both ES & InfluxDB storage, is backward compatible . Elasticsearch: Support for full elasticsearch lucene search grammar when searching for dashboards, better async search . Dashboard: time range can now be read from URL parameters, will override dashboard saved time range Fixes . Graph: Fix for y-axis format 'none' when values are in scientific notation (ex 2.3e-13) . Graph: Fix for tooltip current value decimal precision when 'none' axis format was selected . Graphite: Fix for Glob syntax in graphite queries ([1-9] and ?) that made the query editor / parser bail and fallback to a text box. . Graphite: Fix for nonNegativeDerivative function, now possible to not include optional first parameter maxValue . Dashboard: Fix for timepicker date & tooltip when UTC timezone selected. . Dashboard: Fix for bug when adding rows from dashboard settings dialog. . Dashboard: Fix for hide controls setting not used/initialized on dashboard load . Dashboard: Fix for zoom out causing right hand "to" range to be set in the future. Tech Upgraded from angularjs 1.1.5 to 1.3 beta 17; Switch from underscore to lodash helpers to easily unit test angularjs controllers and services Test coverage through coveralls Upgrade from jquery 1.8.0 to 2.1.1 (Removes support for IE7 & IE8) Fixes . Dashboard: Tooltip fixes, sometimes they would not show, and sometimes they would get stuck.

Dashboard: Tooltip on goto home menu icon would get stuck after clicking on it Fixes . Timepicker: Entering custom date range impossible when refresh is low (now is constantly reset) . Graph: Tooltip does not disappear sometimes and would get stuck . General: Auto refresh not initiated / started after dashboard loading . General: Fix for refresh icon in IE browsers . Annotations: Elasticsearch querystring with filter template replacements was not interpolated . OpenTSDB: fix opentsdb queries that returned more than one series Change . Dashboard: The panel error bar has been replaced with a small error indicator, this indicator does not change panel height and is a lot less intrusive. Hover over it for short details, click on it for more details. New features or improvements . InfluxDB: Add continuous query in series results (series typeahead). . InfluxDB: Support for alias & alias patterns when using raw query mode . InfluxDB: Annotation support . InfluxDB: InfluxDB can now act as a datastore for dashboards . InfluxDB: Support for InfluxdB v0.8 list series response schema (series typeahead) . InfluxDB: Enhanced series aliasing (legend names) with pattern replacements . Graphite: New option cacheTimeout to override graphite default memcache timeout . General: New global option in config.js to specify admin password (useful to hinder users from accidentally make changes) . Annotations: Elasticsearch data source support for events . Annotations: Annotations can now be fetched from non default data sources . Search: max_results config.js option & scroll in search results (To show more or all dashboards) . Text panel: Allow [[..]] filter notation in all text panels (markdown/html/text) . Graph: New legend display option "Align as table" . Graph: New legend display option "Right side", will show legend to the right of the graph . Graph: New axis format, 'bps' (SI unit in steps of 1000) useful for network gear metrics . Graph: Downscale y axis to more precise unit, value of 0.1 for seconds format will be formatted as 100 ms. Thanks @kamaradclimber . OpenTSDB: Series alias option to override metric name returned from opentsdb. Thanks @heldr Documentation . Docs for features and changes in v1.7, new troubleshooting guide, new Getting started guide, improved install & config guide. Changes . Graphite: Use unix epoch for Graphite from/to for absolute time ranges . General: Dashboard save temp copy feature settings moved from dashboard to config.js, default is enabled, and ttl to 30 days . Schema: Dashboard schema changes, "Unsaved changes" should not appear for schema changes. All changes are backward compatible with old schema. Fixes . Graph: Fix formatting negative values (axis formats, legend values) . Graph: fix for max legend value when max value is zero . Filtering: Fix for nested filters, changing a child filter could result in infinite recursion in some cases . Graphite: Fix for graphite expressions parser failure when metric expressions starts with curly brace segment New features or improvements . Ability to set y min/max for right y-axis (RR #519) Fixes . Fixes regex InfluxDB queries introduced in 1.6.0 . Bug in when using % sign in legends (aliases), fixed by removing url decoding of metric names . Series names and column name typeahead cache fix

Fixed influxdb issue with raw query that caused wrong value column detection . Default property that marks which data source is default in config.js is now optional . Auto-refresh caused 2 refreshes (and hence multiple queries) each time (at least in firefox) . New Y-axis formater for metric values that represent seconds, Thanks @jippi . Allow special characters in series names (influxdb data source), Thanks @majst01 . Refactoring of filterSrv, Thanks @Tetha . New config for playlist feature. Set playlist_timespan to set default playlist interval, Thanks @rmca . New graphite function definition added isNonNull, Thanks @tmonk42 . New InfluxDB function difference add to function dropdown . Added parameter to keepLastValue graphite function definition (default 100) . to the browser cache when upgrading grafana and improve load performance . Partial support for url encoded metrics when using Graphite data source. Thanks @axe-felix . Improvement to InfluxDB query editor and function/value column selection . Initial support for filtering (templated queries) for InfluxDB. Thanks @mavimo . Row editing and adding new panel is now a lot quicker and easier with the new row menu . New data source! Initial support for OpenTSDB, Thanks @mpage . Improvement and polish to the OpenTSDB query editor . Influxdb group by support, Thanks @piis3 improved asset (css/js) build pipeline, added revision to css and js. Will remove issues related . Add panel icon and Row edit button is replaced by the Row edit menu New graphs now have a default empty query Add Row button now creates a row with default height of 250px (no longer opens dashboard settings modal) Clean up of config.sample.js, graphiteUrl removed (still works, but deprecated, removed in future) Use data sources config instead. panel_names removed from config.js. Use plugins.panels to add custom panels Graphite panel is now renamed graph (Existing dashboards will still work) . Graphite query lexer change, can now handle regex parameters for aliasSub function . Filter option loading when having multiple nested filters now works better. Options are now reloaded correctly and there are no multiple renders/refresh in between. . After a filter option is changed and a nested template param is reloaded, if the current value exists after the options are reloaded the current selected value is kept. . Legend Current value did not display when value was zero . Fix to series toggling bug that caused annotations to be hidden when toggling/hiding series. . Fix for graphite function selection menu that some times draws outside screen. It now displays upward . Fix for exclusive series toggling (hold down CTRL, SHIFT or META key) and left click a series for exclusive toggling . CTRL does not work on MAC OSX but SHIFT or META should (depending on browser) InfluxDB enhancement: support for multiple hosts (with retries) and raw queries (, thx @toddboom) Added rounding for graphites from and to time range filters for very short absolute ranges () Increased resolution for graphite datapoints (maxDataPoints), now equal to panel pixel

() Improvement to influxdb query editor, can now add where clause and alias (, thanks @mavimo) New config setting for graphite data source to control if json render request is POST or GET () Unsaved changes warning feature () Improvement to series toggling, CTRL+MouseClick on series name will now hide all others () Graph default setting for Y-Min changed from zero to auto scaling (will not effect existing dashboards). () - thx @kamaradclimber Fixes to filters and "All" option. It now never uses "\*" as value, but all options in a {node1, node2, node3} expression (, #359) Fix for InfluxDB query generation with columns containing dots or dashes (, #348) - Thanks to @jbripley Add support for async scripted dashboards () Text panel now accepts html (for links to other dashboards, etc) () Fix for Text panel, now changes take effect directly () Fix when adding functions without params that did not cause graph to update () Graphite errors are now much easier to see and troubleshoot with the new inspector () Use influxdb aliases to distinguish between multiple columns () Correction to ms axis formater, now formats days correctly. () Css fix for Firefox and using top menu dropdowns in panel fullscreen / edit mode () Browser page title is now Grafana - {{dashboard title}} () Disable auto refresh zooming in (every time you change to an absolute time range), refresh will be restored when you change time range back to relative () More graphite functions Support for second optional params for functions like aliasByNode (). Read the wiki on the for more info. More functions added to InfluxDB query editor () Filters can now be used inside other filters (templated segments) () More graphite functions added Float arguments now work for functions like scale () Fix for graphite function editor, the graph & target was not updated after adding a function and leaving default params as is #191 The zip files now contains a sub folder with project name and version prefix. () maxDataPoints must be an integer #184 (thanks @frejsoya for fixing this) For people who are find Grafana slow for large time spans or high resolution metrics. This is most likely due to graphite returning a large number of datapoints. The maxDataPoints parameter solves this issue. For maxDataPoints to work you need to run the latest graphite-web (some builds of 0.9.12 does not include this feature). Read this for more info: New function editor () Links to function documentation from function editor () Reorder functions () as metric data source (#103), need feedback! () When adding aliasByNode smartly set node number () Support graphite identifiers with embedded colons () Typeahead & autocomplete when adding new function () More graphite function definitions Make "ms" axis format include hour, day, weeks, month and year () Microsecond axis format () Specify template parameters in URL () Basic Auth fix () Fix to annotations with graphite source & null values () #44 Annotations! Required a lot of work to get right. Read wiki article for more info. Supported annotations data sources are graphite metrics and graphite events. Support for more will be added in the future! #35 Support for multiple graphite servers! (Read wiki article for more) #116 Back to dashboard link in top menu to easily exist full screen / edit mode.

#97 Legend values now use the same y axes formatter #77 Improvements and polish to the light theme #98 Stack is no longer by default turned on in graph display settings. Hide controls (Ctrl+h) now hides the sub menu row (where filtering, and annotations are). So if you had filtering enabled and hide controls enabled you will not see the filtering sub menu. #94 Fix for bug that caused dashboard settings to sometimes not contain timepicker tab. #110 Graph with many many metrics caused legend to push down graph editor below screen. You can now scroll in edit mode & full screen mode for graphs with lots of series & legends. #104 Improvement to graphite target editor, select wildcard now gives you a "select metric" link for the next node. #105 Added zero as a possible node value in groupByAlias function #86 Dashboard tags and search (see wiki article for details) #54 Enhancement to filter / template. "Include All" improvement #82 Dashboard search result sorted in alphabetical order #91 Custom date selector is one day behind #89 Filter / template does not work after switching dashboard #88 Closed / Minimized row css bug #85 Added all parameters to summarize function #83 Stack as percent should now work a lot better! #70 Grid Thresholds (warning and error regions or lines in graph) #72 Added an example of a scripted dashboard and a short wiki article documenting scripted dashboards. #81 Grid min/max values are ignored bug #80 "stacked as percent" graphs should always use "max" value of 100 bug #73 Left Y format change did not work #42 Fixes to grid min/max auto scaling #69 Fixes to lexer/parser for metrics segments like "10-20". #67 Allow decimal input for scale function #68 Bug when trying to open dashboard while in edit mode #22 Support for native graphite png renderer, does not support click and select zoom yet #60 Support for legend values (cactiStyle, min, max, current, total, avg). The options for these are found in the new "Axes & Grid" tab for now. #62 There is now a "New" button in the search/open dashboard view to quickly open a clean empty dashboard. #55 Basic auth is now supported for elastic search as well some new function definitions added (will focus more on this for next release). #45 zero values from graphite was handled as null. #63 Kibana / Grafana on same host would use same localStorage keys, now fixed #46 Impossible to edit graph without a name fixed. #24 fix for dashboard search when elastic search is configured to disable \_all field. #38 Improvement to lexer / parser to support pure numeric literals in metric segments Thanks to everyone who contributed fixes and provided feedback :+1: - Relative time range caused 500 graphite error in some cases (thx rsommer for the fix) #9 Add Y-axis format for milliseconds #16 Add support for Basic Auth (use http://username:password@yourgraphitedomain.com) #13 Relative time ranges now uses relative time ranges when issuing graphite query , should now work ok without ElasticSearch Resize fix Improvements to drag & drop Added a few graphite function definitions Fixed duplicate panel bug Updated default dashboard with welcome message and randomWalk graph First public release