ChangeLog for package roxyPackage

changes in version 0.10-2 (2024-07-23)
fixed:
  - news2rss(): adjusted to newer HTML scheme again, which now uses
    <html><body><div><main> instead of <html><body><div> for its content
changed:
  - ChangeLog: corrected the entry that a workaround for XiMpLe was added to
    not get confused by an empty "defer" attribute; this was fixed in XiMpLe
    0.11-1 and so the workaround had been removed before the final 0.10-1
    release of roxyPackage

changes in version 0.10-1 (2023-03-03)
fixed:
  - news2rss(): adjusted to newer HTML scheme, which now uses
    <html><body><div> instead of just <html><body> for its content
  - debianizeKeyring(): default package description now uses a proper
    synopsis
  - debianize()/debianizeKeyring(): description lines are now adjusted to
    adhere to the 80 character limit
  - roxy.html(): tracked down an issue that prevented the generation of
    index.html files because XMLNode() was given a list
added:
  - roxy.package(): new argument "pck.aliases" to manually define aliases
    used in the *-package.Rd file, useful if your package has the same name
    as one of its functions or methods
  - roxy.package(): added usethis block to *-package.Rd file
  - roxy.package(): added generator note to *-package.Rd file, so you know it
    won't last long if you edited the file manually
changed:
  - debianize()/debianizeKeyring(): lifted Standards-Version to 4.6.1.1,
    compat level to 10, and changed Priority from "extra" to "optional" also
    for keyring packages
  - internally, private function autoLineBreak() is now a mere wrapper for
    strwrap() for simple cases
  - package now depends on XiMpLe >=0.11-1, making workarounds for empty XML
    attributes obsolete
  - internally, XML/HTML code is no longer generated using XiMpLe::XMLNode(),
    but helper functions like a_() or span_(), using
    XiMpLe::gen_tag_functions()

changes in version 0.06-5 (2021-05-10)
fixed:
  - debianize(): the generated copyright file now has https instead of http
    in the format URL
  - debianizeKeyring(): no longer use ASCII armored key files but binary only
  - debianizeKeyring(): dropped deprecated support for
    /etc/apt/trusted.gpg.d/, also "apt-key add" is no longer used. keys are
    just copied to /usr/share/keyrings/ and therefore *must* be pinned
    explicitly for the reposiory via "[signed-by=/usr/share/keyrings/...]".
    this is the more secure approach, but wasn't supported before 2017
  - roxy.package(): if roxyPackage was in sandbox mode, there were issues
    finding the RSS image
added:
  - roxy.package(): new action "buildEmAll" to trigger builds for multiple
    versions of R (if more than one was provided also)
  - roxy.package(): new action "gitCheckout" to switch to a tagged release
    for binary rebuilds, works well in sandbox mode
  - roxy.package(): HTML page for debain package installation now explains
    how to break the circle and successfully install the keyring package if
    apt refuses to install it because the keyring package wasn't installed
    yet
  - roxy.package(): HTML page now links to ORCID if a valid ID is provided as
    a person's comment named "ORCID"; it will ask you to call
    orcid_icon_fetcher() as well, to fetch the correct icon file
  - orcid_icon_fetcher(): small helper function to download the ORCID SVG
    icon into your repository should you need one
  - roxy.package(): if pandoc is available, README.md and NEWS.md will be
    compiled into HTML versions and linked in a package's index page unser
    "Materials"
  - roxy.package(): new argument "R.libs.append" to add R libraries that are
    by default included during package builds
changed:
  - roxy.package(): adjusted ordering of enties in repo HTML page similar to
    CRAN (contributed by robert nuske)
  - roxy.package(): HTML pages for debian repositories now suggest to include
    "signed-by" in the lists files
  - roxy.package(): the generated README.md now suggests
    "devtools::install_github()" instead of loading the package first
  - roxy.package(): "cleanRd" no longer throws a warning for each file
    changed, but one summary warning listing all affected files
  - roxy.package(): the ChangeLog was moved to "Materials" on a package's
    index page, next to README.html and NEWS.html
  - roxy.package(): if R >= 4.0 is detected, the default directory for debian
    package files will be set to "debR40" instead of "deb"
  - removed deprecated internal functions deb.gen.prerm() and
    deb.gen.postinst()
  - debianizeKeyring(): you can now define multiple OpenPGP keys to sign the
    Release files, which can be used to seamlessly replace a soon expired key

