Changes in version 3.5.1 (2025-10-29) Bugfixes 1. By default, the andromedaMemoryLimit option will be set to 20% of system memory / number of threads instead of 75%. This avoids out-of-memory errors when there are multiple Andromeda objects per thread. Changes in version 3.5.0 (2025-08-27) Changes 1. Added setAndromedaThreads argument to makeCluster(). When TRUE (default), the number of threads Andromeda can use will be equally divided across ParallelLogger threads. Changes in version 3.4.2 (2025-06-05) Bugfixes 1. The getPhysicalMemory() package now uses the memuse package, for simplicity and better reliability. 2. Fixed problem with detection of running as notebook that prevented registration of loggers. Changes in version 3.4.1 (2025-03-28) Bugfixes 1. Fixes getPhysicalMemory() on some Mac machines, to prevent getting kicked of CRAN. Changes in version 3.4.0 (2025-03-27) Changes 1. Exposing getThreadNumber() function that can be used to determine which thread we're in (including the main thread). 2. Updating selectFromList() to support selection from R6 objects. 3. Added getPhysicalMemory() function. 4. Added setAndromedaMemoryLimit argument to makeCluster(). When TRUE, the andromedaMemoryLimit option will be set in each thread to be either the global andromedaMemoryLimit / numberOfThreads or 75% of the system memory / number of threads. 5. Do not register loggers if running as notebook; doing so causes stack error. Changes in version 3.3.1 (2024-08-23) Bugfixes 1. Fix error when loading empty data frame. Changes in version 3.3.0 (2023-08-22) Changes 1. Switching from mailR to sendmailR for sending e-mails, which has fewer dependencies. Bugfixes 1. Fixing test for whether packages exist, which was causing errors on some Linux versions. Changes in version 3.2.0 (2023-06-27) Changes 1. When calling any log function (e.g. logInfo()) before any loggers are registered, ParallelLogger no longer creates a default console logger, but just writes the output to console (except for logTrace() and logDebug()). Global handlers will not be registered until a logger is registered explicitly (using registerLogger()). As a consequence, any warnings about calling global handlers with callers on the stack (when in a try...catch) will not occur until explicitly registering a logger. Changes in version 3.1.0 (2022-12-08) Changes 1. Truncating long argument values when a thread throws an error in clusterApply() to avoid clutter. 2. Showing warning about being inside a tryCatch or withCallingHandlers block only once per R session. 3. The matchInList() function now looks for equivalence, not exact match (e.g. a numeric and integer can still be considered the same). Bugfixes 1. Fixed issue when loading a JSON object where the first item in a list is a data frame. Changes in version 3.0.1 (2022-06-07) Changes 1. Throw more informative error message if file not found in loadSettingsFromJson(). Bugfixes 1. Fixing extraction of parameter documentation in createArgFunction() on R >= 4.2.0. 2. Fixes error when saving and loading tibbles to JSON. Changes in version 3.0.0 (2022-02-04) Changes 1. Using new globalCallingHandlers functionality introduced in R 4.0.0 to capture warnings, errors and messages. This should be more stable than the legacy code. 2. All message() calls are now logged automatically (at the 'INFO' level) Changes in version 2.0.2 (2021-07-16) Changes 1. Log file viewer uses chunking to allow viewing of huge log files. Bugfixes 1. Disabling capturing of errors and warnings during R Check and unit testing so R Check fails if an error occurs during testing. Changes in version 2.0.1 (2020-10-26) Changes 1. Changed dependency from XML to xml2 to avoid trouble installing dependencies. 2. Allow override of name of default loggers. Bugfixes 1. Correct function attribution in log when using rlang warn or abort. Changes in version 2.0.0 (2020-06-07) Changes 1. Simplifying argument functions. 2. Dropping support for ff in favor of Andromeda. Bugfixes 1. Fixing missing spaces in argument function documentation. 2. More gracefully handling unnamed lists when saving and loading from JSON. Changes in version 1.2.0 (2020-04-22) Changes 1. Errors in a cluster are now also logged by the remote thread. This allows for example for the stack trace to be captured. The e-mail logger will only be triggered by events in the main thread to avoid spam. 2. Added the layoutErrorReport layout. 3. Added overwrite and expirationTime arguments to createFileAppender. 4. Added the addDefaultErrorReportLogger function. 5. Improved stack trace. 6. Changed names of default loggers to DEFAULT_FILE_LOGGER, DEFAULT_EMAIL_LOGGER, and DEFAULT_ERRORREPORT_LOGGER. 7. Added 'silent' argument to unregisterLogger function. Bugfixes 1. Now walking up the stack to try to evaluate warning message. For example prevents 'wrn not found' errors when using tidyVerse packages. Changes in version 1.1.2 (2020-03-28) Bugfixes 1. Fixing error when ggplot2 (v3.3.0) throws a warning. Changes in version 1.1.1 (2019-10-30) Bugfixes 1. Call to .Deprecated() no longer causes silent crash. Changes in version 1.1.0 (2019-01-21) Changes 1. Added e-mail appender and layout. Changes in version 1.0.1 (2018-10-25) Changes 1. When the folder containing the log file is deleted while logging, a warning is thrown (instead of an error), and the file appender is automatically deleted. 2. The Shiny app now ignores malformed lines in the log file (instead of throwing an error). Changes in version 1.0.0 (2018-07-05) initial submission to CRAN