CHANGES IN VERSION 1.44.0
-----------------------

NEW FEATURES

    o Add `lifeCycle`, `deprecate_warn`, and `deprecate_stop` to the list of
    functions for the `.Deprecated` / `.Defunct` check.
    o Support checking `\()` syntax as anonymous R functions.
    o Exclude comment-only lines in function lengths check (@hpages, #220)
    o Add `checkFndPerson()` to validate Authors@R / Authors fields in the
    `DESCRIPTION` file. A corresponding `NOTE` is shown in the vignette (#215)
    o Refactor function length check to count only coding lines and not comment
    lines (@hpages, #220)

BUG FIXES AND MINOR IMPROVEMENTS

    o Check file sizes only for source directories and in `BiocCheckGitClone`
    (@hpages, #219)
    o Use R version from `BiocManager:::.version_map` for
    `checkRVersionDependency` (@helenalc, #223)
    o Use `checkInstalled()` to verify packages listed in `Suggests:`
    o Suppress warning in `.hasPkg()` when the package is not installed
    o Use `INFO` messages instead of bullet points in output

CHANGES IN VERSION 1.42.0
-----------------------

NEW FEATURES

    o Use the `cli` R package to update the aesthetics of the output.

BUG FIXES AND MINOR IMPROVEMENTS

    o Fix issue in `checkVigSuggests` internal function to only extract
    packages that should be in the `Suggests` field.
    o Fix issue where the lookbacks in static code searches were not
    iterating over all of the indices. This affects all functions that
    searched through code in R and vignette files.
    o Non-interactive sessions default to old output syntax.
    o Use full names e.g., 'WARNING' in report output for `grep`ping by
    dependent software, i.e., Single Package Builder (SPB)


CHANGES IN VERSION 1.40.0
-----------------------

NEW FEATURES

    o Check for duplicate chunk labels in vignettes and produce an error when
    present (@hpages, #199)
    o Warn when Rnw vignettes are present (@jwokaty, #190)
    o Add error when maintainer email not parse-able in DESCRIPTION
    o Check for Bioconductor dependencies in the Imports and Depends fields;
    if none, produce a warning (@vjcitn).
    o Remove redundant `DESCRIPTION` and `NAMESPACE` consistency checks; these
    are already included in `R CMD check`

BUG FIXES AND MINOR IMPROVEMENTS

    o Produce `NOTE` instead of `WARNING` for infrastructure packages without
    Bioconductor dependencies
    o `% \VignetteEngine` tags with spaces were not recognized; this has been
    fixed
    o Skip `\value` checks for package and class documentation; `\formats`
    checked for data documentation
    o Delegate system calls to `devtools::build` to build packages
    o Update `checkRbuildignore` to flag `test` and `longtests` entries
    appropriately (@hpages, #197)
    o Fix issue where BiocCheck would fail when errors caused by duplicate chunk
    labels were present (@hpages, #199)
    o Avoid format checks e.g., length, indentation, and tabs for Rd files
    that use roxygen2
    o Use the `tools:::analyze_licenses` function to check for restrictive
    license use (@hpages, #119)
    o Use httr2 over httr for http requests
    o Clarify `NOTE` and `WARNING` messages for `CITATION` file inclusion
    (#209).

CHANGES IN VERSION 1.38.0
-----------------------

BUG FIXES AND MINOR IMPROVEMENTS

    o Exclude data docs with `\\format` tags in addition to 'package' docs when
    checking for `\\value` / `@return` in documentation.
    o Resolve unknown macro warnings when using Rdpack (@LiNK-NY, #196)
    o Improve the `read.dcf` operation that looks for any deprecated packages
    in both Bioconductor release and devel versions.
    o Remove overwrite prompt when updating cached resources in deprecated
    packages check.

CHANGES IN VERSION 1.36.0
-----------------------

NEW FEATURES

    o Include size limit checks for data files in `data`, `inst/extdata`, and
    `data-raw` folders (@lshep, @const-ae, #167, #67)
    o Source package directories that include an `inst/doc` folder with files
    are now flagged with an error. `doc` folders are generated during
    `R CMD build`.
    o The error for packages already hosted on CRAN has been converted to a
    warning (@lshep, #177). Any such incoming packages must be removed from CRAN
    before the following Bioconductor release.

BUG FIXES AND MINOR IMPROVEMENTS

    o Filter out 'package' docTypes from '\value' documentaiton checks
    (@grimbough, #189)
    o Obtain a more complete list of deprecated packages for
    `checkDeprecatedPkgs`
    o Fix issue with path seperators on Windows ('\\' vs '/') causing the unit
    test for `getBiocCheckDir` to report erroneous mismatches (@grimbough, #175)
    o Fix bug where the wrong number of functions with length greater than 50
    was reported (@grimbough, #182)
    o biocViews term suggestions should be a scalar character (@lcolladotor,
    #184)
    o Update email in bioc-devel subscription check (@lshep, #185)
    o Handle function length checks when there is no R code (@lshep, #186)
    o Edit warning text when empty or missing `value` sections are found in
    a package (@vjcitn)
    o `checkForValueSection` re-implemented for clarity; filters out comments
    in `value` sections (@LiNk-NY)
    o Correctly identify `Rd` comments by updating the regular expression to
    identify them (@LiNk-NY)

CHANGES IN VERSION 1.34
-----------------------

NEW FEATURES

    o Redundant package dependencies checks between `DESCRIPTION` and
    `NAMESPACE` have been removed. These are already present in `R CMD check`
    as "checking package dependencies".
    o Use `callr` to run `BiocCheck` in a separate process, this avoids
    interference with loaded packages (@vjcitn, #158)

BUG FIXES AND MINOR IMPROVEMENTS

    o Update `checkVigInstalls` and `checkVigBiocInst` to avoid false positives
    (@almeidasilvaf, #170).
    o Only count non evaluated chunks when there are any present in the
    vignette
    o Fix false positive WARNING "Import {pkg} in NAMESPACE as well as
    DESCRIPTION." where pkg was not in NAMESPACE but it was used using double
    colons pkg::function inside an S4 method. (@zeehio, #166)
    o Fix bug where inputs to `getDirFile` were vectors in
    `checkForValueSection` (@zeehio, #163)
    o Allow lookback for matching T/F and exclude list elements, e.g., `list$F`
    (@lshep, #161)
    o Fix indentation count by excluding yaml front matter from vignettes
    (@harpomaxx, #100)
    o Update internal documentation of the `BiocCheck-class`
    o Fix bug where line numbers were off due to removal of empty lines at
    parsing (@lshep, #159)
    o Slightly improve sentence counter for Description field check
    (@lshep, #160)
    o Update documentation links to point to contributions.bioconductor.org
    (@LiNk-NY, #157)

CHANGES IN VERSION 1.32
-----------------------

NEW FEATURES

    o Add package metadata to main report for easier diagnostics
    o `<pkgname>.BiocCheck` folder, created above the package folder, includes
    the full report and NAMESPACE suggestions, if available.
    o Add check to find any stray `<pkgname>.BiocCheck` folders
    o Update doc links and recommendations for additional information in report
    o Update `BiocCheck` report to be more brief by only noting the conditions;
    details are included in the full report

BUG FIXES AND MINOR IMPROVEMENTS

    o Initialize default verbose value (FALSE) for internal reference object
    o Flag only hidden '.RData' files as bad files and allow 'myData.RData'
    (@hpages, #155)
    o Improve internal handling of condition messages with unified mechanism
    o Internal improvements to `BiocCheck` mechanism: export `.BiocCheck` object
    which contains all conditions, log list, and method for writing to JSON
    o Update to changes in R 4.2 `--no-echo` flag
    o Make use of `lib.loc` to helper functions that install and load the
    checked package
    o (1.31.36) Reduce function length count slightly by removing empty lines.
    o (1.31.35) Restricted files in `inst` will be flagged with a `WARNING`
    instead of an `ERROR`
    o (1.31.32) Account for S3 print methods when checking for `cat` usage
    o (1.31.31) Single package imports in the NAMESPACE were breaking the code
    to get all package imports.
    o (1.31.29) Include other import fields from NAMESPACE file when checking
    consistency between imports in DESCRIPTION/NAMESPACE.
    o (1.31.27) Update and clean up unit tests.
    o (1.31.26) Improve load test for the package being checked.
    o (1.31.25) Exclude GitHub URLs that end in HTML from external data check.
    o (1.31.23) Internal updates to the `require` and `library` check.
    o (1.31.22) Remove old code related to running `BiocCheck` on the command
    line and update `BiocCheck` documentation.
    o (1.31.21) Remove redundant `=` from message to avoid `=` assignment.
    o (1.31.20) Add line feed to "Checking function lengths..." message
    o (1.31.18) Packages should not download files when loaded or attached.
    o (1.31.17) Using '=' for assignment should be avoided and '<-' should be
    used instead for clarity and legibility.
    o (1.31.16) Note the use of `cat` and `print` outside of show methods.
    o (1.31.15) Check for pinned package versions in the `DESCRIPTION` file
    denoted by the use of `==`.
    o (1.31.14) Enhancements to internal helper functions and
    `BiocCheckGitClone`
    o (1.31.13) Revert move to new package checks. Update Bioc-devel mailing
    list check to fail early when not in BBS environment.
    o (1.31.12) Move Bioc-devel mailing list and support site registration
    checks to new package checks.
    o (1.31.10) Various internal improvements to `BiocCheck` and the
    identification of the package directory and name.
    o (1.31.6) Use a more reliable approach to identify package name from the
    `DESCRIPTION` file.
    o (1.31.5) Fixed bug in the case where the `VignetteBuilder` field in the
    a package's `DESCRIPTION` has more than one listed.
    o (1.31.3) Add `BioCbooks` repository url to
    `checkIsPackageNameAlreadyInUse`, `VIEWS` file is pending.
    o (1.31.2) Fix logical length > 1 error in `checkImportSuggestions`
      (@vjcitn, #141)
    o (1.31.1) Simplify check for function lengths; remove excessive dots.

CHANGES IN VERSION 1.30
-----------------------

NEW FEATURES

    o (1.29.10) Check for `Sys.setenv` and `suppressWarnings`/`suppressMessages`
    o (1.29.8) Check for `sessionInfo` / `session_info` in vignette code.
    o (1.29.5) Check for installation calls in vignette code.
    o (1.29.1) Check for `install()` function calls in R code.

BUG FIXES

    o (1.29.14) Various internal improvements to the codebase.
    o (1.29.12) Checks on class membership code now include `is() ==` grammar.
    o (1.29.6) Use appropriate input (`pkgdir`) to internal checking functions.
    o (1.29.3) Add unit tests for legacy function searches.
    o (1.29.2) rename internal function from checkIsPackageAlreadyInRepo to
    checkIsPackageNameAlreadyInUse

CHANGES IN VERSION 1.27
-----------------------

BUG FIX

    o (1.27.17) Update support site watched tags. tags are case insensitive
    o (1.27.15) Reporting checking of vignette despite package type
    (@lshep, #136)
    o (1.27.9) Allow portability of child Rmd documents via parseFile
    o (1.27.3) Correct check for if package already exists in CRAN/Bioc
    o (1.27.3) Correct check for single colon use
    o (1.27.2) Correct path to R license database file by calling
    R.home('share').


NEW FEATURES

    o (1.27.16) Check vignettes for all package types (@lshep, #136)
    o (1.27.12) Check for `LazyData: TRUE` in the DESCRIPTION (@lshep, #128)
    o (1.27.11) R version dependency check in the 'DESCRIPTION' is now a
    'NOTE' (@lshep, #126)
    o (1.27.10) Check for 'error' and other keywords in signaler functions,
    'message', 'warning', and 'stop' etc. (@hpages, #125)
    o (1.27.8) Check for 'tests' entry in '.Rbuildignore'
    o (1.27.7) Removed BiocCheck and BiocCheckGitClone installation scripts;
    recommended usage is `BiocCheck()`
    o (1.27.6) Check that a user has the package name in watched tags of
    support site
    o (1.27.5) Check for 'paste' / 'paste0' in signaler functions, 'message',
    'warning', and 'stop' (@LiNk-NY, #64)
    o (1.27.4) Check for downloads from external resources (github, gitlab,
    bitbucket, dropbox; @LiNk-NY, #75)
    o (1.27.1) Check that licenses do not exclude classes of users,
    e.g., non-academic users.

CHANGES IN VERSION 1.25
-----------------------

DEPRECATION ANNOUNCEMENT

    o (1.25.11) R CMD BiocCheck and R CMD BiocCheckGitClone are deprecated. The
    recommended way to run the functions is within R.

NEW FEATURES

    o (1.25.1) Check for warning/notes on too-brief a Description: field
    (@federicomarini, #65)
    o (1.25.4) Check for single colon typos when using qualified imports
    pkg::foo()
    o (1.25.8) Validate ORCID iDs (if any) in the DESCRIPTION file
    (@LiNk-NY, #97)
    o (1.25.10) Add check for properly formatted CITATION file
    o (1.25.12) Add NOTE to change dontrun to donttest

BUG FIXES

    o (1.25.14) The ORCID iD check now accepts IDs with a X at the end.
    o (1.25.9) All packages including infrastructure require a vignette
    o Usage of donttest and dontrun in manual pages tagged with the keyword
    'internal' will no longer trigger a NOTE (@grimbough, #59)
    o (1.25.7) Adding the sessionInfo at the end of the vignette (@llrs)

USER SIGNIFICANT CHANGES

    o (1.25.3) Require Aurhors@R format over Author/Maintainer fields in the
    DESCRIPTION file. This has been upgraded to an ERROR.
    o (1.25.2) Suggest styler over formatR for automatic code re-formatting
    (@lcolladotor, #57).
    o (1.25.5) Add warning to new package versions with non-zero x version
    (@mtmorgan, #101)


CHANGES IN VERSION 1.23
-----------------------

BUG FIX

    o (1.23.4) Update locations for NEWS
    o (1.23.1) Fix False Positive class == check

CHANGES IN VERSION 1.19
-----------------------

NEW FEATURES

    o (1.19.33) Add Authors@R vs Author/Maintainer check
    o (1.19.29) Add non evaluated code chunks that have not been executed
    because of invalid syntax (```, ```R, ```r). Valid syntax for an evaluated
    code chunk takes the form ```{r} or ```{R}.
    o (1.19.28) Check that vignette metadata set correctly
    o (1.19.27) Check for Author@R or Author/Maintainer but not both
    o (1.19.25) Check for use of remotes: in Description
    o (1.19.18) Check for use of dontrun/donttest
    o (1.19.15) Check vignetteEngine/vignetteBuilder minimially declared in
    Suggests
    o (1.19.9) Check usage of donttest and dontrun in man page documentation
    o (1.19.9) Update deprecated check to check for Bioconductor release and
    devel deprecated packages as specified in biocViews
    o (1.19.7) More helpful ERROR when using a non valid command line option.
    o (1.19.4) All checks module. Ability to turn on/off with flag options. See
    'R CMD BiocCheck --help'
    o (1.19.1) New Check options to turn off if in CRAN (--no-check-CRAN) and
    Bioconductor mailing list and support site (--no-check-bioc-help)

USER SIGNIFICANT CHANGES

    o (1.19.8) Updated Documentation in vignette for flag/option controls and
    reorganization of code/checks. Grouped similar checks together and changed
    order of checks.
    o (1.19.3) Remove Native Routine Registrations (use flag in R CMD check
    instead _R_CHECK_NATIVE_ROUTINE_REGISTRATION_)
    o (1.19.2) Match CRAN standards of package size <= 5MB (updated from 4MB)

BUG FIXES

    o (1.19.26) Fix NEWS check to recognize NEWS.md
    o (1.19.26) Check all repos for existing package not just software
    o (1.19.23) Informative message if no biocViews term found
    o (1.19.22) Fix output of system2 usage check
    o (1.19.19) Test only closures for T/F
    o (1.19.14) Fix ERROR when more than one VignetteEngine found
    o (1.19.10) Add suggestion of FormatR package to formatting notes
    o (1.19.10) Fix function lengths to be a NOTE and only display if functions
    are greater than 50 lines long.
    o (1.19.6) Replace use of devtools::create with usethis::create_package as
    function was deprecated.
    o (1.19.5) Fix length > 1 logical comparison in if statement

CHANGES IN VERSION 1.17
-----------------------

NEW FEATURES

    o (1.17.21) Added quit-with-status option to both BiocCheck and
    BiocCheckGitClone for compatibility with travis

    o (1.17.18) Update devel to use BiocManager instructions instead of
    BiocInstaller

    o (1.17.17) Add a new function that can be run interactive or command line
    BiocCheckGitClone which is only run on a source directory not a
    tarball. This will check for bad system files

    o (1.17.17) BiocCheck addition: Checks vignette directory for intermediate
    and end files that should not be included.

    o (1.17.16) Checks for Bioconductor package size requirement if checking
    tarball

BUG FIXES

    o (1.17.19) Updated internal functions to use BiocManger instead of
    BiocInstaller

CHANGES IN VERSION 1.16
-----------------------

BUG FIXES

    o handle interactive BiocCheck() arguments correctly

CHANGES IN VERSION 1.14
-----------------------

NEW FEATURES

    o NOTE when maintainer subscription to bioc-devel mailing list
      cannot be checked (checking requires mailing list admin
      password).

BUG FIXES

    o Use shell quotes to allow spaces in package paths