changes in version 0.06-4 (2018-07-29)
fixed:
  - roxy.package(): explicitly set the R library for multiple R builds
added:
  - debianize(): new argument "deb.dir" to use a custom debian main directory
    for the package repository, mainly to make it possible to have separate
    repos for incompatible R versions
  - debianize(): now tries to add proper r-api-* package dependencies if R >=
    3.2 is detected
  - debianizeKeyring() also gained the new "deb.dir" argument
  - sandbox(): new argument "clean" to wipe an existing sandbox before
    setting up a new vanilla one
changed:
  - roxy.package(): if R >= 3.5 is detected, the default directory for debian
    package files will be set to "debR35" instead of "deb"
  - roxy.package(): added "buildVignettes" to the actions only performed only
    during first run if building for multiple R versions
  - archive.packages(): "deb.dir" must now also be set explicitly in the
    "deb.options"
  - roxy.description(): updated internal function responsible for setting up
    the *-package.R file to use more macros (\packageTitle{},
    \packageDescription{}, \packageAuthor{}, and \packageMaintainer{});
    didn't yet get \packageDESCRIPTION{} or \packageIndices{} to generate
    useful info, so that's still done the old way

changes in version 0.06-3 (2018-05-07)
fixed:
  - roxy.package(): fixed a HTML issue introduced with the html.options
    "imprint" and "privacy.policy"

changes in version 0.06-2 (2018-05-06)
fixed:
  - roxy.package(): use "el-capitan" as the default symlink for macOS repos
  - roxy.package(): unset some environment variables that might cause trouble
    if building for multiple R versions
added:
  - roxy.package(): new html.options "imprint" and "privacy.policy" to add
    links to respective pages from your repo

changes in version 0.06-1 (2018-03-08)
fixed:
  - debianize(): worked around a bug in utils::tar() rendering it almost
    useless
  - fixed a really dumb bug in archive.packages() setting the PGP key to 2 by
    default for "deb" archives
changed:
  - the package now needs at least R >= 3.0.0, all code fragments which tried
    to keep supporting R 2.14 and even earlier were removed. no-one should
    use that any longer
  - the arguments 'html.index' and 'html.title' were moved to 'index' and
    'title' of a new option list called 'html.options' for more consistency;
    old code should still work for the time being, but trigger a warning --
    please update your scripts!
  - cleaned up dependencies, now using mostly imports instead
  - set debhelper default dependency to >> 9.0.0 (instead of >> 7.0.0)
  - worked around the news2Rd issue by copying the function to the internal
    namespace
  - there's also no longer a need to call private functions from the XiMpLe
    package
  - replaced private function last.dir.name() with base function basename()
  - repo: changed the way symlinks are set for macOS; we're now creating the
    top level directory and link to ../contrib, to work around issues with
    infinite link loops; this does not affect existing repos, only new ones
  - since Flattr totally changed its API and stuff, the Flattr integration
    was updated. no more buttons will be generated, instead a meta tag is
    added to HTML and/or markdown documents. this also means you need to
    remove the 'flattrUser' value from 'readme.options' and add your meta tag
    ID to the new 'html.options' for this to work correctly
  - vignette is now in RMarkdown/HTML format; the SWeave/PDF version was
    dropped
added:
  - rnw2rmd(): new function that tries to convert Sweave vignettes into R
    markdown
  - package_description(): new function to make it easier to generate proper
    package description objects (prevent typos, demand mandatory fields,
    value checks)
  - debianize(): explain in the docs that setting a package in
    "depends.origin.alt" to NULL will enable you to provide the full R debian
    package name
  - roxy.html(): URLs in the form of "(... <...>)" are now automatically
    turned into <a href> nodes; i hope the parser doesn't introduce new
    issues
  - roxy.html(): fields "Additional_repositories" and "NeedsCompilation" are
    now also evaluated
  - roxy.package(): vignette generation now takes an existing .install_extras
    file into account when moving/copying files
  - roxy.package(): new action "vignette" can be used to generate an initial
    vignette stub file
  - roxy.package(): new action "buildVignettes" forces rebuilding all
    vignettes during the "package" action, to make sure a proper vignette
    index is present in the source tarball; this was made configurable via
    its own action because it is a bit time consuming during builds and
    usually only neccessary for actual releases

changes in version 0.05-3 (2017-06-09)
fixed:
  - debianize(): the "append" feature for dependencies in was broken
  - archive.packages() now defaults to gpg2 as well
  - debianize(): the HTML instructions look pretty again, worked around a
    layout problem caused by XiMpLe's auto-indentation in <pre> tags
  - roxy.package(): internal use of tools::getVignetteInfo() was unaware of
    custom R libs.
  - added robert nuske as an official contributor to the package
