[R] CRAN packaging checklist for version 17.0.0 #43317

Description

@jonkeane

Describe the enhancement requested

Packaging checklist for CRAN release

For a high-level overview of the release process see the
Apache Arrow Release Management Guide.

cc @jonkeane@amoeba@nealrichardson@assignUser@paleolimbot for coordination on the various tasks to release

We will want to cherry pick:

Before the release candidate is cut

  • Create a GitHub issue entitled [R] CRAN packaging checklist for version X.X.X and copy this checklist to the issue.
  • Review deprecated functions to advance their deprecation status, including removing preprocessor directives that no longer apply (search for ARROW_VERSION_MAJOR in r/src).
  • Evaluate the status of any failing nightly tests and nightly packaging builds. These checks replicate most of the checks that CRAN runs, so we need them all to be passing or to understand that the failures may (though won't necessarily) result in a rejection from CRAN.
  • Check current CRAN check results
  • Ensure the contents of the README are accurate and up to date.
  • Run urlchecker::url_check() on the R directory at the release candidate.
    commit. Ignore any errors with badges as they will be removed in the CRAN release branch.
  • Polish NEWS but do not update version numbers (this is done automatically later). You can find commits by, for example, git log --oneline aa057d0..HEAD | grep "\[R\]"
  • Run preliminary reverse dependency checks using archery docker run r-revdepcheck.
  • For major releases, prepare tweet thread highlighting new features.

Wait for the release candidate to be cut:

After release candidate has been cut

  • Create a CRAN-release branch from the release candidate commit

Prepare and check the .tar.gz that will be released to CRAN.

  • git fetch upstream && git checkout release-X.X.X-rcXX && git clean -f -d
  • Run make build. This copies Arrow C++ into tools/cpp, prunes some
    unnecessary components, and runs R CMD build to generate the source tarball.
    Because this will install the package, you will need to ensure that the version
    of Arrow C++ available to the configure script is the same as the version
    that is vendored into the R package (e.g., you may need to unset ARROW_HOME).
  • devtools::check_built("arrow_X.X.X.tar.gz") locally
  • Run reverse dependency checks using archery docker run r-revdepcheck.

Release vote

  • Release vote passed!

Generate R package to submit to CRAN

  • If the release candidate commit updated, rebase the CRAN release branch
    on that commit.
  • Pick any commits that were made to main since the release commit that
    were needed to fix CRAN-related submission issues identified in the above
    steps.
  • Remove badges from README.md
  • Run urlchecker::url_check() on the R directory
  • Create a PR entitled WIP: [R] Verify CRAN release-10.0.1-rc0. Add
    a comment @github-actions crossbow submit --group r to run all R crossbow
    jobs against the CRAN-specific release branch.
  • Run Rscript tools/update-checksums.R <libarrow version> to download the checksums for the pre-compiled binaries from the ASF artifactory into the tools directory.
  • Regenerate arrow_X.X.X.tar.gz (i.e., make build)

Ensure linux binary packages are available:

Check binary Arrow C++ distributions specific to the R package

  • Upload the .tar.gz to win-builder (r-devel only)
    and confirm (with Nic, who will automatically receive an email about the results) that the check is clean.
    This step cannot be completed before Jeroen has put the binaries in the MinGW repository, i.e. here, here, and here.
  • Upload the .tar.gz to MacBuilder
    and confirm that the check is clean
  • Check install.packages("arrow_X.X.X.tar.gz") on Ubuntu and ensure that the
    hosted binaries are used
  • devtools::check_built("arrow_X.X.X.tar.gz") locally one more time (for luck)

CRAN submission

Wait for CRAN...

  • Accepted!
  • Tag the tip of the CRAN-specific release branch
  • Add a new line to the matrix in the backwards compatability job
  • (patch releases only) Update the package version in ci/scripts/PKGBUILD, dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb, r/DESCRIPTION, and r/NEWS.md
  • (CRAN-only releases) Rebuild news page with pkgdown::build_news() and submit a PR to the asf-site branch of the docs site with the contents of arrow/r/docs/news/index.html replacing the current contents of arrow-site/docs/r/news/index.html
  • (CRAN-only releases) Bump the version number in r/pkgdown/assets/versions.json, and update this on the the asf-site branch of the docs site too.
  • Update the packaging checklist template to reflect any new realities of the
    packaging process.
  • Wait for CRAN-hosted binaries on the
    CRAN package page to reflect the
    new version
  • Tweet!

Component(s)

R

Component(s)

R

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
     blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
    }
    } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
    })();
    (function(){
    try {
    var __m = "github.com";
    var __re = new RegExp('^' + "github\\.com" + '
    
    Skip to content

    [R] CRAN packaging checklist for version 17.0.0 #43317

    Description

    @jonkeane

    Describe the enhancement requested

    Packaging checklist for CRAN release

    For a high-level overview of the release process see the
    Apache Arrow Release Management Guide.

    cc @jonkeane@amoeba@nealrichardson@assignUser@paleolimbot for coordination on the various tasks to release

    We will want to cherry pick:

    Before the release candidate is cut

    • Create a GitHub issue entitled [R] CRAN packaging checklist for version X.X.X and copy this checklist to the issue.
    • Review deprecated functions to advance their deprecation status, including removing preprocessor directives that no longer apply (search for ARROW_VERSION_MAJOR in r/src).
    • Evaluate the status of any failing nightly tests and nightly packaging builds. These checks replicate most of the checks that CRAN runs, so we need them all to be passing or to understand that the failures may (though won't necessarily) result in a rejection from CRAN.
    • Check current CRAN check results
    • Ensure the contents of the README are accurate and up to date.
    • Run urlchecker::url_check() on the R directory at the release candidate.
      commit. Ignore any errors with badges as they will be removed in the CRAN release branch.
    • Polish NEWS but do not update version numbers (this is done automatically later). You can find commits by, for example, git log --oneline aa057d0..HEAD | grep "\[R\]"
    • Run preliminary reverse dependency checks using archery docker run r-revdepcheck.
    • For major releases, prepare tweet thread highlighting new features.

    Wait for the release candidate to be cut:

    After release candidate has been cut

    • Create a CRAN-release branch from the release candidate commit

    Prepare and check the .tar.gz that will be released to CRAN.

    • git fetch upstream && git checkout release-X.X.X-rcXX && git clean -f -d
    • Run make build. This copies Arrow C++ into tools/cpp, prunes some
      unnecessary components, and runs R CMD build to generate the source tarball.
      Because this will install the package, you will need to ensure that the version
      of Arrow C++ available to the configure script is the same as the version
      that is vendored into the R package (e.g., you may need to unset ARROW_HOME).
    • devtools::check_built("arrow_X.X.X.tar.gz") locally
    • Run reverse dependency checks using archery docker run r-revdepcheck.

    Release vote

    • Release vote passed!

    Generate R package to submit to CRAN

    • If the release candidate commit updated, rebase the CRAN release branch
      on that commit.
    • Pick any commits that were made to main since the release commit that
      were needed to fix CRAN-related submission issues identified in the above
      steps.
    • Remove badges from README.md
    • Run urlchecker::url_check() on the R directory
    • Create a PR entitled WIP: [R] Verify CRAN release-10.0.1-rc0. Add
      a comment @github-actions crossbow submit --group r to run all R crossbow
      jobs against the CRAN-specific release branch.
    • Run Rscript tools/update-checksums.R <libarrow version> to download the checksums for the pre-compiled binaries from the ASF artifactory into the tools directory.
    • Regenerate arrow_X.X.X.tar.gz (i.e., make build)

    Ensure linux binary packages are available:

    Check binary Arrow C++ distributions specific to the R package

    • Upload the .tar.gz to win-builder (r-devel only)
      and confirm (with Nic, who will automatically receive an email about the results) that the check is clean.
      This step cannot be completed before Jeroen has put the binaries in the MinGW repository, i.e. here, here, and here.
    • Upload the .tar.gz to MacBuilder
      and confirm that the check is clean
    • Check install.packages("arrow_X.X.X.tar.gz") on Ubuntu and ensure that the
      hosted binaries are used
    • devtools::check_built("arrow_X.X.X.tar.gz") locally one more time (for luck)

    CRAN submission

    Wait for CRAN...

    • Accepted!
    • Tag the tip of the CRAN-specific release branch
    • Add a new line to the matrix in the backwards compatability job
    • (patch releases only) Update the package version in ci/scripts/PKGBUILD, dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb, r/DESCRIPTION, and r/NEWS.md
    • (CRAN-only releases) Rebuild news page with pkgdown::build_news() and submit a PR to the asf-site branch of the docs site with the contents of arrow/r/docs/news/index.html replacing the current contents of arrow-site/docs/r/news/index.html
    • (CRAN-only releases) Bump the version number in r/pkgdown/assets/versions.json, and update this on the the asf-site branch of the docs site too.
    • Update the packaging checklist template to reflect any new realities of the
      packaging process.
    • Wait for CRAN-hosted binaries on the
      CRAN package page to reflect the
      new version
    • Tweet!

    Component(s)

    R

    Component(s)

    R

    Metadata

    Metadata

    Assignees

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
      Skip to content

      [R] CRAN packaging checklist for version 17.0.0 #43317

      Description

      @jonkeane

      Describe the enhancement requested

      Packaging checklist for CRAN release

      For a high-level overview of the release process see the
      Apache Arrow Release Management Guide.

      cc @jonkeane@amoeba@nealrichardson@assignUser@paleolimbot for coordination on the various tasks to release

      We will want to cherry pick:

      Before the release candidate is cut

      • Create a GitHub issue entitled [R] CRAN packaging checklist for version X.X.X and copy this checklist to the issue.
      • Review deprecated functions to advance their deprecation status, including removing preprocessor directives that no longer apply (search for ARROW_VERSION_MAJOR in r/src).
      • Evaluate the status of any failing nightly tests and nightly packaging builds. These checks replicate most of the checks that CRAN runs, so we need them all to be passing or to understand that the failures may (though won't necessarily) result in a rejection from CRAN.
      • Check current CRAN check results
      • Ensure the contents of the README are accurate and up to date.
      • Run urlchecker::url_check() on the R directory at the release candidate.
        commit. Ignore any errors with badges as they will be removed in the CRAN release branch.
      • Polish NEWS but do not update version numbers (this is done automatically later). You can find commits by, for example, git log --oneline aa057d0..HEAD | grep "\[R\]"
      • Run preliminary reverse dependency checks using archery docker run r-revdepcheck.
      • For major releases, prepare tweet thread highlighting new features.

      Wait for the release candidate to be cut:

      After release candidate has been cut

      • Create a CRAN-release branch from the release candidate commit

      Prepare and check the .tar.gz that will be released to CRAN.

      • git fetch upstream && git checkout release-X.X.X-rcXX && git clean -f -d
      • Run make build. This copies Arrow C++ into tools/cpp, prunes some
        unnecessary components, and runs R CMD build to generate the source tarball.
        Because this will install the package, you will need to ensure that the version
        of Arrow C++ available to the configure script is the same as the version
        that is vendored into the R package (e.g., you may need to unset ARROW_HOME).
      • devtools::check_built("arrow_X.X.X.tar.gz") locally
      • Run reverse dependency checks using archery docker run r-revdepcheck.

      Release vote

      • Release vote passed!

      Generate R package to submit to CRAN

      • If the release candidate commit updated, rebase the CRAN release branch
        on that commit.
      • Pick any commits that were made to main since the release commit that
        were needed to fix CRAN-related submission issues identified in the above
        steps.
      • Remove badges from README.md
      • Run urlchecker::url_check() on the R directory
      • Create a PR entitled WIP: [R] Verify CRAN release-10.0.1-rc0. Add
        a comment @github-actions crossbow submit --group r to run all R crossbow
        jobs against the CRAN-specific release branch.
      • Run Rscript tools/update-checksums.R <libarrow version> to download the checksums for the pre-compiled binaries from the ASF artifactory into the tools directory.
      • Regenerate arrow_X.X.X.tar.gz (i.e., make build)

      Ensure linux binary packages are available:

      Check binary Arrow C++ distributions specific to the R package

      • Upload the .tar.gz to win-builder (r-devel only)
        and confirm (with Nic, who will automatically receive an email about the results) that the check is clean.
        This step cannot be completed before Jeroen has put the binaries in the MinGW repository, i.e. here, here, and here.
      • Upload the .tar.gz to MacBuilder
        and confirm that the check is clean
      • Check install.packages("arrow_X.X.X.tar.gz") on Ubuntu and ensure that the
        hosted binaries are used
      • devtools::check_built("arrow_X.X.X.tar.gz") locally one more time (for luck)

      CRAN submission

      Wait for CRAN...

      • Accepted!
      • Tag the tip of the CRAN-specific release branch
      • Add a new line to the matrix in the backwards compatability job
      • (patch releases only) Update the package version in ci/scripts/PKGBUILD, dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb, r/DESCRIPTION, and r/NEWS.md
      • (CRAN-only releases) Rebuild news page with pkgdown::build_news() and submit a PR to the asf-site branch of the docs site with the contents of arrow/r/docs/news/index.html replacing the current contents of arrow-site/docs/r/news/index.html
      • (CRAN-only releases) Bump the version number in r/pkgdown/assets/versions.json, and update this on the the asf-site branch of the docs site too.
      • Update the packaging checklist template to reflect any new realities of the
        packaging process.
      • Wait for CRAN-hosted binaries on the
        CRAN package page to reflect the
        new version
      • Tweet!

      Component(s)

      R

      Component(s)

      R

      Metadata

      Metadata

      Assignees

      Type

      No type

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions

        , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
        Skip to content

        [R] CRAN packaging checklist for version 17.0.0 #43317

        Description

        @jonkeane

        Describe the enhancement requested

        Packaging checklist for CRAN release

        For a high-level overview of the release process see the
        Apache Arrow Release Management Guide.

        cc @jonkeane@amoeba@nealrichardson@assignUser@paleolimbot for coordination on the various tasks to release

        We will want to cherry pick:

        Before the release candidate is cut

        • Create a GitHub issue entitled [R] CRAN packaging checklist for version X.X.X and copy this checklist to the issue.
        • Review deprecated functions to advance their deprecation status, including removing preprocessor directives that no longer apply (search for ARROW_VERSION_MAJOR in r/src).
        • Evaluate the status of any failing nightly tests and nightly packaging builds. These checks replicate most of the checks that CRAN runs, so we need them all to be passing or to understand that the failures may (though won't necessarily) result in a rejection from CRAN.
        • Check current CRAN check results
        • Ensure the contents of the README are accurate and up to date.
        • Run urlchecker::url_check() on the R directory at the release candidate.
          commit. Ignore any errors with badges as they will be removed in the CRAN release branch.
        • Polish NEWS but do not update version numbers (this is done automatically later). You can find commits by, for example, git log --oneline aa057d0..HEAD | grep "\[R\]"
        • Run preliminary reverse dependency checks using archery docker run r-revdepcheck.
        • For major releases, prepare tweet thread highlighting new features.

        Wait for the release candidate to be cut:

        After release candidate has been cut

        • Create a CRAN-release branch from the release candidate commit

        Prepare and check the .tar.gz that will be released to CRAN.

        • git fetch upstream && git checkout release-X.X.X-rcXX && git clean -f -d
        • Run make build. This copies Arrow C++ into tools/cpp, prunes some
          unnecessary components, and runs R CMD build to generate the source tarball.
          Because this will install the package, you will need to ensure that the version
          of Arrow C++ available to the configure script is the same as the version
          that is vendored into the R package (e.g., you may need to unset ARROW_HOME).
        • devtools::check_built("arrow_X.X.X.tar.gz") locally
        • Run reverse dependency checks using archery docker run r-revdepcheck.

        Release vote

        • Release vote passed!

        Generate R package to submit to CRAN

        • If the release candidate commit updated, rebase the CRAN release branch
          on that commit.
        • Pick any commits that were made to main since the release commit that
          were needed to fix CRAN-related submission issues identified in the above
          steps.
        • Remove badges from README.md
        • Run urlchecker::url_check() on the R directory
        • Create a PR entitled WIP: [R] Verify CRAN release-10.0.1-rc0. Add
          a comment @github-actions crossbow submit --group r to run all R crossbow
          jobs against the CRAN-specific release branch.
        • Run Rscript tools/update-checksums.R <libarrow version> to download the checksums for the pre-compiled binaries from the ASF artifactory into the tools directory.
        • Regenerate arrow_X.X.X.tar.gz (i.e., make build)

        Ensure linux binary packages are available:

        Check binary Arrow C++ distributions specific to the R package

        • Upload the .tar.gz to win-builder (r-devel only)
          and confirm (with Nic, who will automatically receive an email about the results) that the check is clean.
          This step cannot be completed before Jeroen has put the binaries in the MinGW repository, i.e. here, here, and here.
        • Upload the .tar.gz to MacBuilder
          and confirm that the check is clean
        • Check install.packages("arrow_X.X.X.tar.gz") on Ubuntu and ensure that the
          hosted binaries are used
        • devtools::check_built("arrow_X.X.X.tar.gz") locally one more time (for luck)

        CRAN submission

        Wait for CRAN...

        • Accepted!
        • Tag the tip of the CRAN-specific release branch
        • Add a new line to the matrix in the backwards compatability job
        • (patch releases only) Update the package version in ci/scripts/PKGBUILD, dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb, r/DESCRIPTION, and r/NEWS.md
        • (CRAN-only releases) Rebuild news page with pkgdown::build_news() and submit a PR to the asf-site branch of the docs site with the contents of arrow/r/docs/news/index.html replacing the current contents of arrow-site/docs/r/news/index.html
        • (CRAN-only releases) Bump the version number in r/pkgdown/assets/versions.json, and update this on the the asf-site branch of the docs site too.
        • Update the packaging checklist template to reflect any new realities of the
          packaging process.
        • Wait for CRAN-hosted binaries on the
          CRAN package page to reflect the
          new version
        • Tweet!

        Component(s)

        R

        Component(s)

        R

        Metadata

        Metadata

        Assignees

        Type

        No type

        Projects

        No projects

          Milestone

          No milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
          Skip to content

          [R] CRAN packaging checklist for version 17.0.0 #43317

          Description

          @jonkeane

          Describe the enhancement requested

          Packaging checklist for CRAN release

          For a high-level overview of the release process see the
          Apache Arrow Release Management Guide.

          cc @jonkeane@amoeba@nealrichardson@assignUser@paleolimbot for coordination on the various tasks to release

          We will want to cherry pick:

          Before the release candidate is cut

          • Create a GitHub issue entitled [R] CRAN packaging checklist for version X.X.X and copy this checklist to the issue.
          • Review deprecated functions to advance their deprecation status, including removing preprocessor directives that no longer apply (search for ARROW_VERSION_MAJOR in r/src).
          • Evaluate the status of any failing nightly tests and nightly packaging builds. These checks replicate most of the checks that CRAN runs, so we need them all to be passing or to understand that the failures may (though won't necessarily) result in a rejection from CRAN.
          • Check current CRAN check results
          • Ensure the contents of the README are accurate and up to date.
          • Run urlchecker::url_check() on the R directory at the release candidate.
            commit. Ignore any errors with badges as they will be removed in the CRAN release branch.
          • Polish NEWS but do not update version numbers (this is done automatically later). You can find commits by, for example, git log --oneline aa057d0..HEAD | grep "\[R\]"
          • Run preliminary reverse dependency checks using archery docker run r-revdepcheck.
          • For major releases, prepare tweet thread highlighting new features.

          Wait for the release candidate to be cut:

          After release candidate has been cut

          • Create a CRAN-release branch from the release candidate commit

          Prepare and check the .tar.gz that will be released to CRAN.

          • git fetch upstream && git checkout release-X.X.X-rcXX && git clean -f -d
          • Run make build. This copies Arrow C++ into tools/cpp, prunes some
            unnecessary components, and runs R CMD build to generate the source tarball.
            Because this will install the package, you will need to ensure that the version
            of Arrow C++ available to the configure script is the same as the version
            that is vendored into the R package (e.g., you may need to unset ARROW_HOME).
          • devtools::check_built("arrow_X.X.X.tar.gz") locally
          • Run reverse dependency checks using archery docker run r-revdepcheck.

          Release vote

          • Release vote passed!

          Generate R package to submit to CRAN

          • If the release candidate commit updated, rebase the CRAN release branch
            on that commit.
          • Pick any commits that were made to main since the release commit that
            were needed to fix CRAN-related submission issues identified in the above
            steps.
          • Remove badges from README.md
          • Run urlchecker::url_check() on the R directory
          • Create a PR entitled WIP: [R] Verify CRAN release-10.0.1-rc0. Add
            a comment @github-actions crossbow submit --group r to run all R crossbow
            jobs against the CRAN-specific release branch.
          • Run Rscript tools/update-checksums.R <libarrow version> to download the checksums for the pre-compiled binaries from the ASF artifactory into the tools directory.
          • Regenerate arrow_X.X.X.tar.gz (i.e., make build)

          Ensure linux binary packages are available:

          Check binary Arrow C++ distributions specific to the R package

          • Upload the .tar.gz to win-builder (r-devel only)
            and confirm (with Nic, who will automatically receive an email about the results) that the check is clean.
            This step cannot be completed before Jeroen has put the binaries in the MinGW repository, i.e. here, here, and here.
          • Upload the .tar.gz to MacBuilder
            and confirm that the check is clean
          • Check install.packages("arrow_X.X.X.tar.gz") on Ubuntu and ensure that the
            hosted binaries are used
          • devtools::check_built("arrow_X.X.X.tar.gz") locally one more time (for luck)

          CRAN submission

          Wait for CRAN...

          • Accepted!
          • Tag the tip of the CRAN-specific release branch
          • Add a new line to the matrix in the backwards compatability job
          • (patch releases only) Update the package version in ci/scripts/PKGBUILD, dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb, r/DESCRIPTION, and r/NEWS.md
          • (CRAN-only releases) Rebuild news page with pkgdown::build_news() and submit a PR to the asf-site branch of the docs site with the contents of arrow/r/docs/news/index.html replacing the current contents of arrow-site/docs/r/news/index.html
          • (CRAN-only releases) Bump the version number in r/pkgdown/assets/versions.json, and update this on the the asf-site branch of the docs site too.
          • Update the packaging checklist template to reflect any new realities of the
            packaging process.
          • Wait for CRAN-hosted binaries on the
            CRAN package page to reflect the
            new version
          • Tweet!

          Component(s)

          R

          Component(s)

          R

          Metadata

          Metadata

          Assignees

          Type

          No type

          Projects

          No projects

            Milestone

            No milestone

            Relationships

            None yet

            Development

            No branches or pull requests

            Issue actions

            , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
            Skip to content

            [R] CRAN packaging checklist for version 17.0.0 #43317

            Description

            @jonkeane

            Describe the enhancement requested

            Packaging checklist for CRAN release

            For a high-level overview of the release process see the
            Apache Arrow Release Management Guide.

            cc @jonkeane@amoeba@nealrichardson@assignUser@paleolimbot for coordination on the various tasks to release

            We will want to cherry pick:

            Before the release candidate is cut

            • Create a GitHub issue entitled [R] CRAN packaging checklist for version X.X.X and copy this checklist to the issue.
            • Review deprecated functions to advance their deprecation status, including removing preprocessor directives that no longer apply (search for ARROW_VERSION_MAJOR in r/src).
            • Evaluate the status of any failing nightly tests and nightly packaging builds. These checks replicate most of the checks that CRAN runs, so we need them all to be passing or to understand that the failures may (though won't necessarily) result in a rejection from CRAN.
            • Check current CRAN check results
            • Ensure the contents of the README are accurate and up to date.
            • Run urlchecker::url_check() on the R directory at the release candidate.
              commit. Ignore any errors with badges as they will be removed in the CRAN release branch.
            • Polish NEWS but do not update version numbers (this is done automatically later). You can find commits by, for example, git log --oneline aa057d0..HEAD | grep "\[R\]"
            • Run preliminary reverse dependency checks using archery docker run r-revdepcheck.
            • For major releases, prepare tweet thread highlighting new features.

            Wait for the release candidate to be cut:

            After release candidate has been cut

            • Create a CRAN-release branch from the release candidate commit

            Prepare and check the .tar.gz that will be released to CRAN.

            • git fetch upstream && git checkout release-X.X.X-rcXX && git clean -f -d
            • Run make build. This copies Arrow C++ into tools/cpp, prunes some
              unnecessary components, and runs R CMD build to generate the source tarball.
              Because this will install the package, you will need to ensure that the version
              of Arrow C++ available to the configure script is the same as the version
              that is vendored into the R package (e.g., you may need to unset ARROW_HOME).
            • devtools::check_built("arrow_X.X.X.tar.gz") locally
            • Run reverse dependency checks using archery docker run r-revdepcheck.

            Release vote

            • Release vote passed!

            Generate R package to submit to CRAN

            • If the release candidate commit updated, rebase the CRAN release branch
              on that commit.
            • Pick any commits that were made to main since the release commit that
              were needed to fix CRAN-related submission issues identified in the above
              steps.
            • Remove badges from README.md
            • Run urlchecker::url_check() on the R directory
            • Create a PR entitled WIP: [R] Verify CRAN release-10.0.1-rc0. Add
              a comment @github-actions crossbow submit --group r to run all R crossbow
              jobs against the CRAN-specific release branch.
            • Run Rscript tools/update-checksums.R <libarrow version> to download the checksums for the pre-compiled binaries from the ASF artifactory into the tools directory.
            • Regenerate arrow_X.X.X.tar.gz (i.e., make build)

            Ensure linux binary packages are available:

            Check binary Arrow C++ distributions specific to the R package

            • Upload the .tar.gz to win-builder (r-devel only)
              and confirm (with Nic, who will automatically receive an email about the results) that the check is clean.
              This step cannot be completed before Jeroen has put the binaries in the MinGW repository, i.e. here, here, and here.
            • Upload the .tar.gz to MacBuilder
              and confirm that the check is clean
            • Check install.packages("arrow_X.X.X.tar.gz") on Ubuntu and ensure that the
              hosted binaries are used
            • devtools::check_built("arrow_X.X.X.tar.gz") locally one more time (for luck)

            CRAN submission

            Wait for CRAN...

            • Accepted!
            • Tag the tip of the CRAN-specific release branch
            • Add a new line to the matrix in the backwards compatability job
            • (patch releases only) Update the package version in ci/scripts/PKGBUILD, dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb, r/DESCRIPTION, and r/NEWS.md
            • (CRAN-only releases) Rebuild news page with pkgdown::build_news() and submit a PR to the asf-site branch of the docs site with the contents of arrow/r/docs/news/index.html replacing the current contents of arrow-site/docs/r/news/index.html
            • (CRAN-only releases) Bump the version number in r/pkgdown/assets/versions.json, and update this on the the asf-site branch of the docs site too.
            • Update the packaging checklist template to reflect any new realities of the
              packaging process.
            • Wait for CRAN-hosted binaries on the
              CRAN package page to reflect the
              new version
            • Tweet!

            Component(s)

            R

            Component(s)

            R

            Metadata

            Metadata

            Assignees

            Type

            No type

            Projects

            No projects

              Milestone

              No milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              [R] CRAN packaging checklist for version 17.0.0 #43317

              Description

              @jonkeane

              Describe the enhancement requested

              Packaging checklist for CRAN release

              For a high-level overview of the release process see the
              Apache Arrow Release Management Guide.

              cc @jonkeane@amoeba@nealrichardson@assignUser@paleolimbot for coordination on the various tasks to release

              We will want to cherry pick:

              Before the release candidate is cut

              • Create a GitHub issue entitled [R] CRAN packaging checklist for version X.X.X and copy this checklist to the issue.
              • Review deprecated functions to advance their deprecation status, including removing preprocessor directives that no longer apply (search for ARROW_VERSION_MAJOR in r/src).
              • Evaluate the status of any failing nightly tests and nightly packaging builds. These checks replicate most of the checks that CRAN runs, so we need them all to be passing or to understand that the failures may (though won't necessarily) result in a rejection from CRAN.
              • Check current CRAN check results
              • Ensure the contents of the README are accurate and up to date.
              • Run urlchecker::url_check() on the R directory at the release candidate.
                commit. Ignore any errors with badges as they will be removed in the CRAN release branch.
              • Polish NEWS but do not update version numbers (this is done automatically later). You can find commits by, for example, git log --oneline aa057d0..HEAD | grep "\[R\]"
              • Run preliminary reverse dependency checks using archery docker run r-revdepcheck.
              • For major releases, prepare tweet thread highlighting new features.

              Wait for the release candidate to be cut:

              After release candidate has been cut

              • Create a CRAN-release branch from the release candidate commit

              Prepare and check the .tar.gz that will be released to CRAN.

              • git fetch upstream && git checkout release-X.X.X-rcXX && git clean -f -d
              • Run make build. This copies Arrow C++ into tools/cpp, prunes some
                unnecessary components, and runs R CMD build to generate the source tarball.
                Because this will install the package, you will need to ensure that the version
                of Arrow C++ available to the configure script is the same as the version
                that is vendored into the R package (e.g., you may need to unset ARROW_HOME).
              • devtools::check_built("arrow_X.X.X.tar.gz") locally
              • Run reverse dependency checks using archery docker run r-revdepcheck.

              Release vote

              • Release vote passed!

              Generate R package to submit to CRAN

              • If the release candidate commit updated, rebase the CRAN release branch
                on that commit.
              • Pick any commits that were made to main since the release commit that
                were needed to fix CRAN-related submission issues identified in the above
                steps.
              • Remove badges from README.md
              • Run urlchecker::url_check() on the R directory
              • Create a PR entitled WIP: [R] Verify CRAN release-10.0.1-rc0. Add
                a comment @github-actions crossbow submit --group r to run all R crossbow
                jobs against the CRAN-specific release branch.
              • Run Rscript tools/update-checksums.R <libarrow version> to download the checksums for the pre-compiled binaries from the ASF artifactory into the tools directory.
              • Regenerate arrow_X.X.X.tar.gz (i.e., make build)

              Ensure linux binary packages are available:

              Check binary Arrow C++ distributions specific to the R package

              • Upload the .tar.gz to win-builder (r-devel only)
                and confirm (with Nic, who will automatically receive an email about the results) that the check is clean.
                This step cannot be completed before Jeroen has put the binaries in the MinGW repository, i.e. here, here, and here.
              • Upload the .tar.gz to MacBuilder
                and confirm that the check is clean
              • Check install.packages("arrow_X.X.X.tar.gz") on Ubuntu and ensure that the
                hosted binaries are used
              • devtools::check_built("arrow_X.X.X.tar.gz") locally one more time (for luck)

              CRAN submission

              Wait for CRAN...

              • Accepted!
              • Tag the tip of the CRAN-specific release branch
              • Add a new line to the matrix in the backwards compatability job
              • (patch releases only) Update the package version in ci/scripts/PKGBUILD, dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb, r/DESCRIPTION, and r/NEWS.md
              • (CRAN-only releases) Rebuild news page with pkgdown::build_news() and submit a PR to the asf-site branch of the docs site with the contents of arrow/r/docs/news/index.html replacing the current contents of arrow-site/docs/r/news/index.html
              • (CRAN-only releases) Bump the version number in r/pkgdown/assets/versions.json, and update this on the the asf-site branch of the docs site too.
              • Update the packaging checklist template to reflect any new realities of the
                packaging process.
              • Wait for CRAN-hosted binaries on the
                CRAN package page to reflect the
                new version
              • Tweet!

              Component(s)

              R

              Component(s)

              R

              Metadata

              Metadata

              Assignees

              Type

              No type

              Projects

              No projects

                Milestone

                No milestone

                Relationships

                None yet

                Development

                No branches or pull requests

                Issue actions

                , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                Skip to content

                [R] CRAN packaging checklist for version 17.0.0 #43317

                Description

                @jonkeane

                Describe the enhancement requested

                Packaging checklist for CRAN release

                For a high-level overview of the release process see the
                Apache Arrow Release Management Guide.

                cc @jonkeane@amoeba@nealrichardson@assignUser@paleolimbot for coordination on the various tasks to release

                We will want to cherry pick:

                Before the release candidate is cut

                • Create a GitHub issue entitled [R] CRAN packaging checklist for version X.X.X and copy this checklist to the issue.
                • Review deprecated functions to advance their deprecation status, including removing preprocessor directives that no longer apply (search for ARROW_VERSION_MAJOR in r/src).
                • Evaluate the status of any failing nightly tests and nightly packaging builds. These checks replicate most of the checks that CRAN runs, so we need them all to be passing or to understand that the failures may (though won't necessarily) result in a rejection from CRAN.
                • Check current CRAN check results
                • Ensure the contents of the README are accurate and up to date.
                • Run urlchecker::url_check() on the R directory at the release candidate.
                  commit. Ignore any errors with badges as they will be removed in the CRAN release branch.
                • Polish NEWS but do not update version numbers (this is done automatically later). You can find commits by, for example, git log --oneline aa057d0..HEAD | grep "\[R\]"
                • Run preliminary reverse dependency checks using archery docker run r-revdepcheck.
                • For major releases, prepare tweet thread highlighting new features.

                Wait for the release candidate to be cut:

                After release candidate has been cut

                • Create a CRAN-release branch from the release candidate commit

                Prepare and check the .tar.gz that will be released to CRAN.

                • git fetch upstream && git checkout release-X.X.X-rcXX && git clean -f -d
                • Run make build. This copies Arrow C++ into tools/cpp, prunes some
                  unnecessary components, and runs R CMD build to generate the source tarball.
                  Because this will install the package, you will need to ensure that the version
                  of Arrow C++ available to the configure script is the same as the version
                  that is vendored into the R package (e.g., you may need to unset ARROW_HOME).
                • devtools::check_built("arrow_X.X.X.tar.gz") locally
                • Run reverse dependency checks using archery docker run r-revdepcheck.

                Release vote

                • Release vote passed!

                Generate R package to submit to CRAN

                • If the release candidate commit updated, rebase the CRAN release branch
                  on that commit.
                • Pick any commits that were made to main since the release commit that
                  were needed to fix CRAN-related submission issues identified in the above
                  steps.
                • Remove badges from README.md
                • Run urlchecker::url_check() on the R directory
                • Create a PR entitled WIP: [R] Verify CRAN release-10.0.1-rc0. Add
                  a comment @github-actions crossbow submit --group r to run all R crossbow
                  jobs against the CRAN-specific release branch.
                • Run Rscript tools/update-checksums.R <libarrow version> to download the checksums for the pre-compiled binaries from the ASF artifactory into the tools directory.
                • Regenerate arrow_X.X.X.tar.gz (i.e., make build)

                Ensure linux binary packages are available:

                Check binary Arrow C++ distributions specific to the R package

                • Upload the .tar.gz to win-builder (r-devel only)
                  and confirm (with Nic, who will automatically receive an email about the results) that the check is clean.
                  This step cannot be completed before Jeroen has put the binaries in the MinGW repository, i.e. here, here, and here.
                • Upload the .tar.gz to MacBuilder
                  and confirm that the check is clean
                • Check install.packages("arrow_X.X.X.tar.gz") on Ubuntu and ensure that the
                  hosted binaries are used
                • devtools::check_built("arrow_X.X.X.tar.gz") locally one more time (for luck)

                CRAN submission

                Wait for CRAN...

                • Accepted!
                • Tag the tip of the CRAN-specific release branch
                • Add a new line to the matrix in the backwards compatability job
                • (patch releases only) Update the package version in ci/scripts/PKGBUILD, dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb, r/DESCRIPTION, and r/NEWS.md
                • (CRAN-only releases) Rebuild news page with pkgdown::build_news() and submit a PR to the asf-site branch of the docs site with the contents of arrow/r/docs/news/index.html replacing the current contents of arrow-site/docs/r/news/index.html
                • (CRAN-only releases) Bump the version number in r/pkgdown/assets/versions.json, and update this on the the asf-site branch of the docs site too.
                • Update the packaging checklist template to reflect any new realities of the
                  packaging process.
                • Wait for CRAN-hosted binaries on the
                  CRAN package page to reflect the
                  new version
                • Tweet!

                Component(s)

                R

                Component(s)

                R

                Metadata

                Metadata

                Assignees

                Type

                No type

                Projects

                No projects

                  Milestone

                  No milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions