From 848cf5645bb0fe80f527417c44ddf2e8a454ac8f Mon Sep 17 00:00:00 2001
From: Danilo Piparo <danilo.piparo@cern.ch>
Date: Sat, 23 Sep 2017 14:43:16 +0200
Subject: [PATCH] [TDF] Update Release Notes

thanks to Enrico for providing most of the text.
---
 README/ReleaseNotes/v612/index.md | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/README/ReleaseNotes/v612/index.md b/README/ReleaseNotes/v612/index.md
index 60a74e26a6c..533734fd97d 100644
--- a/README/ReleaseNotes/v612/index.md
+++ b/README/ReleaseNotes/v612/index.md
@@ -52,7 +52,7 @@ The following interfaces have been removed, after deprecation in v6.10.
   if configured, implicit multithreading within ROOT.
 - `NULL` is not defined by `Rtypes.h` anymore. Instead, its definition is expected to be
   provided by `Rtype.h`'s `#include` of `stddef.h`.
-- ROOT now supports dictionaries for classes with template parameter packs.
+- ROOT now supports dictionaries, autoload and autoparse for classes with template parameter packs.
 
 
 ## I/O Libraries
@@ -84,11 +84,19 @@ large TClonesArray where each element contains another small vector container.
 
 ### TDataFrame
   - Improved documentation
-  - Fix race condition: concurrent deletion of TTreeReader/TTreeReaderValue
-  - Avoid virtual calls for parts of the analysis that are not jitted
-  - Improve checks for column name validity (throw if column does not exist and if `Define`d column overrides an already existing column)
-  - Remove "custom column" nodes from the functional graph therewith optimising the traversal
-  - Add `DefineSlot`, a `Define` transformation that is aware of the multi-threading slot where the workload is executed
+  - Fixed race condition: concurrent deletion of TTreeReader/TTreeReaderValue
+  - TDF now avoids performing virtual calls for parts of the analysis that are not jitted
+  - Improved checks for column name validity (throw if column does not exist and if `Define`d column overrides an already existing column)
+  - Removed "custom column" nodes from the functional graph therewith optimising the traversal
+  - Added `DefineSlot`, a `Define` transformation that is aware of the multi-threading slot where the workload is executed
+  - Improvements in Cling drastically enhanced scaling and performance of TDF jitted code
+  - Fixed reading of c-style arrays from jitted transformations and actions
+  - pyROOT users can now easily specify parameters for the TDF histograms thanks to the newly introduced tuple-initialization
+  - The new TDataSource interface allows developers to pipe any kind of columnar data format into TDataFrame
+  - Test coverage has been increased with the introduction of google tests
+  - Users can now configure Snapshot to use different file open modes ("RECREATE" or "UPDATE"), compression level, compression algrotihm, TTree split-level and autoflush settings
+  - Python tutorials show the new "tuple-initialisation" feature of PyROOT (see below)
+  - The possibility to read from data sources was added. An interface for all data sources, TDataSource, is provided by ROOT. Two example data sources have been provided too: the TRootDS and the TTrivialDS. The former allows to read via the novel data source mechanism ROOT data, while the latter is a simple generator, created for testing and didactic purposes. It is therefore now possible to interface *any* kind of dataset/data format to ROOT as long as an adaptor which implements the pure virtual methods of the TDataSource interface can be written in C++.
 
 ## Histogram Libraries
 
@@ -159,6 +167,7 @@ large TClonesArray where each element contains another small vector container.
 
 
 ## Language Bindings
+  - PyROOT now supports list initialisation with tuples. For example, suppose to have a function `void f(const TH1F& h)`. In C++, this can be invoked with this syntax: `f({"name", "title", 64, -4, 4})`. In PyROOT this translates too `f(('name', 'title', 64, -4, 4))`.
 
 
 ## JavaScript ROOT
-- 
GitLab