changed:
  - R versions older that 3.0 should no longer be around (it was released
    four years ago). support for these older versions will be removed in one
    of the future releases. for now, a warning is shown, announcing that use
    with R <3.0 is deprecated
  - debianize(): the R version used for build dependencies in "control" is
    now taken from DESCRIPTION by default, not the current version
  - debianize(): the package description in "control" is now similar to
    CRAN2deb
  - cleaned up all tests, using two new/revised internal functions
    roxyPackage:::generateTestPackage() and roxyPackage:::removeTestPackage()
  - updated vignette to include templateFile()
  - roxy.html(): HTML page now lists all contributors indicating their roles
    (contributed by robert nuske)
  - roxy.package(): checks should be done on built packages, the "check"
    action now throws a warning if checks are done on unpackaged sources
    (which is the case if you omit the "package" action)
  - roxy.html(): we're now also including the comments of person objects
  - roxy.package(): the README.md file generated by the "readme" action now
    flags the installation code as R syntax
  - debianize(): bumped default compat level from 7 to 9 and added "compat"
    to the files that are updated by default
added:
  - new function templateFile() to quickly generate new source file templates
    for functions, S4 classes and methods, including some hopefully useful
    defaults (copyright, roxygen documentation and code stubs)
  - roxy.package(): the "URL" option can now also be a named list to be able
    to either host the debian repo on a different server, or to configure the
    use of a "mirror.list" and a custom "debian.path"
  - roxy.package(): the HTML instructions for debian packages now also lists
    the package source files
  - new EXPERIMENTAL feature: there are cases where roxygenize() somehow
    fails but e.g. document() of the devtools package doesn't. you can now
    use roxyPackage:::set.roxyEnv(name="roxyFunction",
    value=devtools::document) to overwrite the function that is being used to
    roxygenize the docs. use this with caution! it is experimental for a
    reason!
  - roxy.html(): HTML page now also lists LinkingTo: and SystemRequirements:
    if present (contributed by robert nuske)
  - roxy.package(): source and windows builds now also include an MD5 file

changes in version 0.05-2 (2017-02-26)
fixed:
  - replaced some tilde characters in the vignette by \textasciitilde
  - debinanizing failed with certain versions of dpkg-parsechangelog
    expecting a space after "--count"
changed:
  - added "readme" action to vignette
  - changed the docs to suggest to give the most recent R version first in
    line when building for multiple versions. the debianizing is now also
    done during the first run
  - internal function GPGsign() now forces both cert-digest-algo and
    digest-algo to be set to SHA256; for now, this is hard coded but could be
    made configurable if requested
  - reaktanz.de supports HTTPS now, updated references
added:
  - internal function GPGsign() is now also capable of generating InRelease
    files; they will automatically be added to debian repos from now on
  - HTML page now also lists Imports and BugReports, which can either be a
    URL or mail address (contributed by robert nuske)
  - if all of 'Date', 'Packaged', and 'Date/Publication' are missing in
    DESCRIPTION, pck.date will now be used as well (contributed by robert
    nuske)
  - support for vignette types other than PDF (contributed by robert nuske)

changes in version 0.05-1 (2016-07-12)
fixed:
  - R CMD check should be performed on built packages, not source
    directories. this is now the case if you run the "check" action also with
    "package" enabled
  - fixed a path issue causing problems to find package sources when in full
    sandboxing mode, most importantly, this affected the internal function
    prep.sndbx.source.dir()
  - normalized paths in internal function mvToArchive(), called by
    archive.packages()
  - using tools::package_dependencies() instead of
    tools::package.dependencies() if R >= 3.3
  - the tar() function of R produced broken archives with files added
    multiple times
changed:
  - the code for checks was moved to the end of roxy.package()
  - removed deb.gen.changelog.old(), it was unused since 0.04-2
  - debianize() now generates machine-readable copyright files
  - when debianizeKeyring() is called from debianize() or roxy.rackage(), it
    is now able to fetch the repo URL
  - removed overwrite argument from internal function deb.update.release()
    because it actually didn't have any effect anyway
  - revert back to adding standard LICENSE files instead of LICENSE.txt, as
    none of them are accepted on CRAN anyway
  - code cleaning (loops)
  - removed the internal package description (obsolete)
