Changes in version 2.3.0 (2026-01-16) - fixed issues with hanging interrupts on Rgui.exe and similar (#82). - fixed non-virtual destructor warning in ProgressPrinter base class (#80, thanks @SpatLyu). Changes in version 2.2.0 (2025-01-07) NEW FEATURE - Added RMatrix class (from the RcppParallel package) to allow for thread safe access to R matrices (#74, thanks @rorynolan). BUG FIX - Fixed compilation warning about R_NO_REMAP being defined multiple times (#77, thanks @tylermorganwall) Changes in version 2.1.7 (2024-02-09) BUG FIX - enable check for standalone libatomic on Windows (#72, thanks @kalibera) Changes in version 2.1.6 (2023-10-18) NEW FEATURES - allow custom message in ProgessCounter (thanks @tylermorganwall) Changes in version 2.1.5 (2023-07-07) BUG FIX - Fixes static lifetime issue on MacM1. Changes in version 2.1.4 (2023-07-06) BUG FIX - Fixes order of headers in detectCores.cpp. REQUIREMENTS - Remove Systemrequirements: C++11 Changes in version 2.1.3 (2022-03-17) BUG FIX - Fixes clang-14 warning about bitwise & with Boolean operands. Changes in version 2.1.2 (2022-03-11) NEW FEATURE - R function LdFlags() to portably generate linker flags for libatomic/pthread. See README for details. Changes in version 2.1.0 (2022-02-28) NEW FEATURE - safe printing to the R error stream with RcppThread::Rcerr (#60, thanks to @appelmar). BUG FIX - adapt thread affinity to possibly restricted CPU set (#61). Changes in version 2.0.1 (2022-01-27) BUG FIX - safeguard construction of memory aligned objects. Changes in version 2.0.0 (2022-01-25) NEW FEATURES - Add R function detectCores() (#48). - Add classes ProgressCounter and ProgressBar for tracking progress in long- running loops (#49). - Increased speed due to work-stealing and lock-free pops (#51, #52, #53). - Free-standing parallelFor() and parallelForEach() functions now dispatch to a global thread pool that persists for the entire session. This significantly speeds up programs that repeatedly call these functions. (#54) - New free-standing push(), pushReturn()/async(), and wait(), mirroring functionality from ThreadPool. (#56) - Option to resize a thread pool (#56). Changes in version 1.0.0 (2021-02-02) - Release for JSS publication https://doi.org/10.18637/jss.v097.c01. Changes in version 0.5.4 (2019-10-19) - Fixed warning for move constructor in ThreadPool (#35, #36, thanks @asardaes for noticing). Changes in version 0.5.3 (2018-11-23) - Improved handling of exceptions thrown from threads. Changes in version 0.5.2 (2018-11-12) - Limit number of threads in unit tests. - Fixed typos in package vignette. Changes in version 0.5.1 BUG FIXES - Fix portability issues related to native_handle_type. - Fix signed/unsigned comparison in parallelFor(). - Fix signed/unsigned warnings in unit tests. Changes in version 0.5.0 (2018-11-02) DEPENDENCIES - Rcpp is no longer a hard dependency, but only used for unit tests. This avoids unnecessary compilation time during package installation. NEW FEATURES - New vignette available, see browseVignettes("RcppThread"). - New functions parallelFor() and ForEach() allowing parallel for loops with load balancing. Can also be called as method of a ThreadPool. - Options to override std::thread and std::cout with RcppThread equivalents using preprocessor variables RCPPTHREAD_OVERRIDE_THREAD and RCPPTHREAD_OVERRIDE_COUT. - Several minor performance optimizations. Changes in version 0.4.0 (2018-06-12) NEW FEATURE - New function ThreadPool::map() that allows to map a function a list of items. Changes in version 0.3.0 (2018-05-22) NEW FEATURE - A ThreadPool can now be instantiated with zero threads in the pool. It will then do all work pushed to it in the main thread. Changes in version 0.2.0 (2018-04-23) NEW FEATURE - ThreadPool has a new method wait() that waits for all jobs to be done without joining the threads. This way the thread pool can be re-used for different types of tasks that need to be run sequentially. Changes in version 0.1.3 (2017-12-27) BUG FIX - Don't check print output of multi-threaded code b/c of random results. Changes in version 0.1.2 (2017-11-24) DEPENDS - Now available for R (>= 3.3.0). BUG FIX - Fixed a randomly failing unit test. Changes in version 0.1.1 (2017-11-07) BUG FIX - Default initialize static Rcout instance in header file (#9; couldn't link shared library on r-hub, see discussion in #8) Changes in version 0.1.0 (2017-10-27) - Initial release.