# biocharkitgui 0.3.1

* Bugfix (CRAN policy compliance): `gui_render_report()` could attempt to
  write knitr's intermediate `.knit.md` file into the installed package
  library directory (the default location `rmarkdown::render()` uses for
  intermediate files, based on the input template's own location), rather
  than into a writable temporary directory. This is invisible on most
  systems since users typically have write access to their own package
  library, but violates CRAN policy against writing outside `tempdir()`,
  and fails outright on systems where the library is mounted read-only
  (as CRAN's Debian check systems now do). Fixed by explicitly setting
  `intermediates_dir` and `knit_root_dir` to a session-specific temporary
  directory; the function's actual output file location (supplied by the
  caller, e.g. Shiny's own temp path during a download, or a user-chosen
  path) is unaffected by this change. Verified by reproducing the exact
  failure as a non-root user against a read-only-permissioned package
  library, then confirming the fix resolves it under the same condition.

# biocharkitgui 0.3.0

* New TGA Analysis tab, wrapping `biocharkit`'s new TGA module
  (requires `biocharkit` >= 0.3.0):
  - Curve analysis: upload a full TGA curve, get a smoothed DTG curve
    with auto-detected decomposition peaks (matched against typical
    moisture/hemicellulose/cellulose/lignin temperature ranges), a
    proximate analysis (moisture/VM/ash/fixed carbon) read straight off
    the curve at adjustable temperature breakpoints, a TG/DTG plot, and
    CSV/600 dpi TIFF downloads.
  - Batch mode (same checkbox pattern as the Isotherms/Kinetics tabs):
    run the proximate analysis separately per sample ID across a
    long-format multi-sample data frame.
  - Kissinger kinetics sub-panel: upload a small heating-rate/peak-
    temperature table (one row per heating rate) and fit non-isothermal
    activation energy and pre-exponential factor.
  - New logic functions `gui_tga_curve()`, `gui_tga_stages()`,
    `gui_tga_stages_batch()`, `gui_tga_kissinger()` in `R/logic.R`,
    following the same column-mapping/validation pattern as the rest of
    the app.
  - Combined session report gained matching "TGA Analysis" and
    "TGA — Kissinger Kinetics" sections.

# biocharkitgui 0.2.0

* Isotherms tab: added Temkin, Dubinin-Radushkevich, and Sips models
  alongside Langmuir/Freundlich; added batch mode (fit every group in a
  sample-ID column separately, one row of results per group).
* Kinetics tab: added Elovich and intraparticle diffusion models
  alongside pseudo-first/second-order; added batch mode.
* New Thermodynamics tab (van't Hoff analysis).
* New BET Surface Area tab.
* New Proximate / Ultimate Analysis tab.
* FTIR tab: added optional baseline correction (linear or rolling-minimum)
  and one-click automatic peak detection.
* XRD tab: added an option to deconvolve a full 2theta/intensity pattern
  into crystalline peaks and a crystallinity index, instead of requiring
  pre-computed peak areas.
* Results tables now use DT (sortable, searchable, paginated) instead of
  static tables.
* New combined session report: every analysis run in the session is
  accumulated and downloadable as a single HTML report from the Home tab.
* Internal: `DT`, `grDevices`, and `rmarkdown` usage moved into real,
  independently-tested `R/` functions (`gui_datatable()`,
  `gui_snapshot_png()`, `gui_render_report()`) rather than being used only
  inside the Shiny app script.
* Fixed an upstream bug in `biocharkit::find_ftir_peaks()` (see that
  package's NEWS) that affected the new automatic peak detection feature.

# biocharkitgui 0.1.0

* Initial release.
* `run_biocharkit_gui()` launches a local Shiny app wrapping the
  `biocharkit` package.
* Tabs: Sample ID Parser, Adsorption Capacity, Isotherms, Kinetics,
  FTIR (functional-group density and peak assignment), XRD Crystallinity,
  Correlation Matrix.
* Excel import via `gui_read_excel()` / `gui_list_sheets()`, with
  interactive column mapping (no coding required) for every analysis.
* Results downloadable as CSV; isotherm/kinetics/FTIR-spectrum plots
  downloadable as 600 dpi TIFF.