added:
  - new action "readme" to generate an initial README.md file
  - new action "binonly" to enable binary-only rebuilds
  - HTML page now lists all found binary packages for a package if it is
    available for more than one R version in the repository
  - archive.packages() can now also archive Debian repositories; it gained
    new arguments keep.revisions and deb.options for fine-tuning
  - if readme.options contains a Flattr user and URL is set, a Flattr button
    will also be added to the repository HTML page
  - debianize() has a new option keep.existing.orig to prevent binary-only
    rebuilds from overwriting existing *.orig.[gz|xz] archives

changes in version 0.04-4 (2016-02-04)
fixed:
  - re-activated the unit tests that were shut down with 0.03-11 due to
    https://github.com/hadley/testthat/issues/86 as there's now a workaround
    fixing tests/testthat.R
  - removed leftover tests/test_roxyPackage_package.R
  - updated URL to roxygen2 in docs
  - fixed title case in title field
  - fixed imports in NAMESPACE file
changed:
  - moved unit tests to tests/testthat
  - added dch and dpkg-parsechangelog to dependecy checks of debianize()
  - default section for debian R packages is now "gnu-r" instead of "math"
  - archive.packages() now uses type "mac.binary" instead of the deprecated
    "mac.binary.leopard"
added:
  - new option "OSX.repo" to deal with the constantly changing paths of
    binary repos for max OS X

changes in version 0.04-3 (2015-06-29)
fixed:
  - internal function parseChangeLog() now checks for proper version and date
    information and throws an error if one is missing, as suggested by robert
    nuske
  - making sure the "inst" directory exists before trying to copy a NEWS.Rd
    file there

changes in version 0.04-2 (2015-03-05)
fixed:
  - debian packages with a dot in their names were overlooked when it came to
    generating the HTML docs
  - somehow a wrong release date for 0.03-12 sneaked into the ChangeLog...
  - newlines in DESCRIPTION caused debianize() to misread dependency
    information and quit with an error
  - roxygen2 can produce too long comment lines in Rd file heads; using
    "cleanRd" on this resulted in broken Rd files because the comment char
    was missing
changed:
  - removed the options "local.roxy.dir" and "roxy.unlink.target" from
    roxy.package(), as their counterparts are no longer supported by
    roxygen2. if you still need those options (working with ancient roxygen2
    versions), use "roxygen.dir" and "unlink.target" in "..." instead
  - removed the workaround call to roxygen2:::source_package() as well, it
    doesn't seem to be necessary any longer
  - roxy.package() now uses "--install-tests" as default option for "R CMD
    install"
  - debianize() now passes "build.dir" on to debianizeKeyring() as a default
  - debianize() now uses dch and dpkg-parsechangelog to manage
    debain/changelog, which is much more robust than the previous
    construction
added:
  - a new RKWard plugin allows you to really quickly get started with your
    own roxyPackage script
  - basic support for "cph" (copyright holder) field in author roles

changes in version 0.04-1 (2014-06-14)
fixed:
  - tools::buildVignettes() doesn't produce PDFs if they are already present;
    remove present PDFs, if the "doc" action is active. the vignettes
    creation was reworked to deal with vignettes directories more smoothly,
    e.g. create inst/doc and copy results and sources there
  - debianize() didn't auto-append default dependencies correctly
  - docs of debianize() falsely still said that source packaging wasn't
    implemented
  - example in debianize() showed description in lowercase, which wouldn't
    work
  - debianize() didn't get multiple authors quite all right
  - the copyright file generated by debianize() missed out the homepage and
    overwrite rule
  - signature changes to roxygenize() in roxygen2 >= 4.0.0 are now
    implemented
  - the logic to remove build directories for debian packages could have
    dangerous consequences if you chose them unwise; now, the directory will
    only be removed if it was empty before the build process
changed:
  - debianize() gained the new argument "repo.name", used for generating a
    debian package from the OpenPGP key used for secure apt. you should set
    this to something different from the default if you plan to actually
    publish the repository -- if you don't, you'll get a warning
  - expect gpg2 as the default (earlier versions defaulted to gpg)
  - moved code for generation of several debian package files into autonomous
    internal functions
  - suppressed the LaTeX output, so the console messages are more
    comprehensible
  - in the sources, moved definition of classes and methods to files with
    more speaking names
  - removed the temporary hack to test roxygen3, since roxygen2 4.x is
    already released and runs out-of-the-box with this version of roxyPackage
  - source packages for debian now default to xz compression
