| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| datareel-6.2.tar.gz | 2026-10-31 | 1.7 MB | |
| datareel-6.2.tar.gz.sha256sum | 2026-10-31 | 86 Bytes | |
| datareel-6.2.zip.sha256sum | 2026-10-31 | 83 Bytes | |
| datareel-6.2.zip | 2026-10-31 | 2.5 MB | |
| DataReel 6.2 source code.tar.gz | 2026-10-26 | 1.7 MB | |
| DataReel 6.2 source code.zip | 2026-10-26 | 2.5 MB | |
| README.md | 2026-10-26 | 3.2 kB | |
| Totals: 7 Items | 8.5 MB | 0 | |
DataReel 6.2 Release Notes, 10/25/2026 DataReel version 6.2 (was 6.1) DataReel Copyright (c) 2001-2026 DataReel Software Development
DataReel 6.2 adds more fixes for damaged or crafted database and index files found by the security review of the Encrypted Password Database, a new gxDatabase::SetWriteHook() function, wxWidgets 3 header fixes and a CMake build. Every change in the source is marked with a "10/25/2026" comment.
The library version in version.txt is 6.2 and the shared library version (SHAREDLIB_VERSION in env/linux.env) is 6.2, so the Linux shared library is built as libdatareel.so.6.2. gxDatabase has two new members, so programs must be recompiled against the 6.2 headers and relinked.
SECURITY FIXES
- gxBtree search, insert and delete walks stop with gxDBASE_BADBLOCK_ERROR after gxBtreeMaxNodeReads (4096) node reads, so a node in a damaged or crafted index file that points back up the tree cannot make them loop forever. The BtreeCache variants are not changed.
- InfoHog Find(), CompareIndex() and RebuildIndexFile() no longer loop forever on a data file block length shorter than a block header, and skip objects that cannot be read instead of using the key member of a failed read.
NEW FUNCTION
- gxDatabase::SetWriteHook() sets a function that is called after each successful Write(), so an application can tell its own changes to a file from changes made by others. The Encrypted Password Database uses it to update its database MAC.
WXWIDGETS 3
- wx3incs.h: the include guard tested GX_WX3NCS_HPP but defined GX_WX3INCS_HPP, so the header was never guarded.
- gxshtml.cpp: the wxWidgets 3.x code included wx2incs.h instead of wx3incs.h, and called wxYield() even when GUI_THREAD_SAFE was not defined. wxYield() from a worker thread is not allowed in wxWidgets 3.
- "defined (wxWIN201) || (wxWIN291)" tested the value of wxWIN291 instead of whether it is defined. Both now use defined().
- The new wxWIN3 macro selects the wxWidgets 3.x code for any 3.x release (3.0 through 3.3). It is interchangeable with wxWIN302, so existing code is unchanged.
CMAKE BUILD
- A CMakeLists.txt in the top-level directory builds the same objects as the makefiles into a static library (DataReel::datareel) on Linux and Windows, with options for SSL (OpenSSL, Schannel or none), console or wxWidgets message display, the 64-bit database engine and native types. See "BUILDING WITH CMAKE" in README.txt. The makefiles are unchanged.
HOW THE CHANGES WERE TESTED
- An index file whose node points to itself is rejected with an error instead of looping, and the database examples give the same results as with 6.1.
- On RHEL 10 the library builds with no warnings with the makefiles and with CMake, and the example and utility programs build against it.
DOCUMENTATION
- Historical references to version 5 were reworded, the documentation footers read DataReel 6.2, and the Cluster Manager page describes DRCM 1.42.
DataReel Copyright (c) 2001-2026 DataReel Software Development