You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[RFHS3] Remove mention of RapidYML backend, which is not supported.
Due to lack of time, only one RooFit backend can be supported. On CMake
configure, it, however, looked like RapidYML should be found. Here, the
corresponding YML messages and mentions throughout the documentation are
removed.
If the backend should be revived, this commit can be reverted.
Fix#18128.
Introduce TObject::SavePrimitiveVector
Save array of doubles in C++ macro as std::vector<Double_t>.
Should replace in code use of SavePrimitiveArray -
while stack has limited memory and therefore plain arrays in macro can exhaust resources
Use SavePrimitiveVector for TH1/TProfile classes
Use SavePrimitiveVector in TGraph classes
Use SavePrimitiveVector for TCutG/TScatter/TEfficiency
Use SavePrimitiveVector for TF1/TF2
Use SavePrimitiveVector in TGraph2D
Use SavePrimitiveVector in TPolyLine/Mraker/3D classes
Remove SavePrimitiveArray
Was replaced by SavePrimitiveVector.
No longer used in the code, was not in released code
[ntuple] Move RNTupleView out of Experimental
No constraints to torch version in `requirements.txt`
Now that pytorch/pytorch#138333 is fixed,
commit 24fd0d8 can be reverted.
[tree] check for return values in WriteBaskets
Fixes https://its.cern.ch/jira/browse/ROOT-5137
[nfc] clangformat
[nfc] modernize
Co-authored-by: Philippe Canal <[email protected]>
[core] escape pluses in TRegexp::MakeWildcard
Fixes https://its.cern.ch/jira/browse/ROOT-7626
[Python] Format `rdf_filter_pyz.py` to pass ruff checks
[Python] Fix RDF Pythonization tests with `builtin_llvm=OFF`
On my machine, the RDF pythonization tests don't run when I build ROOT
with `builtin_llvm=OFF`. There is a crash unless I do `import numba` in
the beginning.
I guess it's not a priority to understand the underlying problem because
not many people build ROOT like this and the workaround is easy, but at
least the tests should be green.
We do the same "magically ordered imports" also in other Python tests
where ROOT doesn't work together with xgboost because of `std::regexp`
symbol clashes, unless you do the import in a certain order:
#15183
[hist] fix red highlight box in log mode
Fixes#12497
[ci] Disable TMVA on Alma8
[RF] Fix implementation of HS3 importers
Fix by @guitargeek.
The RooWSFactoryTool expression handler was not correctly matching branckets, leading to failures when importing
valid JSON filed with RooProdPdf objects.
[df] Avoid bad integer substitution in string formatting
The '%lu' token used in RLoopManager::RunDataSource does not correspond
to the correct integer representation of `std::uint64_t` on all
platforms. We use a stringstream instead to construct the warning
message.
Introduce TObject::SavePrimitiveDraw method
Store typical object->Draw() invocation.
Correctly handle "nodraw" arguments in options
Also replace special symbols if option string is not empty
Use SavePrimitiveDraw in graf2d/graf classes
Improve TGraphStruct::SavePrimitive
Use new method to store constructor and attributes
Simplify loops over nodes and edges
Use fixed variable name for TGraphEdge
Use SavePrimitiveDraw in hist classes
Use SavePrimitiveDraw in other classes
Fix TPave::SavePrimitive for web case
In case when canvas created in the batch mode,
it never rendered on server side.
And thus coordinates of TPave object remains not-initialized.
But there are macros where coordinates of TPaveStats are modified.
Such modification stored in NDC coordinates and should be taken into
account when TPave stored in C macro
Adjust stressGraphics_web.ref after TPave adjustments
Now positions of stats box modified in batch stored correctly
[RF] fix segfault in fillLegacyCorrMatrix
shown in https://root-forum.cern.ch/t/extracting-global-correlation-causes-a-seg-fault-with-sumw2error/55138
Implementing changes requested by @dpiparo
[webgeom] resize workaround for qt6
Rendering inside qt5/qt6 does not provide correct size,
therefore add resize handler in both cases
Do not use `source_dir` in widgets
This is location of JSROOT scripts, but normally
one should use `import {something } from 'jsroot'` statement
Now jsroot_importmap used in all widgets anyway
Reduce source_dir usage in eve7
[ntuple] Move RNTupleWriter out of Experimental
[hist] revert changes to v5 GetExpFormula fl_format
Since it breaks backward compatibility
Fixes#18214
thanks guitargeek for finding out
[skip-ci] cleaner docu
Implementing changes requested by @dpiparo
Move qt5web classes to qt6webdisplay
They were used by both qt5 and qt6, now only for qt6
Completely delete qt5webdisplay sources
Delete/deprecate qt5web build option
Qt5 web engine no longer works with newest JSROOT and makes no sence to support. Everybody should be able to switch to comparable qt6 version
Remove kQt5 from RWebDsiaplayArgs
It was display kind for --web=qt5 argument
Adjust tutorials/visualisation/webgui/qtweb
Only support qt6 for building this tutorial
Remove qt5 workaround in THttpServer
For usage of qt5 webengine importmap has to be emulated
Now such emulation is no longer necessary
Introduce RWebDisplayArgs::GetQtEmbedQualifier
Keep old GetQt5EmbedQualifier to backward compatibility,
but prefer to use newer approach
Use GetQtEmbedQualifier in qtweb tutorial
Last place where qt5 was checked
Remove qt5 from documentation and comments
Update README/ReleaseNotes/v636/index.md
Co-authored-by: Jonas Rembser <[email protected]>
Use view framework with newest CEF
Latest CEF 134 shows URL/tabs with native widgets
Therefore switch to use of view framework starting from CEF 131
Update CEF readme with current CEF version
Let configure usage of CEF views framework via rootrc parameter
Use "WebGui.CefUseViews" parameter for this.
Default is platform-dependent
Mention CEF parameters in documentation
[jsroot] dev 1/04/2025
1. Introduce `settings.FilesTimeout` to configure global timeout for file reading operations
2. Introduce `settings.FilesRemap` to let provide fallback address for http server, used for `root.cern`
3. Remove support of qt5 webengine, only qt6web is supported
4. Fix - correct axis range in `TScatter` drawing
More use of RWebWindowWSHandler::GetBoolEnv
Update docu
Fix warning caused by RPadLength arithmetic operators
Use `const` references as one should for `operator+` and `operator-`.
This fixes the following warning I get when building ROOT with tests:
```txt
In file included from /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/x86_64-unknown-linux-gnu/bits/c++allocator.h:33,
from /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/allocator.h:46,
from /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/memory:65,
from /nix/store/qf61vad876jgyd4vnn147cz2jyvy23vl-gtest-1.16.0-dev/include/gtest/gtest.h:55,
from /home/rembserj/code/root/root_src/graf2d/gpadv7/test/coords.cxx:12:
In member function ‘void std::__new_allocator<_Tp>::deallocate(_Tp*, size_type) [with _Tp = double]’,
inlined from ‘static void std::allocator_traits<std::allocator<_Tp1> >::deallocate(allocator_type&, pointer, size_type) [with _Tp = double]’ at /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/alloc_traits.h:544:23,
inlined from ‘void std::_Vector_base<_Tp, _Alloc>::_M_deallocate(pointer, std::size_t) [with _Tp = double; _Alloc = std::allocator<double>]’ at /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/stl_vector.h:389:19,
inlined from ‘void std::_Vector_base<_Tp, _Alloc>::_M_deallocate(pointer, std::size_t) [with _Tp = double; _Alloc = std::allocator<double>]’ at /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/stl_vector.h:385:7,
inlined from ‘std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = double; _Alloc = std::allocator<double>]’ at /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/stl_vector.h:368:15,
inlined from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = double; _Alloc = std::allocator<double>]’ at /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/stl_vector.h:738:7,
inlined from ‘ROOT::Experimental::RPadLength::~RPadLength()’ at /home/rembserj/code/root/root_src/graf2d/gpadv7/inc/ROOT/RPadLength.hxx:31:7,
inlined from ‘virtual void PadCoord_AddSubtract_Test::TestBody()’ at /home/rembserj/code/root/root_src/graf2d/gpadv7/test/coords.cxx:36:26:
/nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/new_allocator.h:172:33: warning: ‘void operator delete(void*, std::size_t)’ called on pointer ‘<unknown>’ with nonzero offset [1, 9223372036854775800] [-Wfree-nonheap-object]
172 | _GLIBCXX_OPERATOR_DELETE(_GLIBCXX_SIZED_DEALLOC(__p, __n));
| ^
In member function ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = double]’,
inlined from ‘static _Tp* std::allocator_traits<std::allocator<_Tp1> >::allocate(allocator_type&, size_type) [with _Tp = double]’ at /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/alloc_traits.h:509:28,
inlined from ‘std::_Vector_base<_Tp, _Alloc>::pointer std::_Vector_base<_Tp, _Alloc>::_M_allocate(std::size_t) [with _Tp = double; _Alloc = std::allocator<double>]’ at /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/stl_vector.h:380:33,
inlined from ‘void std::_Vector_base<_Tp, _Alloc>::_M_create_storage(std::size_t) [with _Tp = double; _Alloc = std::allocator<double>]’ at /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/stl_vector.h:398:44,
inlined from ‘std::_Vector_base<_Tp, _Alloc>::_Vector_base(std::size_t, const allocator_type&) [with _Tp = double; _Alloc = std::allocator<double>]’ at /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/stl_vector.h:334:26,
inlined from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = double; _Alloc = std::allocator<double>]’ at /nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/stl_vector.h:603:61,
inlined from ‘ROOT::Experimental::RPadLength::RPadLength(const ROOT::Experimental::RPadLength&)’ at /home/rembserj/code/root/root_src/graf2d/gpadv7/inc/ROOT/RPadLength.hxx:31:7,
inlined from ‘virtual void PadCoord_AddSubtract_Test::TestBody()’ at /home/rembserj/code/root/root_src/graf2d/gpadv7/test/coords.cxx:36:26:
/nix/store/aw0qxjd1phf16qhlwpdb4x87yymfv9rp-gcc-14-20241116/include/c++/14-20241116/bits/new_allocator.h:151:55: note: returned from ‘void* operator new(std::size_t)’
151 | return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
| ^
```
Update WebDisplay.md file
Modify RGeomViewer::SaveAsMacro
Do not use RDirectory::Heap().
Just create shared_ptr variable outside of function scope
Use "\n" instead of std::endl
[Python] Correctly manage NumPy dependencey in pythonization tests
The dependency on Python libraries like NumPy needs to be declared in
the CMakeLists.txt, such that the test gets disabled when the library is
not available.
In some cases, the dependency on NumPy could be avoided by using the
builtin "array" library.
[Python] Apply suggestions by ruff
[CPyCppyy] Don't use deprecated `PyErr_Fetch` and `PyErr_Restore` API
Also, in some places the same logic could be implemented with just
`PyErr_Clear()`.
[Python] Update `sync-upstream` script for cppyyy syncups
SearchInstalledSoftware.cmake: correctly report name of option to disable
[skip-ci] cpu backend specify it's single threaded
See #17344
[DF] Retrieve RDatasetSpec for RDF built from JSON
[CPyCppyy] Drop `__array__` from std::vector pythonizations
The addition of the __array__ utility to std::vector Python proxies causes a
bug where the resulting array is a single dimension, causing loss of data when
converting to numpy arrays, for >1dim vectors. The recursive nature of this
function, passes each subarray (pydata) to the next call and only the final
buffer is cast to a lowlevel view and resized (in VectorData), resulting in
only the first 1D array to be returned. See #17729
Since this C++ pythonization was added with the upgrade in 6.32, and is only
defined and used recursively, the safe option is to disable this function and
no longer add it. It is temporarily removed to prevent errors due to -Wunused-function
Revert "[ci] Disable TMVA on Alma8"
This reverts commit ebab348.
Protect PyMva tutorials for a failurte in importing tensorflow
Disable also batchgenerator tests for Python version less than 3.9 since tensorflow is not working for these lower python versions
Fix build issue on macOS 15.4 / XCode 16.3
`less` is defined in functional according to the C++ standard.
cling: Add ROOT lock to LookupHelper::findType
This fixes#18236
As seen in cms-sw/cmssw#47763 (comment)
there are cases where the ROOT global lock is taken too late:
In the stack trace below the lock is requested on frame #7 where as
it should really be (also) requested on frame #12 as soon as the
transaction is being generated.
```
#6 0x00001501421f55ea in ROOT::TVirtualRWMutex::Lock() () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCore.so
#7 0x0000150133a680ca in TCling::HandleNewTransaction(cling::Transaction const&) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCling.so
#8 0x0000150133a85778 in TCling::UpdateListsOnCommitted(cling::Transaction const&) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCling.so
#9 0x0000150133b60018 in cling::MultiplexInterpreterCallbacks::TransactionCommitted(cling::Transaction const&) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCling.so
#10 0x0000150133bec069 in cling::IncrementalParser::commitTransaction(llvm::PointerIntPair<cling::Transaction*, 2u, cling::IncrementalParser::EParseResult, llvm::PointerLikeTypeTraits<cling::Transaction*>, llvm::PointerIntPairInfo<cling::Transaction*, 2u, llvm::PointerLikeTypeTraits<cling::Transaction*> > >&, bool) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCling.so
#11 0x0000150133b5663a in cling::Interpreter::PushTransactionRAII::~PushTransactionRAII() () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCling.so
#12 0x0000150133b6b883 in cling::LookupHelper::findType(llvm::StringRef, cling::LookupHelper::DiagSetting) const () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCling.so
#13 0x00001501339b6b06 in ROOT::TMetaUtils::TClingLookupHelper::GetPartiallyDesugaredNameWithScopeHandling(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCling.so
#14 0x00001501422f1458 in ResolveTypedefProcessType(char const*, unsigned int, unsigned int, bool, unsigned int, unsigned int, unsigned int, bool&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) [clone .constprop.0] () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCore.so
#15 0x00001501422f1a0f in ResolveTypedefImpl(char const*, unsigned int, unsigned int&, bool&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCore.so
#16 0x00001501422f2ef3 in TClassEdit::ResolveTypedef[abi:cxx11](char const*, bool) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCore.so
#17 0x00001501422f5c20 in TClassEdit::TSplitType::ShortType(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCore.so
#18 0x00001501422f6888 in TClassEdit::GetNormalizedName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string_view<char, std::char_traits<char> >) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCore.so
#19 0x000015014232e795 in ROOT::Internal::GetDemangledTypeName[abi:cxx11](std::type_info const&) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02883/el8_amd64_gcc12/cms/cmssw-patch/CMSSW_15_1_RNTUPLE_X_2025-03-31-2300/external/el8_amd64_gcc12/lib/libCore.so
```
[ntuple] Add tests and a warning for projected Real32(Quant|Trunc)
Setting a projected field to quantized or truncated works and read proper
data but it doesn't do what one would probably expect.
The projected field can correctly read values from any fields that can
be read as float, but the value range and bits of precision set on the
projected field are silently ignored (since they only make sense for
physical columns that are actually stored on disk).
To reduce confusion, we now emit a warning if a user tries to call
AddProjectedField with a quantized or truncated field.
Remove current RHist prototype
For a number of reasons, it is not what we want for the future
generation of histogram classes in ROOT:
* It is templated on the DIMENSIONS, the PRECISION, and optional
bin statistics. This makes it hard(er) to use for IO.
* The RHist interface has a pointer to an abstract, polymorphic
RHistImplBase.
* The concrete RHistImpl is templated on the processed axis types.
* The polymorphic pointer makes the current prototype incompatible
with RNTuple (unless using streamer fields).
* It also takes minutes to compile for higher dimensions because
concrete RHistImpl have to be generated for all combinations of
axis types, which grows exponentially.
The plan is to remove the current prototype now, in time for the
next ROOT release v6.36, and then add a new implementation after.
[hist] reset kAxisRange bit when fully unzooming (#18226)
When unzoom with mouse wheel, properly reset kAxisRange bit.
Adjust documentation
[graf] Patch libAsimage: fp.h is now part of math.h
Thanks to @ktf (ALICE) for this fix.
[runtime-cxxmodules] Adapt the darwin modulemaps to sdk 15.4. (#18231)
* [runtime-cxxmodules] Adapt the darwin modulemaps to sdk 15.4.
* [runtime-cxmodules] Use separate modulemap for macOS15.2
* [runtime-cxxmodules] Add overlay entry for MacOSX15.2
---------
Co-authored-by: Devajith Valaparambil Sreeramaswamy <[email protected]>
[skip-CI][cling] Refine build and usage guide (#18161)
* [cling] Refine build and usage guide
Clarified standalone and LLVM-integrated build methods, along with
usage instructions. Improved installation steps to ensure successful
execution.
* [cling] Fix broken link to web page in README
Updated the "See also" link in the README to point to the latest version
of Cling's web page on GitHack. The previous link referenced a specific
commit, which could become outdated. Now, it directly points to the
master branch for a more up-to-date reference.
* [cling] Improve Cling standalone build instruction
Refined the README to provide clearer instructions for building Cling as
a standalone project. Updated CMake configuration details, clarified
dependency setup, and provided an example command to help users
correctly specify LLVM build paths. These improvements aim to make the
build process more comprehensible and reduce potential confusion.
* [skip-ci] update link to binaries
* [skip-ci] fix jupyter link
Fixesroot-project/cling#527
* [skip-ci] also mention jupyter notebook option
see root-project/cling#537
---------
Co-authored-by: ferdymercury <[email protected]>
[ntuple] Move RNTupleReader out of Experimental
[rfile] Remove current RFile prototype
It will replaced by a new prototype after 6.36.
The new prototype will go in a different direction by removing the
shared ownership between RFile and the application and it won't have
RFile inherit from RDirectory.
[hist] Add function to get sum of weights including under/overflows
Fix#8951
Co-authored-by: Stephan Hageboeck <[email protected]>
[cling][JIT] Inject compiler-rt complex division symbols on macOS
Clang may emit calls to compiler-rt symbols such as __divdc3 for
std::complex<T> division. These may not be resolved during JIT'ing
on macOS when using Cling.
This patch forward-declares the relevant symbols and explicitly
injects them into the JIT symbol table.
Similar to: 4b6075b
[rbrowser] do not allow to select text in items list
[rbrowser] implement items drag and drop
Drop handler behaves very similar to drawing with append flag,
but does not try to create new widget
[rbrowser] let switch between double-click and plain click handler
Double-click is ROOT-like style of drawing while single-click is openui5.
In last case one also can use keyboard navigation for drawing
[rbrowser] Change columns context menu
Old functionality deprecated, one need to have something else.
Assign to each column headmenu instead
[rbrowser] let resize columns via context menu
Add 'Resize colums' to context menu
[jsroot] dev 4/04/2025
1. Set 'user-select: none' style in drawings to exclude text selection, using `settings.UserSelect` value
2. Better handling of remap of file URL
[cmake] Update the version of VDT to 0.4.6
to address the new behaviour of the compiler shipped with XCode 16.3
Properly format the preprocessor if clause
following pnggroup/libpng@893b811
[interop] Upgrade to latest, add tag file for diff workflow
[ntuple] Mark some CreateEntry const
RNTupleReader::CreateEntry() needs to call GetModel(), which is not
const.
[ntuple] Move RFieldToken out of REntry
It will also be used by RRawPtrWriteEntry.
[ntuple] Refactor RNTupleFillContext::Fill*
... to avoid code duplication when adding RRawPtrWriteEntry.
[ntuple] Implement Detail::RRawPtrWriteEntry
It is a container of const raw pointers that can be used to write
constant data products in frameworks.
Closes#17900
[ntuple] Demonstrate RRawPtrWriteEntry in ntpl014_framework.C
[ntuple] Amend documentation on model ID check
[tmva][sofie] memory optimization in convK and imcol for ConvTranspose (#18168)
* feat: add convK and imcol to memory optimization for ConvTranspose
* fix: follow root naming convention for convK and imcol
[tmva][sofie] Optimize LayerNormalization operator
Do square operation do not use std::pow with base 2 since it is slower than simple multiplication This speeds up evaluation on ATLAS GNN tracking model by 40%
Also avoids allocating a small shape vector in LayerNorm and improve indentation of sigmoid operator
[TMVA] Disable relevant PyMVA tests if BLAS is not found
This commit makes sure that the tests of PyMVA that require BLAS
(indirectly via SOFIE) are not run when BLAS is not available.
Following up on this PR, which did the same change already for the SOFIE
tests:
#18065
[CMake] Veto tutorials depending on BLAS if it was not found
Closes#16720.
Fix a warning when compiling quartz on macos 15.4 with clt 16.3
[tree] Avoid reading from nullptr in TTreeReader.
When a TTreeReaderValue is not initialised correctly, it generates
an error message. It could, however, inadvertently read a nullptr in doing
that.
Fix memory leak identified with valgrind in HistFactory histogram reading
Apply clang-format
[core] improve TDirectory::DecodeNameCycle
- avoid scanning the string twice
- allow `name` to be null if one only wants the cycle
- return the actual name length so the caller can know whether the name
was truncated or not
- improve function documentation
[cppyy] Disable warnings for invalid function casts
Some C++ functions defined in CPyCppyy are passed to CPython API, e.g.
to build Python methods that use some C++ functionality. This is done by
creating a instance of a PyMethodDef struct
(https://docs.python.org/3/c-api/structures.html#c.PyMethodDef). One
data member of this struct is of type PyCFunction
(https://docs.python.org/3/c-api/structures.html#c.PyCFunction), a
typedef of a function with signature
```
PyObject *PyCFunction(PyObject *self,
PyObject *args);
```
In many cases, the C++ functions that are used as the data member of the
PyMethodDef are not directly implemented as PyCFunction, thus need to be
cast. This cast is often invalid, since many of such functions do not
really respect the function signature prescribed by the API. This
pattern is actually encouraged for CPython extension implementations by
the official CPython docs
(https://docs.python.org/3/extending/extending.html#keyword-parameters-for-extension-functions).
As such, the compiler warnings that are generated becausee of the
invalid function casts, for example
```
root/bindings/pyroot/cppyy/CPyCppyy/src/Pythonize.cxx:1949:50: warning: cast from 'PyObject *(*)(PyObject *)' (aka '_object *(*)(_object *)') to 'PyCFunction' (aka '_object *(*)(_object *, _object *)') converts to incompatible function type [-Wcast-function-type-mismatch]
1949 | Utility::AddToClass(pyclass, "__repr__", (PyCFunction)ComplexRepr, METH_NOARGS);
```
cannot be avoided and have to be suppressed. This is also done upstream,
see wlav/CPyCppyy@33d4a6e
Implementing requested changes by @vepadulano
[tree] Reset missing proxies list when changing trees.
When changing trees while the missing value feature of RDF was in use,
the proxies for branches could not get recreated, since TTreeReader
refuses the registration when fProxiesSet == true.
This lead to the TTreeReaderValue being in a broken state.
[tree] Refactor vector of missing proxies to a set.
When running over multiple trees, the list of missing proxies in
TTreeReader will grow indefinitely. Here, it is refactored to a set,
which also shortens the code that looks up the missing proxies.
[tree] Include branch name in an error message.
Pointed out by Philippe in #18259.
[tree] Make test of error messages a bit more rigid.
In debugging a UB in TTreeReaderValueBase, it would have been easier to
have an explicit note of the expected error messages of that test.
Instead of globally suppressing all errors, the three expected message
were added here.
[tree] Don't dereference a nullptr in TTreeReaderValue test.
On mac15 beta, this generated a SIGTRAP, while it was OK on all other
platforms, because the reference was never used.
But retrieving the pointer instead of dereferencing, the problem
seems to go away.
[CMake] Restore Python tutorial dependencies.
Due to a missing quote, dependencies on Mac15 beta seemed to have gotten
deleted.
[ntuple] apply I/O rules also to persistent members
[ntuple] test I/O rule of persistent member
[json] check if map class has dictionary
When stream directly std::map object in macro like:
```
std::map<int,string> m;
m[1] = "number 1";
m[2] = "number 2";
auto json = TBufferJSON::ToJSON(&m);
```
Real dictionary class for std::map is required.
It checked automatically when map is member of user class,
but was not checked when map object intself streamed
[json] check map dictionary also when read object
Same when write object, reading is not possible for std::map<>
object without dictionary
[json] mention GenerateDictionary for map classes in documentation
While std::map uses in TBufferJSON in documentaiton,
mention gInterpreter->GenerateDictionary
[CMake] Improve handling of RPATH options
Some improvements to the handling of RPATH options, which are necessary
on my system because I need to add a custom RPATH to make my CUDA
package from nix packages findable.
1. Don't set CMake variables to `FALSE` if the default is `FALSE`
already. This makes it impossible to change these variables from
the CMake user configuration, unnecessarily taking flexibility out
of the build system.
2. If `rpath=ON`, ROOT adds the relative path from the binary
directory to the lib directory to the RPATH. But it doesn't append
it, overriding any `CMAKE_INSTALL_RPATH` that the user might set in
the CMake configuration. This commit suggests to append instead.
3. If `rpath=OFF`, ROOT sets `CMAKE_SKIP_INSTALL_RPATH` to `TRUE`
without any apparent reason, again, preventing the user from
defining the RPATH via `CMAKE_INSTALL_RPATH`. This commit suggests
to remove that line.
[cppyy] Do not use non-C++ GCC warning
Although `bad-function-cast` is present for both Clang and GCC, on the
latter it is only used for C and Objective-C code. Using
`no-cast-function-type` seems to already disable the
PyCFunction-cast-related warnings seen with AppleClang.
[ntuple] update RNTupleModel's documentation
[math] Ignore vla-cxx-extension in case veccore is active
Reintroduce rcanvas_mt.cxx demo with TH1 classes
Old macro was used RH1D classes
But RCanvas multithreading can be tested without it
[rbrowser] reintroduce provider for RCanvas class
RBrowser has to know about RCanvas class and
which library to load to get access to that class
[jsroot] dev 4/04/2025 with RPad fix
Fix redraw of RPad primitives
Adjust RAxis drawing
Adding suggestions from @ferdymercury
Copy file name to clipboardExpand all lines: README/ReleaseNotes/v636/index.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -38,8 +38,8 @@ The following people have contributed to this new version:
38
38
* The `RooDataSet` constructors to construct a dataset from a part of an existing dataset are deprecated and will be removed in ROOT 6.38. This is to avoid interface duplication. Please use `RooAbsData::reduce()` instead, or if you need to change the weight column, use the universal constructor with the `Import()`, `Cut()`, and `WeightVar()` arguments.
39
39
* The ROOT splash screen was removed for Linux and macOS
40
40
* Proof support has been completely removed form RooFit and RooStats, after it was already not working anymore for several releases
41
-
* The build options `mysql`, `odbc`, `pgsql`and `qt5web`have been deprecated. Please complain with [email protected] should you still need one!
42
-
* The build option`html`has been removed.
41
+
* The build options `mysql`, `odbc`, `pgsql` have been deprecated. Please complain with [email protected] should you still need one!
42
+
* The build options`html`and `qt5web` have been removed.
43
43
* The ClassImp macro and derived macros have no effect now and will be deprecated in ROOT 6.38.
44
44
* The default TTreeFormula constructor (without arguments) is now deleted, since it lead to an unusable and unsafe object. Instead, this implementation has been reserved now for ROOT I/O exclusively via the TRootIOCtor argument tag.
45
45
* The `RooStats::HLFactory` class was deprecated will be removed in ROOT 6.38. It provided little advantage over using the RooWorkspace directly or any of the other higher-level frameworks that exist in the RooFit ecosystem.
0 commit comments