CRAN resubmission. Addresses the three issues raised by the CRAN reviewer for 1.1.4:
'ggtree', 'deeptime', 'ape'). Quotes were
removed around acronyms and database names (GTDB, Silva, NCBI, MRCAs,
LUCA, LACA, LBCA), and "geoscales" is now described in words as
geologic time scales because it is not a package name.authors (year) <doi:...> form with the year in parentheses:
Yu et al. (2017) , Gearty (2025)
, and Paradis and Schliep (2019)
.run_rclade_selftest() and its
internal helpers now report progress with message() (stderr)
instead of cat(), so all self-test output can be suppressed with
suppressMessages(). A new verbose argument (default TRUE) allows
fully silent runs. The returned exit code (0/1) and the outcome of
every individual check are unchanged.No changes to package behaviour, exports, or test outcomes relative to 1.1.4.
CRAN resubmission. Fixes the 2 WARNINGs and 1 NOTE reported by the CRAN incoming pre-test for 1.1.3:
VignetteBuilder: knitr
field in DESCRIPTION, but inst/doc did not exist and no pre-built
vignette HTML files were shipped. CRAN requires that packages with a
VignetteBuilder field include pre-built vignette outputs in
inst/doc/. All three vignettes (quick_start.Rmd,
publication_ready.Rmd, taxonomy_formats.Rmd) are now pre-built
as HTML files and placed in inst/doc/ alongside their .Rmd
sources, so CRAN's checking infrastructure finds them without
needing to re-build them (which requires package dependencies not
available on the CRAN check machines).Gearty, Paradis, Schliep, Yu, et, al) are author
surnames and the Latin abbreviation "et al." from the bibliographic
references cited in the Description field (Yu et al. 2017, Gearty
2025, Paradis and Schliep 2019). They are not misspellings. Documented
in cran-comments.md.No changes to package code, exports, or behaviour relative to 1.1.3.
CRAN resubmission. Fixes the issue raised by the CRAN reviewer (Uwe Ligges) for 1.1.2:
ggtree, deeptime, and ape in the bibliographic reference
paragraph of the Description field were not enclosed in single
quotes. They have been changed to 'ggtree', 'deeptime', and
'ape'. The .mimosa/ development directory is now also excluded
via .Rbuildignore.No changes to package code, exports, or behaviour relative to 1.1.2.
CRAN resubmission. Fixes the two NOTEs reported by the win-builder incoming pre-test for 1.1.1:
LICENSE.md, MANIFEST.tsv, and
REPRODUCIBILITY.md are now excluded from the built tarball via
.Rbuildignore (they are development/reproducibility artefacts, not
intended for distribution; the standard LICENSE file required by
License: MIT + file LICENSE remains).ggtree, deeptime, Yu, et, al, Gearty, Paradis, Schliep)
are R package names and author surnames from the methodological
references cited in the Description field; they are not misspellings.
Documented in cran-comments.md.No changes to package code, exports, or behaviour relative to 1.1.1.
CRAN resubmission. All issues raised by the CRAN reviewer (Leonore Hochhauser) for the 1.0.0 submission have been addressed:
\value sections to
print.rclade_options.Rd, run_rclade_shiny.Rd, set_log_enabled.Rd,
set_log_file.Rd, and set_log_level.Rd.\examples sections
from all @keywords internal Rd files (batch_with_interrupt,
build_path, managed_tempfile, resolve_group,
resolve_special_identifier, validate_taxonomy_no_cycles,
with_graceful_interrupt).\dontrun{} wrappers from
exported function examples. Where examples referenced external
files (not available on CRAN), the example code was removed
entirely. Where examples used bundled data(example_tree), they
are now executable without wrappers.cat() with message() in
save_session_info() and summarize_multi_trees() so output can be
suppressed via suppressMessages().\dontrun{}
examples to \donttest{} (the error originated from example
evaluation on CRAN servers).Revision release implementing the fixes required by the pre-submission independent review ("Rclade-审稿意见", 2026-08-24). Contains one user-visible behavior change.
plot_timetree() now
aborts with an informative error when add_timescale = TRUE and
unit is NULL. Previously the pipeline silently defaulted to "Ga"
(multiplying edge lengths by 1000), which could label a
non-time-calibrated tree with a plausible-looking but wrong geological
axis. Rclade does not infer branch-length units and does not verify
chronogram status; pass unit = "Ma" / unit = "Ga" explicitly, or
set add_timescale = FALSE. The CLI reports the same condition as a
parameter error (exit code 2). Added: non-finite edge-length check
(error) and an auditable root-to-tip dispersion warning for
non-ultrametric/heterochronous inputs.rclade_info and
summarize_timetree() now report groups_total, groups_collapsed,
groups_singleton, groups_skipped_non_monophyletic, and
groups_skipped_other (with group names), fixing the previous
"Collapsed groups" label that reported parsed candidates instead of
clades actually collapsed. Non-monophyletic groups are skipped with a
warning by default ("warn and skip"); strict = TRUE terminates at the
first such group.run_process_level.sh
resolves Rscript from PATH (override with RSCRIPT=) instead of a
machine-specific absolute path.min-deps job is
renamed deps-smoke and documented as a current-release dependency
resolution check (DESCRIPTION lower bounds are NOT verified by CI);
coverage upload remains best-effort (fail_ci_if_error: false) and is
documented as a monitoring metric, not an enforced quality gate. The
NEWS entry for v1.0.1 §12.1 was corrected accordingly.scripts/benchmark_real_timing.R
(real-data in-session timing, manuscript Table 4 source) and
scripts/make_ncbi_rank_shift_example.R (deterministic regeneration of
ncbi_rank_shift_example.csv, byte-identical to the committed file)..zenodo.json versions bumped for archival.evaluation/ directory with real-data
parsing-accuracy results (parsing_accuracy_real_data.csv; complete GTDB
R232 ar53 taxonomy table, 10,122 labels x 7 ranks: 100% non-NA rate and
100% exact-match agreement) and a reproducible verification script
(verify_gtdb_parsing_accuracy.R), supporting the parsing-accuracy
evaluation reported in the accompanying manuscript.evaluation/ is excluded from R builds via
.Rbuildignore; DESCRIPTION and .zenodo.json versions bumped for
archival.revts() (time-axis
reversal) being applied a second time after collapse — with all tips
collapsed away, max(x) is the shallowest MRCA instead of 0, so the
second application shifted the whole tree while the fixed-coordinate
triangle polygons stayed behind. Vertical positions were unaffected.
revts() is now applied exactly once; triangle apexes align with their
MRCA again._RCLADE_TRUNC (with a warning) before
parsing, because ape 5.8.1's Newick parser aborts the whole R process
(glibc "stack smashing detected", exit 134) on labels longer than ~512
characters on Linux. Documented in read_tree_auto() and
plot_timetree(); truncate-aware notes added to README (EN/CN).<U+XXXX> escapes
instead of raw characters, so error messages can no longer corrupt
terminal output (and no longer trip C-level formatting).system.time() reads, which made the max/min ratio pure clock-quantization
noise (constant 8x failure on macOS and CI alike).theme_timetree() now returns a list: the return value changed from a
single ggplot2 theme object to list(theme, coord) where coord carries
clip = "off" (breaking change for direct callers: use p + th$theme,
then add_clip_off(p, layout) for clipping control). The rendering
pipeline no longer adds the returned coord unconditionally —
add_clip_off() applies coord_polar(...) (circular) or
coord_cartesian(clip = "off") (rectangular) only when no timescale
coordinate is present, preventing the coordinate from overwriting the
polar / deeptime geo coordinate systems (T05).R/logo.R, R/cli.R,
README.CN.md, and README.EN.md.inst/THIRDPARTY file now provides a
centralized declaration of all third-party dependencies, bundled data, and
their licenses.inst/CITATION now includes recommended citations for
ggtree (Yu et al. 2017), deeptime (Gearty 2025), and GTDB (Parks et al.
2020) alongside the Rclade citation.ar53_r232.tree is now explicitly
declared as CC BY 4.0 in README files and inst/THIRDPARTY.plot_timetree() Rd now includes a
\references{} section with ggtree, deeptime, and ape citations.Addresses the editor/reviewer pass over the 1.0.0 manuscript (real-data parsing evaluation, unified benchmark protocol):
GCA_xxx_d__Archaea_p__X)
previously matched the [dpcofgsk]__ pattern and were misclassified as
GTDB; they are now correctly detected as embedded (real-world case:
700-tip LACA timetree, §3.5 of the manuscript).parse_embedded() (all three delimiter modes) now
tolerates double-underscore rank separators (_p__value), and leading
underscores left over from such schemes are trimmed from parsed values.test-straight-vdiffr.R adds vdiffr visual-regression
snapshots of collapsed circular/rectangular renderings to guard against
rendering drift across ggplot2/ggtree updates (executed when NOT_CRAN=true).evaluate_parsing_real_data.R, measure_straightness.R,
benchmark_real_session.R, benchmark_bac120_subsample.R, and
run_process_level.sh; benchmark_synthetic.R unified to >=3 replicates
at every scale; fixes a fragile regexpr() construct in
baseline_manual_workflow.R.Addresses remaining items from 修改计划_Rclade_v1.0.0.md:
@keywords internal); NAMESPACE reduced from 52 to 26 exports. New
rclade_options() constructor provides a validated parameter object for
plot_timetree(opts = ...) (route B1: backward-compatible, explicit args
take precedence).run_rclade_cli() Rd documents exit-code contract with examples;
run_rclade_shiny() Rd adds a Concurrency section warning about global
state; test-performance.R header clarifies catastrophic-regression intent.environment.yml removes r-devtools from runtime deps;
README (CN/EN) adds lockfile reproducibility guidance; tests/functional/
test IDs and comments fully translated to English.A structured editor-style review of the 1.0.0 manuscript and codebase was
fully addressed (see 主编审阅报告_Rclade_v1.0.0.md in the project workspace).
User-visible changes:
compute_x_min()
floors at -4567 Ma only when the tree root actually reaches into the
Hadean); the erroneous injection of "Hadean" into the eras table
(a Hadean is an eon, not an era) was removed; displayed-leaves counting
after collapse no longer includes backbone internal nodes.-u/--unit default changed from Ga to auto (aligned with the
R API; Ga still converts x1000); work around an optparse >= 1.8
prefix-collision that leaked sibling defaults into --highlight,
--clade and --taxonomy_file; --strip_annotations now drops treedata
columns by annotation pattern (support/rate/height/HPD/NHX/taxid).ignore_malformed = TRUE is now honoured in the multiPhylo
batch path (failed trees become NULL placeholders, as documented);
delimiter_mode defaults unified to "reverse" across all exported
functions; format-detection clear-majority threshold (score >= 0.6) made
tolerant to binary floating-point error; Newick bracket-balance
validation vectorized (large-tree speedup).shiny-app.R; Shiny no longer loads remote fonts; the Dockerfile installs
from source (no bundled tarball), uses R 4.5.3 and propagates the
documented Unix exit codes via q(status = ...).stop_on_failure = TRUE
and a declared-minimum-dependencies job was added; codecov.yml uses the
standard flags + status schema.First stable release. Consolidates the 0.2.0 development series into a formal release and aligns the manuscript with the project code.
FigTree_withLACA_GBM_95CI.tree.recover (the 700-tip archaeal timetree published by Moody et al. 2025, Phil. Trans. R. Soc. B 380:20240097, doi:10.1098/rstb.2024.0097; redistributed with attribution)..DS_Store, tests/testthat/_problems/, tests/functional/output/, empty directories).data-external/ and GTDB reference files under inst/extdata/) and GTDB-dependent scripts/tests (scripts/extract_gtdb_node_taxonomy.R, scripts/benchmark_bac120_subsample.R, scripts/evaluate_parsing_real_data.R, scripts/benchmark_real_session.R, tests/testthat/external/); updated README, CITATION, THIRDPARTY, cran-comments, CI workflow, and vignettes to drop bundled GTDB references; renamed format-specific benchmark helpers to format-neutral names.See the language-specific release notes for full historical details:
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.