Changelog
Source:NEWS.md
OEIS.R 0.2.0
OEIS redesigned its sequence pages (the old <tt>/table-based HTML layout was replaced with div.section/div.sectname/div.sectbody/div.sectline markup), which broke every function that scraped the full sequence page. This release re-targets all of that scraping at the new page structure and fixes a couple of latent parsing bugs found along the way.
- Fixed
OEIS_df()(and everything built on it:OEIS_status(),OEIS_crossrefs(),OEIS_cf(),OEIS_seqs_in_context(),OEIS_seqs_adjacent(), and theOEIS_xmlmethods ofOEIS_comments(),OEIS_links(),OEIS_example(),OEIS_formula(),OEIS_mathematica(),OEIS_extensions(),OEIS_author(),OEIS_date()) to use OEIS’s current page markup. This was the root cause ofOEIS_sequence()failing outright. - Fixed
OEIS_description.OEIS_xml(),OEIS_formerly.OEIS_xml(),OEIS_terms.OEIS_xml(),OEIS_offset.OEIS_xml(), andOEIS_keywords.OEIS_xml(), which relied on<tt>elements that no longer exist on the page. - Fixed a bug in
OEIS_formerly()that returned the sequence’s revision number and last-modified timestamp (e.g."#400","Jun","2026") alongside, or instead of, the actual M-/N-number. - Fixed
OEIS_total_sequences(), which no longer matched OEIS’s front page markup; it now reads the total fromdiv.dbinfoand returnsNA_integer_(instead of a silently stale hardcoded count) when the page can’t be parsed. - Removed the
stringrdependency introduced in a work-in-progress fix; the total-sequences count is now extracted with base R regular expressions, consistent with the rest of the package. -
.onAttach()no longer prints a hardcoded, stale sequence count whenOEIS_total_sequences()fails. - Updated
README.md: fixed Quick Start examples that referenced functions that don’t exist (OEIS_plot(),OEIS_name()), removed an unsubstantiated Shiny app link, and pointed the Contributing section at the newCONTRIBUTING.md. - Added
CONTRIBUTING.mdwith development setup, test, and pull request guidelines. - Test files that talk to the live OEIS site now call
skip_if_oeis_unreachable()first, so a CI runner that can’t reachoeis.org(rate limiting, a transient block, no network) shows up as SKIP rather than failing the whole suite. - GitHub Actions traffic is currently getting a
403 Forbiddenfromoeis.org(Cloudflare), which was crashingR CMD checkoutright duringchecking examples(an@examplesfailure there aborts the whole check, unlike a test failure). Every@examplesblock that hits the network is now wrapped in\dontrun{}, and the vignette probesoeis.orgonce up front and skips evaluating its (also live) code chunks if it’s unreachable, instead of failing the build. - Fixed
OEIS_comments.OEIS_sequence(), which returnedx$exampleinstead ofx$comments(copy-paste bug). - Added
inst/CITATIONsocitation("OEIS.R")works, a root-levelCITATION.cffso GitHub’s “Cite this repository” button works, and a Citation section toREADME.md. - Added a pkgdown site (
_pkgdown.yml,.github/workflows/pkgdown.yml), deployed to GitHub Pages from thegh-pagesbranch. AddedURL:andBugReports:toDESCRIPTION, removed the meaninglessConfig/Needs/website: oeis.orgline (that field lists R package names, not URLs), and fixed two pkgdown accessibility warnings inREADME.md(a relative image path pkgdown couldn’t resolve, and missing alt text on the sticker image). - Fixed the mechanical
lintrfindings across the package (long lines, inconsistent indentation, missing spaces around operators/braces, dead code, an unwrapped multi-line anonymous function, a stray unused. <- NULL). Added.lintrdocumenting two intentional style choices that defaultlintrflags but that this package deliberately keeps:OEIS_*-style exported names (renaming would be a breaking API change) and consistent use of themagrittr%>%pipe throughout (rather than mixing in the base|>pipe). - Added
tests/testthat/test_offline_accessors.R, covering theOEIS_*.OEIS_sequenceaccessor methods,OEIS_bibtex(),OEIS_ggplot(),plot.OEIS_sequence(),OEIS_ID.OEIS_bfile(),OEIS_bfile_url(),author_list(), andchar0toNULL()against a hand-built fakeOEIS_sequenceobject. Unlike the rest of the suite, these tests need no network access at all, so they keep running (and keep contributing to coverage) even whileoeis.orgis blocking CI traffic — this is what caught theOEIS_comments()bug above.