added:
  - new function debianizeKeyring() can generate debian packages from OpenPGP
    keys
  - new argument "compression" for debianize()

changes in version 0.03-12 (2014-03-15)
fixed:
  - tools::pkgVignettes() and tools::buildVignettes() stopped working without
    an existing DESCRIPTION file. working around that by moving the calls to
    a place where the file should be present already
  - added a workaround for roxygen2 >= 3.0.0, calling
    roxygen2:::source_package() to overcome unsolved issues with its S4
    implementation
changed:
  - managed to remove some of the setwd() calls, but some don't seem to be
    replaceable as of now. this seems to trigger the problems with the unit
    tests, so they remain deactivated in tests/ test_roxyPackage_package.R,
    but have been revived in inst/tests/test,R
  - added a proper GPL notice at the beginning of each R file
  - replaced all tabs in the source code by two space characters

changes in version 0.03-11 (2013-10-27)
fixed:
  - another attempt to fix the .find.package() issue (see log for 0.03-5), as
    suggested by kurt hornik
  - typo in docs to debianize() corrected ("epoch" instead of "Epoch")
  - dep4deb() now always returns $dl as a matrix
  - "--no-vignettes" is deprecated as of R 3.0.0, replaced with
    "--no-build-vignettes"
  - corrected some ::: operators into ::
  - new action "cleanRd" checks for lines longer than 90 chars in Rd files
    and adds automatic line breaks (with a warning). otherwise R CMD check
    would complain and the package wouldn't be accepted on CRAN. this is
    actually a workaround for a bug in roxygen2, regarding automatically
    generated usage sections
  - in the generated DESCRIPTION file, authors and contributors will no
    longer be listed with their e-mail address, just plain names
  - sandboxing and running the "check" action now also copies suggested
    packages to the sandbox folders if neccessary
removed:
  - removed the unit tests for this release, because they suddenly stopped
    working with "R CMD check" (while still running fine from an R session).
    i.e., it's not that the tests themselves fail, but the testthat package
    stops with yet mysterious errors. i filed a report, hope this can be
    solved soon: https://github.com/hadley/testthat/issues/86
changed:
  - the vignette was moved from inst/doc to inst/vignettes
  - some lines in the docs were too long and have been shortened
  - internal function autoLineBreak() returns a nameless character vector now
  - beginning with this version, roxyPackage is no longer hosted on CRAN. its
    policies and checks have become more strict over time, and since the
    alternative would have been to reduce this package's features to remain
    in full compliance, i decided to have the package removed instead. the
    problem is this: the NEWS.Rd related features rely on calls to the
    internal function tools:::news2Rd(), as is even recommended in the manual
    to news(); CRAN doesn't allow this use of an internal functions, even if
    it's exactly what the R docs say.
added:
  - another EXPERIMENTAL feature: call
    'roxyPackage:::set.roxyEnv(name="Rdevel", value=TRUE)' and
    'roxyPackage:::set.roxyEnv(name="Rversion", value="x.y.z")' to manually
    set an arbitrary R version string to be able to build against bleeding
    edge R-devel installations
  - new roxy.package() arguments "Rbuildignore" and "Rinstignore" can be used
    to control .Rbuildignore and .Rinstignore files, respectively

changes in version 0.03-10 (2013-06-11)
added:
  - debianize(): support for epoch in debian package versioning
  - debianize(): support for appending package dependencies rather than
    replacing the automatically found
  - debianize(): support for arbitrary fields in "deb.description"
fixed:
  - the *-package.R file used to contain an alias of the package name alone,
    which would cause trouble if there's a function or similar by the same
    name/alias. now only the alias '<package name>-package' will be included.

changes in version 0.03-9 (2013-05-10)
fixed:
  - internal function dateRFC2822() now always forces LC_TIME into locale "C"
    temporarily, instead of trying to use "en_GB.UTF-8" (which is not
    available on all machines). this small function is needed for timestamps
    in Debian changelogs
  - fixed the split-up of debinaizing actions for multiple R installations:
    the previous implementation accidently dropped package building
    completely
added:
  - new function dep4deb() can recursively download dependencies for a given
    package. this is still in its early stages and probably buggy, and i am
    also considering placing all Debian related functionality into a package
    of its own (which would become a dependency of roxyPackage), soon.

changes in version 0.03-8 (2013-05-07)
fixed:
  - due to a silly bug, debianize() usually ignored the fields "Homepage" and
    "Essential" for the control file
