                 Changes in version 0.14.0 (2026-08-29)                 

  - release: CRAN release v0.14.0

                       Changes in version 0.13.3                        

  - feat(Heatmap): revert deprecation of
    rows_name/columns_name/rows_split_name/columns_split_name
  - fix(Heatmap): show_row_names/show_column_names "none" mode now hides
    the name display and legend when the annotation is user-configured
  - feat(ScatterPlot): add border_size parameter to control point border
    size
  - feat(VolcanoPlot): add parameters for point shape, border color, and
    border size; enable raster plotting
  - feat(JitterPlot): add raster and raster_dpi parameters for efficient
    plotting
  - docs(VolcanoPlot): add example for trimming extreme x-values using
    winsorization
  - feat(VolcanoPlot): update ytrans parameter to accept function names
    as strings
  - fix(VolcanoPlot): update highlight data selection to use match
    function for improved accuracy

                       Changes in version 0.13.2                        

  - feat(CellDimPlot): support pt_size to be a column name
  - feat(Heatmap): add support for rownames and colnames split
    annotations with concatenated names
  - feat(Heatmap): support display modes for row/column names and split
    titles
  - feat(Heatmap): cell_type = "bars" column widths are now proportional
    to the number of bars per column; bars_sample accepts a fraction of
    each cell's data (default 1 = use all) or a whole count
  - feat(Heatmap): support name sub-key in annotation entries to alias
    the displayed annotation name and legend title (row_annotation =
    list(.row = list(name = "Group"))); name = FALSE hides the displayed
    name
  - deprecated(Heatmap): deprecate rows_name, rows_split_name,
    columns_name, columns_split_name (and LinkedHeatmap left_*/right_*
    variants) in favor of the name sub-key
  - fix(LinkedHeatmap): handle multiple split_by values and set default
    for NULL
  - fix(BoxViolinPlotAtomic): handle cases with fewer than 2 levels for
    comparisons
  - fix(RidgePlot): update x-axis limit to reflect usage of
    scale_x_continuous
  - fix(DimPlot): fix gtable conversion destroys ggplot structure
  - fix(Network): fix multiple split_by columns not working
  - fix(Network): fix links placement for graph-based plots after
    combining with split_by
  - fix: correctly clear keep_na and keep_empty for multiple split_by
  - test: add tests for multiple split_by columns in various plot
    functions
  - ci: update R version in CI workflow to 4.4.3
  - ci: pin Deriv to v4.2.0 to fit R4.4.3
  - chore: add r-tidygraph to package requirements

                 Changes in version 0.13.1 (2026-07-09)                 

  - BREAKING(LinkedHeatmap): update parameter names for link width and
    color in LinkedHeatmap and LinkedHeatmapAtomic
  - BREAKING(LinkedHeatmap): replace title_gp with title_params for
    improved title customization
  - feat(heatmap): consolidate annotation arguments into structured list
    params
  - feat(LinkedHeatmap): enhance link width customization with constant
    value option
  - feat: add y_brackets parameter for significance brackets in
    box/violin/beeswarm plots
  - feat(RidgePlot): add x_min and x_max parameters for x-axis limits
  - fix(heatmap): fix name annotation error when it has empty levels
  - fix(heatmap): update row and column title checks to use annotation
    parameters
  - fix(LinkedHeatmap): fix alignment when columnt_title provided for
    either heatmap
  - fix(ViolinPlot): conditionally load ggpubr for pairwise comparisons
    (kassambara/ggpubr#751)
  - docs: update plot descriptions for clarity and consistency across
    documentation

                       Changes in version 0.13.0                        

  - feat: add split_by parameter to combine_plots for enhanced data
    composition, especially for split plots
  - feat: add LinkedHeatmap and supporting functions with documentation
    and tests
  - feat: uniform plotting data access from plot objects
  - feat: use a fast do.call across all plotting functions
  - feat(dotplot): add border customization options for dots and
    lollipop bars (#32)
  - feat(dotplot): update fill_cutoff parameter to accept string
    operators and improve documentation (#31)
  - feat(combine_plots): enhance split_by functionality to ensure
    combined data is accessible and correctly structured
  - feat: add prepare_continuous_color_scale() utility and refactor
    DimPlot
  - feat: add color scale quantile/cutoff params to DotPlot,
    ScatterPlot, BarPlot, SplitBarPlot (#30)
  - fix(chordplot): correct handling of split_by parameter when
    combining plots
  - fix(heatmap): remove return_grob parameter and wrap heatmap with
    patchwork
  - fix(radarplot): correct assignment of split_by variable and update
    combine_plots call
  - fix(combine_plots): refine data handling in combine_plots function
    for layer-specific data integrity
  - fix(utils): adjust color scale handling for edge cases in
    prepare_continuous_color_scale
  - fix: include split_by in keep_na and keep_empty checks for
    FeatureDimPlot function
  - style: use air to format all source files
  - chore: add .codegraph to .gitignore to exclude codegraph files from
    version control
  - chore: remove unused imports and clean up parameter documentation
    across multiple files
  - docs: enhance documentation for color palette usage and plotting
    data access
  - docs(Heatmap): refactor HeatmapAtomic documentation for clarity and
    consistency
  - docs: enhance documentation for AreaPlot and AreaPlotAtomic
    functions
  - docs: enhance documentation for SplitBarPlotAtomic and BarPlot
    functions
  - docs: update documentation for BoxPlot, ViolinPlot, and BeeswarmPlot
    functions
  - docs: enhance documentation for ChordPlot and ChordPlotAtomic
    functions
  - docs: enhance RidgePlot and RidgePlotAtomic documentation and
    functionality
  - docs: enhance documentation for DimPlot and FeatureDimPlot functions
  - docs: enhance documentation for DotPlot and LollipopPlot functions
  - docs: enhance documentation for ClustreePlot and ClustreePlotAtomic
    functions
  - docs: enhance documentation for CorPairsPlotAtomic and CorPlot
  - docs: update documentation for DimPlot and DimPlotAtomic parameters
  - docs: update documentation for EnrichMap and EnrichNetwork functions
  - docs: enhance documentation for GSEASummaryPlot and GSEAPlot
    functions
  - docs: remove unused import for ggridges in densityplot and NAMESPACE
  - docs: enhance documentation for JitterPlot and JitterPlotAtomic
  - docs: update documentation for LinePlotAtomic, LinePlotGrouped, and
    LinePlotSingle
  - docs: enhance ManhattanPlot and ManhattanPlotAtomic documentation
  - docs: enhance NetworkAtomic documentation with detailed argument
    descriptions and architecture overview
  - docs: update documentation for PieChart and PieChartAtomic functions
    with detailed descriptions and parameter explanations
  - docs: update QQPlot and QQPlotAtomic documentation to include PP
    plot details and enhance parameter descriptions
  - docs: enhance documentation for RadarPlotAtomic and radarplot
    functions
  - docs: enhance documentation for RingPlot and RingPlotAtomic
    functions with detailed descriptions and parameter explanations
  - docs: enhance documentation for RarefactionPlot and
    RarefactionPlotAtomic functions with detailed descriptions and
    parameter explanations
  - docs: enhance documentation for ROCCurveAtomic and get_cutoffs_data
  - docs: enhance documentation for SankeyPlot and SankeyPlotAtomic
  - docs: enhance ScatterPlot and ScatterPlotAtomic documentation
  - docs: improve documentation for .compute_velocity_on_grid and
    .flip_y functions with detailed descriptions and parameter
    explanations
  - docs: enhance spatial visualization functions in terra package
  - docs: enhance documentation for TrendPlot and TrendPlotAtomic
    functions with detailed descriptions and parameter explanations
  - docs: update documentation for UpsetPlot and related functions
  - docs: update VennDiagram and related functions for improved
    documentation and clarity
  - docs: enhance documentation for VelocityPlot function with detailed
    parameter descriptions and usage examples
  - docs: enhance VolcanoPlot and VolcanoPlotAtomic documentation
  - docs: enhance documentation for WordCloudPlot and
    WordCloudPlotAtomic functions with detailed descriptions and usage
    examples

                 Changes in version 0.12.1 (2026-06-10)                 

  - feat: enhance check_palcolor function to handle character palcolor
    input more robustly
  - feat: add position_dodge_preserve parameter to BoxViolinPlot and
    BoxViolinPlotAtomic for enhanced dodging control
  - feat: add CLAUDE.md for project guidance and development workflow
    documentation
  - feat(Heatmap): add block and label annotation types with unified
    building, per-annotation side control, reordering, validation, and
    split_by support
  - feat(dotplot): add size_min and size_max parameters for dot size
    control (#29)
  - fix(.Rbuildignore): add CLAUDE.md and PDF files to ignore list
  - refactor(Heatmap): move utils to a separate file
  - refactor: update dplyr and tidyr functions to use all_of for column
    selection
  - docs: add \donttest examples for CorPlot and DensityPlot functions
  - test(DotPlot): suppress warnings when using fill_by for size
    calculation
  - test(ManhattanPlot): update highlight threshold from 1e-5 to 1e-3

                 Changes in version 0.12.0 (2026-04-28)                 

  - chore: update .Rbuildignore and .gitignore to exclude .vscode
    directory
  - refactor(Heatmap): remove deprecated annotation parameters and
    introduce alias support
  - feat(Heatmap): add default dimensions for simple annotations in
    Heatmap function
  - fix(Heatmap): resolve annotation name and legend overlap issue in
    ComplexHeatmap
  - feat: set default figure dimensions in pkgdown and basic design
    vignette
  - test: add unit tests for plot functions
  - ci: add missing 'remotes' package to workflow dependencies
  - fix(Heatmap): add validation to ensure data is not empty in
    process_heatmap_data function
  - feat(Heatmap): add draw_opts parameter for additional drawing
    options
  - feat(Heatmap): add aspect.ratio parameter for cell dimension control
  - fix(Heatmap): update cell dimension calculations to use actual
    matrix dimensions
  - fix(Heatmap): improve handling of annotation names to prevent
    overlap with legends
  - feat(Heatmap): add alignment options for heatmap and annotation
    legends
  - feat(Heatmap): add label customization options including color,
    size, and legend title
  - feat(Heatmap): add support for marks on heatmap cells with
    customization options
  - feat(Heatmap): add base_size parameter for scaling heatmap size
  - feat(Heatmap): enhance more aliases support for row and column
    annotations
  - feat(Heatmap): improve aspect ratio handling and dimension
    constraints for heatmap plots
  - feat(Heatmap): add support for combined label and mark cell type
  - feat(Heatmap): add octagon mark type support for heatmap cells

                 Changes in version 0.11.1 (2026-03-15)                 

  - feat(BoxPlot): add support for bar plots with error bars
  - chore: add additional repositories link to DESCRIPTION file for
    ggmanh

                       Changes in version 0.11.0                        

  - feat(palette): add tableau color palettes to palette list
  - feat(dimplot): add support for 3D plots using plotly for 3-component
    dimplots
  - feat(UpsetPlot): preserve group order in compmatrix (lower table)
  - feat(UpsetPlot): add combmatrix_gap parameter for row spacing in
    combination matrix
  - feat: implement calculate_plot_dimensions() across all plot
    functions
  - feat: enhance heatmap dimension calculations for row and column
    labels based on visibility settings
  - feat: add padding parameter to Heatmap for customizable heatmap
    spacing
  - fix(UpsetPlot): nudge label position in geom_text_repel for better
    visibility
  - fix(UpsetPlot): fix ytrans not working
  - fix(Heatmap): handle empty string cases for row and column name
    parameters in process_heatmap_data
  - fix(DimPlot): hide legend for fill and color scales for marks in
    dimension plot
  - fix(DimPlot): ensure all levels are included in the legend by
    keeping empty levels for stat plots
  - fix(DimPlot): disable legend for line width scale in dimension plot
    when graph is given
  - fix(Box/Violin/BeeswarmPlot): update variance check to allow more
    unique values for comparison
  - chore(VennDiagram): change default palette to 'Blues'
  - chore(UpsetPlot): change default palette to 'Blues'
  - chore(UpsetPlot): change segment colour of labels to NA (hiding
    segment lines)
  - ci: update ggrepel package version to 0.9.5 in dependencies (0.9.6
    requires R 4.5)

                       Changes in version 0.10.1                        

  - BREAKING(Box/ViolinPlot): update sort_x parameter to accept
    expressions for x-axis ordering
  - feat(RadarPlot): add groups parameter to filter and order groups in
    the plot
  - feat(Heatmap): add rows_orderby and columns_orderby to order rows
    and columns (if set, cluster_rows and cluster_columns will default
    to FALSE)
  - fix: update BarPlotSingle to conditionally use geom_text for flipped
    plots and adjust height/width calculations
  - fix(Box/ViolinPlo): hide legends for color, size, and alpha scales
    for highlighted points
  - fix(BeeswarmPlot):fix highlight not working
  - fix(JitterPlot): fix position_jitterdodge() requires at least one
    aesthetic to dodge by for ggplot2 v3
  - fix(BarPlot): correct conditional assignment for fill_by parameter
  - fix(BarPlot): fix when x has multiple columns
  - fix(Heatmap): ensure ordered factors are converted to character for
    proper processing
  - fix(TrendPlot): complete missing combinations for area layer to
    prevent interpolation issues
  - fix(AreaPlot): complete missing combinations for x, group_by, and
    facet_by to prevent interpolation issues
  - fix(RadarPlot): clarify groups parameter documentation and its
    implications on keep_empty
  - fix: ensure unique values in for loops for grouping in bar, pie,
    ring, and trend plots
  - fix(heatmap): ensure unique values in processed data for heatmap

                 Changes in version 0.10.0 (2026-02-06)                 

New Features

  - Add keep_na and keep_empty parameters to control handling of NA and
    empty values across multiple plot functions: AreaPlot, BarPlot,
    BoxPlot, ChordPlot, DensityHistoPlot, DimPlot, DotPlot, Heatmap,
    JitterPlot, LinePlot, PieChart, RadarPlot, SpiderPlot, RingPlot,
    SankeyPlot, TrendPlot, and VelocityPlot
  - Add continuous color mapping support for BarPlot and SplitBarPlot
    (#28)
  - Allow palcolor parameter to allow replacing colors by palette

Bug Fixes

  - fix: update color handling in various plot functions to ensure
    consistent NA value representation
  - fix: enhance palette_this function to support custom colors and NA
    handling
  - fix: add na.value parameter to scale functions for consistent NA
    color handling across LinePlot and BarPlotSingle
  - fix: update check_keep_na and check_keep_empty functions to return
    named lists
  - fix: update fill_by condition in BarPlotAtomic to handle missing
    values correctly
  - fix: update breaks and limits parameters in scale_fill_manual for
    BarPlotSingle

Documentation

  - docs: enhance documentation for keep_na and keep_empty parameters
    across all affected functions
  - docs: enhance documentation for color palette customization and NA
    handling in plots

                 Changes in version 0.9.3 (2026-01-09)                  

New Features

  - Add beeswarm plot support to BoxPlot and ViolinPlot (#26)

Bug Fixes

  - fix(RidgePlot): drop unused levels from split_by variable
  - fix(DimPlot): handle NA values in ordering for high-top and low-top
    options
  - fix(docs): update link to all available color palettes in basic
    design vignette
  - fix(docs): update link format for all available palettes in
    palette_this documentation
  - fix(docs): remove outdated link to all available palettes in
    documentation

Documentation

  - docs: add BeeswarmPlot to the list of available plots in README

Full Changelog: 0.9.1...0.9.3

Note: Version 0.9.2 was skipped due to CRAN submission failure.

                        Changes in version 0.9.1                        

New Features

  - feat: add beeswarm plot support to BoxPlot and ViolinPlot (#26)

Bug Fixes

  - fix(RidgePlot): drop unused levels from split_by variable
  - fix(DimPlot): handle NA values in ordering for high-top and low-top
    options (pwwang/scplotter#29)
  - fix(docs): update link to all available color palettes in basic
    design vignette

Documentation

  - docs: add BeeswarmPlot to the list of available plots in README

Contributors

  - @Copilot made their first contribution in #26

Full Changelog: 0.9.0...0.9.1

                 Changes in version 0.9.0 (2025-12-11)                  

Bug Fixes

  - fix(box/violinplot): comment out error message for group_by
    comparisons
  - fix(boxviolinplot): skip processing for data frames with less than 2
    rows
  - fix(network): update ggplot2 version check for link_type_by support
    (#21)
  - fix(velocityplot): update ggplot2 version check for arrow length
    handling (#19, #22)
  - chore(heatmap): add warning for unknown arguments in HeatmapAtomic
    function
  - fix(boxviolinplot): make sig_labelsize relative to theme base_size

Documentation

  - docs(ROCCurve): update example to include cutoffs_at parameter for
    clarity

Full Changelog: 0.8.2...0.9.0

                 Changes in version 0.8.2 (2025-11-10)                  

Bug Fixes

  - fix(prepare_fgsea_result): correct NES NA handling and add print
    statement
  - fix(GSEASummaryPlot): remove debug print statement

Full Changelog: 0.8.1...0.8.2

                 Changes in version 0.8.1 (2025-10-16)                  

New Features

  - feat(jitterplot): add order_by parameter for data labeling

Documentation

  - chore(jitterplot): use simpler order_by parameter in examples

Full Changelog: 0.8.1-rc6...0.8.1-rc7

Bug Fixes

  - fix(heatmap): preserve the column/row order if given as factor in
    long form
  - fix(volcanoplot): use parameter linewidth for cutoffs instead of
    deprecated size
  - fix(heatmap): optimize data grouping and processing for dot_size
  - fix(heatmap): fix default dot size data for flipped plot

Documentation

  - docs(heatmap): change example of making row/column annotation
    thinner to thicker
  - docs(volcanoplot): add missing documentation for label_by argument

Full Changelog: 0.8.1-rc5...0.8.1-rc6

New Features

  - feat(box/violin): add support for paired observations in Box/Violin
    plots
  - feat(RadarPlot/SpiderPlot): add background color and transparency
    options and fix radial grid lines across y=0
  - feat(boxviolinplot): add support for paired tests
  - feat(heatmap): allow setting parameters for name annotations and set
    default width/height to 2.5mm
  - feat(heatmap): enhance dot size functionality to support indexes and
    dim names
  - feat(jitterplot): add order_by parameter for data labeling

Bug Fixes

  - fix(dotplot): update color handling in DotPlotAtomic function due to
    ggplot2 v4
  - fix(barplot): correct label positioning and scaling in
    BarPlotGrouped
  - fix(heatmap): prevent double printing in pkgdown with ggplot2 >= 4
  - fix(boxviolinplot): enhance pairwise comparison handling when tests
    fail
  - fix(heatmap): update viewport handling for pie and boxviolin layers
  - fix(heatmap): prevent double printing in pkgdown with return_grob
    flag
  - fix(heatmap): preserve the column/row order if given as factor in
    long form
  - fix(heatmap): ensure grouping retains all levels
  - fix(heatmap): optimize data grouping and processing for dot_size
  - fix(heatmap): fix default dot size data for flipped plot

Documentation

  - docs(heatmap): change example of making row/column annotation
    thinner to thicker
  - docs(volcanoplot): add missing documentation for label_by argument
  - chore(jitterplot): use simpler order_by parameter in examples

Full Changelog: 0.8.0...0.8.1

New Features

  - feat(heatmap): allow setting parameters for name annotations and set
    default width/height to 2.5mm
  - feat(heatmap): enhance dot size functionality to support indexes and
    dim names

Bug Fixes

  - fix(heatmap): update viewport handling for pie and boxviolin layers
  - fix(heatmap): prevent double printing in pkgdown with return_grob
    flag

Full Changelog: 0.8.1-rc4...0.8.1-rc5

New Features

  - feat(box/violin): add support for paired observations in Box/Violin
    plots
  - feat(RadarPlot/SpiderPlot): add background color and transparency
    options and fix radial grid lines across y=0

Bug Fixes

  - fix(dotplot): update color handling in DotPlotAtomic function due to
    ggplot2 v4
  - fix(barplot): correct label positioning and scaling in
    BarPlotGrouped
  - fix(heatmap): prevent double printing in pkgdown with ggplot2 >= 4
  - fix(boxviolinplot): enhance pairwise comparison handling when tests
    fail

Full Changelog: 0.8.0...0.8.1-rc4

                 Changes in version 0.8.0 (2025-09-23)                  

Major Announcement

🎆 plotthis is now compatible with ggplot2 v4!

New Features

  - feat: add JitterPlot

Bug Fixes

  - fix(gsea): handle zero normalization in running enrichment score
    calculation
  - fix(CorPlot): handle when x has zero standard variation (#23)
  - fix(Heatmap): update return_grob logic to adopt ggplot2 v4 (#20)
  - fix(BarPlot): adjust label_nudge parameter for bar plot functions

Infrastructure

  - chore: introduce renv for package dependency management
  - chore(dotplot): update examples to avoid testing during
    documentation build
  - chore(Network): handle ggplot2 v4 compatibility for link_type_by
      - Still need thomasp85/ggraph#394 to be fixed to get full support
  - chore(VelocityPlot): handle ggplot2 v4 compatibility for arrow
    lengths
      - Still need tidyverse/ggplot2#6594 to be fixed to get full
        support
