Sun, 10 Nov 2024

inline 0.3.20: Mostly Maintenance

A new release of the inline package got to CRAN today marking the first release in three and half years. inline facilitates writing code in-line in simple string expressions or short files. The package was used quite extensively by Rcpp in the very early days before Rcpp Attributes arrived on the scene providing an even better alternative for its use cases. inline is still used by rstan and a number of other packages.

This release was tickled by changing in r-devel just this week, and the corresponding ‘please fix or else’ email I received this morning. R_NO_REMAP is now the default in r-devel, and while we had already converted most (old-style) calls into the API to using the now mandatory Rf_ prefix, the package contained few remaining cases in examples as well as one in code generation. The release also contains a helpful contributed PR making an error message a little clearer, plus several small and common maintenance changed around continuous integration, package layout and the repository.

The NEWS extract follows and details the changes some more.

Changes in inline version 0.3.20 (2024-11-10)

  • Error message formatting is improved for compileCode (Alexis Derumigny in #25)

  • Switch to using Authors@R, other general packaging maintenance for continuous integration and repository

  • Use Rf_ in a handful of cases as R-devel now mandates it

Thanks to my CRANberries, you can also look at a diff to the previous release Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page. Bugs reports are welcome at the GitHub issue tracker as well (where one can also search among open or closed issues).

If you like this or other open-source work I do, you can sponsor me at GitHub.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

/code/inline | permanent link

Mon, 31 May 2021

inline 0.3.19: Another Update

A new release of the inline package got to CRAN today, following and further updating the recent update from earlier in the month. inline facilitates writing code in-line in simple string expressions or short files. The package was used quite extensively by Rcpp in the days before Rcpp Attributes arrived on the scene providing an even better alternative for its use cases. inline is still used by rstan and a number of other packages.

This release builds on and extends the work of the recent 0.3.18 release and tweaks some of the test. We cannot fully test all platforms used by CRAN so some times iterations such as this one are needed. The package was uploaded a few days ago, but it sometimes takes a few days to clarify changes over email to the CRAN maintainers whose work is still greatly appreciated.

The NEWS extract follows and details the changes some more.

Changes in inline version 0.3.19 (2021-05-25)

  • Documentation for moveDLL was updated and extended (Johannes in #22).

  • A few more tests were made conditional the test platform (Dirk in #24).

Courtesy of my CRANberries, there is a comparison to the previous release.

If you like this or other open-source work I do, you can now sponsor me at GitHub.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

/code/inline | permanent link

Tue, 18 May 2021

inline 0.3.18: Routine Update

A new release of the inline package got to CRAN today. inline facilitates writing code in-line in simple string expressions or short files. The package was used quite extensively by Rcpp in the days before Rcpp Attributes arrived on the scene proving an even better alternative for its use cases. inline is still used by rstan and a number of other packages.

Johannes Ranke, who uses and stresses inline via his package mkin, updated the loading/unloading of DLLs which, following updates in R-devel, was failing some tests. As luck will have it, this new version appears to still fail on two of the platforms we do not actually have easy access to so another version may be coming “shortly”.

See below for a detailed list of changes extracted from the NEWS file.

Changes in inline version 0.3.18 (2021-05-17)

  • The moveDLL code and tests were updated for changed in R-devel (Johannes in #22 fixing #21).

Courtesy of my CRANberries, there is a comparison to the previous release.

If you like this or other open-source work I do, you can now sponsor me at GitHub.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

/code/inline | permanent link

Mon, 30 Nov 2020

inline 0.3.17: Refactored and New Tests

A new release of the inline package arrived on CRAN this evening and has already been shipped to Debian as well. inline facilitates writing code in-line in simple string expressions or short files. The package was used quite extensively by Rcpp in the days before Rcpp Attributes arrived on the scene proving an even better alternative for its use cases. inline is still use by rstan and a number of other packages.

One of those other packages is mkin, and its author Johannes Ranke overhauled the saving and re-loading of C functions part with a really well-done set of contributions. In the process we also added unit testing via the lovely tinytest, and changed to continuous integration setup to r-ci.

See below for a detailed list of changes extracted from the NEWS file.

Changes in inline version 0.3.17 (2020-11-30)

  • Unit testing is now supported via tinytest (Johannes in #15 addressing #14).

  • CI was updated to use focal and run.sh from r-ci on Travis and GitHub Actions (Dirk)

  • The writing and reading of compiled code was refactored and extended (Johannes in #16 fixing #13).

  • Some minor problems related to CRAN checks and tests were corrected (Johannes and Dirk in #17, Johannes in #18, #19, #20).

  • Small stylistic updates have been applied to some R and Rd files (Dirk).

Courtesy of my CRANberries, there is a comparison to the previous release.

If you like this or other open-source work I do, you can now sponsor me at GitHub. For the first year, GitHub will match your contributions.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

/code/inline | permanent link

Sun, 06 Sep 2020

inline 0.3.16: Now with system2()

A new minor release of the inline package just arrived on CRAN. inline facilitates writing code in-line in simple string expressions or short files. The package is mature and stable, and can be considered to be in maintenance mode: Rcpp used it extensively in the vrey early days before Rcpp Attributes provided an even better alternative. Seveal other package still rely on inline.

One of these package is rstan, and Ben Goodrich updated our use of system() to system2() allowing for better error diagnostics. We also did a bit of standard maintenance to Travis CI and the README.md file.

See below for a detailed list of changes extracted from the NEWS file.

Changes in inline version 0.3.16 (2020-09-06)

  • Maintenance updates to README.md standardizing badges (Dirk).

  • Maintenance update to Travis CI setup (Dirk).

  • Switch to using system2() for better error diagnostics (Ben Goodrich in #12).

Courtesy of CRANberries, there is a comparison to the previous release.

If you like this or other open-source work I do, you can now sponsor me at GitHub. For the first year, GitHub will match your contributions.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

/code/inline | permanent link

Fri, 18 May 2018

inline 0.3.15

A maintenance release of the inline package arrived on CRAN today. inline facilitates writing code in-line in simple string expressions or short files. The package is mature and in maintenance mode: Rcpp used it greatly for several years but then moved on to Rcpp Attributes so we have a much limited need for extensions to inline. But a number of other package have a hard dependence on it, so we do of course look after it as part of the open source social contract (which is a name I just made up, but you get the idea...)

This release was triggered by a (as usual very reasonable) CRAN request to update the per-package manual page which had become stale. We now use Rd macros, you can see the diff for just that file at GitHub; I also include it below. My pkgKitten package-creation helper uses the same scheme, I wholeheartedly recommend it -- as the diff shows, it makes things a lot simpler.

Some other changes reflect both two user-contributed pull request, as well as standard minor package update issues. See below for a detailed list of changes extracted from the NEWS file.

Changes in inline version 0.3.15 (2018-05-18)

  • Correct requireNamespace() call thanks (Alexander Grueneberg in #5).

  • Small simplification to .travis.yml; also switch to https.

  • Use seq_along instead of seq(along=...) (Watal M. Iwasaki) in #6).

  • Update package manual page using references to DESCRIPTION file [CRAN request].

  • Minor packaging updates.

Courtesy of CRANberries, there is a comparison to the previous release.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

/code/inline | permanent link

Mon, 13 Apr 2015

inline 0.3.14

The inline package facilitates writing code in-line in simple string expressions or short files. The package is mature and in maintenance mode: Rcpp used it greatly for several years but then moved on to Rcpp Attributes so we have a much limited need for extensions to inline.

But we now have a new inline version 0.3.14. It brings both a few minor code updates since the last release in 2013, but also new extensions to both support Fortran better (for several flavours including f95) and to make working with dynamic library files easier. These were contributed by long-time R author Karline Soetaert who thereby became a package co-author. Also, the package moved to GitHub sometime last year and now lives in this repo.

See below for a detailed list of changes extracted from the NEWS file.

Changes in inline version 0.3.14 (2015-04-11)

  • Removed call to Rcpp::RcppLdFlags() which is no longer needed

  • With move of repository to GitHub, added a .travis.yml file and corresponding entry in .Rbuildignore

  • Replaced calls to require() with calls to requireNamespace(); also updated one call

  • Much improved support for Fortran and Fortran95 thanks to Karline Soetaert who became a package co-author

  • New helper functions writeDynLib and readDynLib as well as new methods print and code (also by Karline)

Courtesy of CRANberries, there is a comparison to the previous release.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

/code/inline | permanent link

Fri, 09 Aug 2013

inline 0.3.13

A minor maintenance release of inline is now on CRAN, and has just been already included in Debian. This release contains a patch kindly contributed by Mikhail Umorin which fixes the of \code{cfunction} with lists of signatures and function bodies. The complete NEWS entry is below.

Changes in inline version 0.3.13 (2013-08-08)

  • Applied contributed patch by Mikhail Umorin which corrects cfunction() in the case of a list of signature and body arguments.

Courtesy of CRANberries, there is also a diffstat report for the most recent release. A few more details are available at the R-Forge page.

/code/inline | permanent link

Wed, 12 Jun 2013

inline 0.3.12

Another maintenance release of inline is now on CRAN and in already included in Debian. This release was triggered by a change in the development version of R which removed an argument to package.skeleton(). The complete NEWS entry is below.

Changes in inline version 0.3.12 (2013-06-12)

  • Align package.skeleton with the R-devel version of the function which no longer has a NAMESPACE argument.

  • Remove copy of LGPL in source archive as R CMD check now complains about it. License status continues to be specified in file DESCRIPTION.

Courtesy of CRANberries, there is also a diffstat report for the most recent release. A few more details are available at the R-Forge page.

/code/inline | permanent link

Wed, 27 Feb 2013

inline 0.3.11

A maintenance release of inline is now on CRAN, and is being uploaded to Debian. The release fixes two minor bugs kindly reported by users. As the two previous releases appear to not have been announced here, their NEWS entries are included as well.

Changes in inline version 0.3.11 (2013-02-26)

  • Fix bug in cfunction for .C convention with raw vectors.

  • Correct cfunction to use .Platform$dynlib.ext as the file extension for the library file (unless on Windows).

  • Allow rcpp wrapper to pass another plugin (as eg RcppArmadillo)

Changes in inline version 0.3.10 (2012-10-03)

  • getDynLib() error message corrected as suggested by Yasir Suhail

  • Added rcpp() wrapper for cxxfunction() which sets plugin="Rcpp"

  • Converted NEWS to NEWS.Rd

  • New maintainer, after having coordinated releases (along with Romain) since 0.3.5 in June 2010

Changes in inline version 0.3.9 (2012-10-02)

  • Uncoordinating hijacking of package by CRAN maintainers with a single word change in cfunction.R to prevent an error under an unreleased version of R

Courtesy of CRANberries, there is also a diffstat report for the most recent release. A few more details are available at the R-Forge page.

/code/inline | permanent link

Tue, 07 Dec 2010

inline 0.3.8

Romain pushed verion 0.3.8 of inline to CRAN earlier today, and I just updated the Debian package.

This version adds an internal performance enhancement which is obtained by making due with fewer reads. The short NEWS file entry follows:

0.3.8   2010-12-07

    o   faster cfunction and cxxfunction by loading and resolving the routine
        at "compile" time

/code/inline | permanent link

Wed, 03 Nov 2010

inline 0.3.7

A bug-fix release 0.3.7 of inline is now on CRAN and at Debian.

It fixes a minor bug: when package.skeleton() was called to convert one or more functions created with this package into a package, the corner case of just a single submitted function failed. This is now corrected. Otherwise this release is unchanged from the previous release 0.3.6 from August.

/code/inline | permanent link

Mon, 02 Aug 2010

inline 0.3.6

A couple of days ago, Romain released inline release 0.3.6 to CRAN. This is a maintenance release with no user-visible changes. However, as it captures compiler errors more directly, it should help us debug Rcpp on recalcitrant platforms such as Solaris with suncc where we have no shell access and no build robot (though that may be changing with the rumoured bin-builder). More details on the release at Romain's blog.

/code/inline | permanent link

Thu, 03 Jun 2010

inline 0.3.5

Yesterday morning, Romain pushed inline release 0.3.5 to CRAN.

This is some ways a continuation of the 0.3.4 release I had made in December. That release had opened the door for the wide use of inline in our Rcpp package. And just how Rcpp has grown, we now have needs beyond the initial change. See the post on Romain's blog for details, but in a nutshell we are now gaining

  • cxxfunction which extends cfunction further for C++ use and, among other things, adds a plugin system we can use from RcppArmadillo to permit use of inline
  • package.skeleton which makes it easy to carry a function that one has prototyped with inline over into its own package -- and how to do that was a question at my most recent Rcpp talk in Vienna), and
  • getDynLib which Romain will use to great effect in the next version of Rcpp to provide something not unlike Boost::Python. Stay tuned!

Last but not least, our thanks to Oleg Sklyar for letting us extend his amazing inline package for use by Rcpp.

/code/inline | permanent link