added:
  - debianize() can now try to build a valid debian package directly from
    arbitrary package sources; it will try to generate plausible dependencies
    from the R package names provided in DESCRIPTION
  - debianize() does also try to include package "Suggests" automagically
  - added some basic unit tests, using the testthat package
changed:
  - the default "origin" value of debianize() has been changed from "other"
    to "other-roxypackage"
  - debianize() now adds dependecies to r-base-core (instead of r-base) and
    debhelper >= 7.0.0 (instead of >= 4.1.0) if none are given
  - debianize() doesn't set the maintainer of upstream as the debian package
    maintainer by default any longer, but generates a maintainer ID from
    system information and throws a warning. this should encourage everyone
    to set at least valid maintainer information manually
  - if multiple R installations are provided, the "deb" action will be split
    up: debianizing the sources will be done during first run, but package
    building during the last

changes in version 0.03-7 (2013-04-16)
fixed:
  - OS X binary packages for R >= 3.0.0 will now be stored in
    $REPOSITORY/bin/macosx/contrib, and no longer in
    $REPOSITORY/bin/macosx/leopard/contrib

changes in version 0.03-6 (2013-04-07)
added:
  - debianize() now supports both strict package names according to the
    Debain R Policy as well as package names with a dot, whichever is
    expected by your r-cran.mk file. Ignoring the policy is the default, as
    that is the de-facto standard.

changes in version 0.03-5 (2013-03-30)
fixed:
  - .find.package() will soon be removed from R, replaced it with
    find.package() for R >= 2.13

changes in version 0.03-4 (2013-03-12)
changed:
  - internally replaced paste(..., sep="") with paste0(...), and added a
    version dependent wrapper for compatibility with R < 2.15
added:
  - AGPL and Artistic License 2.0 have been added to the common licenses
fixed:
  - license files are now called LICENSE.txt; this is to prevent their
    installation, as suggested by 'Writing R Extensions'

changes in version 0.03-3 (2013-02-13)
added:
  - extended sandboxing possibilities to archive.packages() and debianize()
changed:
  - sandbox() will now remove all paths set if "active" is FALSE

changes in version 0.03-2 (2013-02-11)
added:
  - new sandbox feature, see ?sandbox() and ?sandbox.status(). this needs
    testing, and future releases will get support for this in all relevant
    functions, not just roxy.package(), as it is now.

changes in version 0.03-1 (2013-01-29)
changed:
  - split documentation for ChangeLog functions and methods
added:
  - there is now an EXPERIMENTAL option to be able to toy around with
    roxygen3: call 'roxyPackage:::set.roxyEnv(name="roxygenVersion",
    value=3)' to enable some hidden features, i.e. use roxygen3::roxygenise()
    instead of roxygen2::roxygenize(). you need to install and load the
    roxygen3 package first -- temper with this at your own risk. please note:
    there will probably never be an official roxygen3 package on CRAN, and
    once its features were merged into roxygen2, this option might be patched
    out of roxyPackage again.
  - this is the first version of roxyPackage supposed to be released on CRAN

changes in version 0.02-23 (2013-01-25)
changed:
  - updated vignette
fixed:
  - debian installation notes will not be linked from a package's HTML page
    if there is no built debian package in the repository

changes in version 0.02-22 (2012-10-30)
changed:
  - the title for *-package.R files now states "The <package name> Package"
    instead of the Title: entry from the description
fixed:
  - order of ChangeLog entries is now checked, so that the newest entries get
    on top

changes in version 0.02-21 (2012-10-14)
added:
  - new action "log" generates an initial ChangeLog, if none is found
  - introducing new functions initChangeLog(), readChangeLog(),
    writeChangeLog(), as well as the methods getChangeLogEntry() and
    updateChangeLog(). they are probably not bug-free, but should ease the
    management of proper R ChangeLogs considerably.
changed:
  - this ChangeLog was read-in by readChangeLog(), updated with the log
    entries for this release by updateChangeLog(), and written back with
    writeChangeLog().

changes in version 0.02-20 (2012-09-29)
fixed:
  - contributors in Author@R/Authors@R fields are now also added to
    *-package.R and DESCRIPTION
  - the "check" option "--as-cran" is automatically stripped for R < 2.15

changes in version 0.02-19 (2012-09-09)
changed:
  - the "check" action now has "--as-cran" set as the default option
added:
  - the "doc" action now also supports "vignette" subdirectories in addition
    to "inst/doc" for vignette files
  - added new function archive.packages() to move old versions of packages to
    an archive directory, or to remove them for good. since this is
    potentially dangerous and needs some rounds of testing, its
    "reallyDoIt"-option needs to be set to TRUE manually, otherwise a dry run
    is done, i.e., all actions are only printed and not done, so you can
    check the outcome first.

changes in version 0.02-18 (2012-07-30)
fixed:
  - using shortPathName() to fix problems on windows caused by the path
    normalization introduced with 0.02-17 (thanks to henrik singmann for
    tracking this one down)
changed:
  - wrote some new internal helper functions, namely createMissingDir() and
    removeIfExists(), and replaced their manual pendants in the
    roxy.package() code, which is now easier to read

changes in version 0.02-17 (2012-07-20)
fixed:
  - the tar option "--exclude-vcs" is not always implemented, especially not
    in the BSD tar of Mac OS X; so excluding version control directories is
    now done in a more manual manner in roxyPackage
  - also, on Mac OS X the tar binary is now identified using Sys.which("tar")
  - finally, "--exclude=*~" caused trouble if path names contained a tilde
    for $HOME, so this was replaced with a more reliable way to exclude
    backup~ files as well
  - all root paths are now normalized before first use, especially to perform
    tilde expansion, because this lead to errors with tar()

changes in version 0.02-16 (2012-07-12)
fixed:
  - HTML generation now also works if there's no "Author:" field in the
    DESCRIPTION

changes in version 0.02-15 (2012-06-10)
changed:
  - the data.frame with the package description doesn't need to have entries
    for "Author" or "Maintainer" any more, as long as "Authors@R" is present

changes in version 0.02-14 (2012-06-05)
fixed:
  - roxyPackage now supports multiple vignette files in one package
  - fixed problems if the repository isn't on the same file system as the
    sources

changes in version 0.02-13 (2012-05-12)
fixed:
  - fixed malformed BibTeX entry in CITATION if more than one author given

changes in version 0.02-12 (2012-05-11)
fixed:
  - line breaks were missing in repo HTML, which lead to malformed <pre>
    sections
  - debian repo information will now generally be prepared for binary and
    source packages

changes in version 0.02-11 (2012-04-29)
added:
  - added a vignette
  - debianize() now creates debian/compat, by default set to level 7
changed:
  - status messages are more consistent now
  - the link to a debian binary package moved from the general package HTML
    page to the debian repository info page

changes in version 0.02-10 (2012-04-19)
added:
  - debianize() now checks if a given GnuPG key is already available as a
    file in the repository, and if not, saves is as <key ID>.asc
  - the "html" action now also adds auto-generated information on how to
    install debian packages from the maintained repository

changes in version 0.02-9 (2012-04-15)
added:
  - this is the first package, along with its dependecies, which is also
    available as a debian package build with roxyPackage
changed:
  - if information is to be fetched from a DESCRIPTION file and there is no
    "Date" field, roxy.package() considers "Packaged" and then
    "Date/Publication" as fallback alternatives (and throws a warning)
  - the actions "deb", "roxy", "cite", "license", "doc", "cl2news" and
    "news2rss" are now only run once for builds against multiple R
    installations, because their outcome should be the same anyway
fixed:
  - 'deb.options' are now also passed to recursive calls of roxy.package(),
    although there's still no solution for actual builds against multiple R
    installations

changes in version 0.02-8 (2012-04-14)
added:
  - roxy.package() now checks for needed fields in DESCRIPTION, if that file
    is used to get info on the package, and throws an error if something is
    missing
  - installation now includes common-licenses.zip
  - roxy.package() has a new action "license" to detect the package license
    and save a copy of common free software licenses as the package's LICENSE
    file
changed:
  - added hints on dependencies to the debianize() docs
fixed:
  - regex to get author info without e-mail address for debian/copyright now
    works with multiple authors
  - fixed some formatting issues with debian/copyright

changes in version 0.02-7 (2012-04-11)
added:
  - debianize() can now sign Release files with GnuPG
  - roxy.package() has a new action "deb" and a new parameter 'deb.options',
    to invoke debianize() directly
  - debian packages are now added to the html index files
changed:
  - Release files in debianize() are now generated with apt-ftparchive
  - debianize() talks a little more about what it's busy with
  - debian package dependencies now detect R version for "r-base" and
    "r-base-dev"
fixed:
  - debian package dependencies now default to "r-base" instead of
    "r-base-dev"

changes in version 0.02-6 (2012-04-10)
added:
  - initial (and rather experimental...) support for debianizing packages
    with the debianize() function
changed:
  - internal function dateRFC2822() now does the date conversion for
    news2rss()

changes in version 0.02-5 (2012-04-07)
added:
  - generated index.html pages now have a generator meta tag, like the RSS
    feeds
fixed:
  - removed initial tabulator in BibTeX entries of generated citation.html

changes in version 0.02-4 (2012-04-06)
fixed:
  - zip() should now *really* ignore backup files (ending with a tilde)
changed:
  - 'cleanup=TRUE' now recursively removes backup files in the source
    directory

changes in version 0.02-3 (2012-04-05)
  - using Rd2pdf instead of Rd2dvi for R >= 2.15 now; in 'Rcmd.options',
    Rd2dvi will still be recognized, though zip() should now ignore backup
    files (ending with a tilde)

changes in version 0.02-2 (2012-03-18)
  - RSS feeds in HTML header now also state the package name (action "html")
    re-wrote HTML genrating functions, now all is done use XiMpLe methods

changes in version 0.02-1 (2012-03-14)
  - added new function news2rss() to write RSS feeds (XML) from
    NEWS.Rd/NEWS.html files action "html" now adds the RSS feed for a package
    to the HTML header and news link exported a new function, cl2news(),
    which now carries out the action by the same name, but can also used
    stand-alone added dependency to the XiMpLe package to make the handling
    of all HTML/XML stuff easier removed "target" attributes from HTML
    anchors to comply with XHTML 1.0 strict

changes in version 0.01-20 (2012-03-11)
  - action "html" now also writes an index.html file to the repository root
    directory

changes in version 0.01-19 (2012-03-10)
  - added option to manually specify options to the internal R CMD calls to
    roxy.package() fixed build for multiple R homes, now using R CMD INSTALL
    instead of install.packages() OS is now checked and on Windows shell() is
    used instead of system() fixed broken "check" action on Windows added
    action "cl2news" to transform ChangeLogs into NEWS.Rd action "html" now
    transforms inst/NEWS.Rd into NEWS.html and links this in index.html, if
    found replaced unicode symbols in entities() with \uxxxx ASCII escapes

changes in version 0.01-18 (2012-02-09)
  - removed null function roxygen() from package description files, NULL
    alone is sufficient in roxygen2

changes in version 0.01-17 (2012-01-04)
  - fixed a problem with line breaks in author information (e.g., for
    multiple contributors)

changes in version 0.01-16 (2011-11-21)
  - repo directory is now checked and created automatically from the start
    (thanks to natalia belgorodski for reporting the issue)

changes in version 0.01-15 (2011-11-10)
  - added support for HTML citation info added function entities(), mainly to
    scramble mail adresses html package info now also links to ChangeLog, if
    found fixed typo in html descriptions (some missing colons)

changes in version 0.01-14 (2011-11-09)
  - roxy.package() now tries to read DESCRIPTION if pck.description=NULL

changes in version 0.01-13 (2011-11-08)
  - added support to create HTML index pages to list available packages

changes in version 0.01-12 (2011-10-20)
  - roxy.package() now tries to get every descriptive information from
    DESCRIPTION if actions don't include "roxy"

changes in version 0.01-11 (2011-10-04)
  - roxy.package() now uses version number and date from DESCRIPTION if
    actions don't include "roxy"

changes in version 0.01-10 (2011-09-23)
  - further tweaked handling of Authors@R for CITATION files

changes in version 0.01-9 (2011-09-17)
  - added support for manual setting of R.home

changes in version 0.01-8 (2011-09-16)
  - enhanced handling of Authors@R for CITATION files

changes in version 0.01-7 (2011-09-11)
  - added support for "Authors@R", as needed by R >= 2.14 added support for
    different "Type" values in DESCRIPTION

changes in version 0.01-6 (2011-09-01)
  - added package check action added option to keep/remove vignette PDF in
    source package

changes in version 0.01-5 (2011-08-22)
  - updated docs

changes in version 0.01-4 (2011-08-21)
  - fixed a path bug in roxy.package()

changes in version 0.01-3 (2011-08-18)
  - added support for "Author@R" and CITATION files

changes in version 0.01-2 (2011-08-17)
  - added tools dependency to use write_PACKAGES() added mac OS X support
    (pure R only)

changes in version 0.01-1 (2011-08-14)
  - initial release via reaktanz.de

