Semantic Versioning (SemVer 2.0)

GraphiC 2026 Change Log

Chronological technical record of additions, enhancements, multi-language bindings (C, Python 3, Java 22, Modern Fortran), and release highlights since the modern 64-bit reboot.

Date What Was Changed
2026-09-25
v7.1.1 • Fixes
Fixed
Multi-Level Asset Discovery & Windows Make/CMake Hardening
  • Multi-Tier Asset & Font Discovery: Upgraded file locator (gfopen) to search upward up to 5 directory levels from both the current working directory and the executable/library path. Eliminates missing font or message table errors when running binaries from subtrees (e.g. Fortran Package Manager build/.../example/ or IDE build folders).
  • Case-Insensitive Font Matching: Added automatic case-variant fallback (simplex.fnt ↔ Simplex.fnt) to ensure consistent font resolution across case-sensitive Linux filesystems and case-preserving Windows/macOS partitions.
  • Defensive Memory Guards: Initialized safe fallback metrics and NULL stroke guards in font and text rendering engines, preventing segmentation faults if required font files are missing or unreadable.
  • Windows Command Prompt (cmd.exe) Makefile: Corrected shell detection in Windows Makefiles to strictly use cmd.exe with native directory commands (if not exist $(DIR) mkdir $(DIR)), preventing erroneous -p directory creation.
  • Fortran Example Build Targets: Added automatic Fortran compiler detection and Fortran example targets (make fortran) in Community Edition Makefile, plus BUILD_EXAMPLES support in CMakeLists.txt.
2026-09-24
v7.1.0 • Latest
Added
Desktop Auto-Preview, Telemetry Streaming & Fortran fpm Parity
  • Desktop Auto-Preview (svgopen / svg_open):
    Automatically launches the generated plot in the user's default desktop web browser or system SVG viewer using native operating system dispatch (open on macOS, start on Windows, xdg-open on Linux). Passing svgopen(NULL) automatically opens the companion HTML viewer (myplot.html) with mouse-wheel zoom, drag-to-pan, and live auto-updating. Passing a filename opens the raw .svg directly. Full parity across C, Fortran (gpc_svgopen), Python (fig.svgopen()), and Java (GraphiC.svgopen()).
  • Live Plot Initialization Auto-Preview (GPC_AUTOPREVIEW=1):
    Setting the environment variable GPC_AUTOPREVIEW=1 automatically calls svgopen(NULL) immediately upon bgnplot(), launching the companion browser viewer as soon as plotting begins without interrupting execution.
  • Network Telemetry Push (svgpush / svg_push):
    Transmits rendered SVG plots over the network to remote HTTP/HTTPS ingest endpoints or live telemetry dashboards using standard POST requests with Content-Type: image/svg+xml. Supersedes historical socket streaming (tkfpush), enabling cloud compute clusters and IoT devices (such as live water temperature monitors) to stream plots directly without shell scripts.
  • Comprehensive SVG Parity Test Suite (svgtest / §9.24):
    Added new multi-language test program (Svgtest.c, svgtest.f90, svgtest.py, Svgtest.java) verifying tight bounding-box cropping, telemetry push, and desktop auto-preview. Added Section 9.24 to the Visual Gallery in the reference manual.
  • Dedicated Architecture Guide (§2.6 "How You See GraphiC Plots"):
    Comprehensive standalone section and comparison table in the reference manual detailing dual-file output (myplot.svg vs myplot.html), viewer target matrix, and OS launch mechanisms.
  • Fortran Package Manager (fpm) Integration:
    Added root fpm.toml manifest allowing GraphiC to be consumed as a direct git or path dependency in modern Fortran workflows.
  • Master Function Index Parity (191 Routines):
    Section 10 expanded to 191 library routines, all cross-referenced with 100% multi-language parity across C, Python, Java 22, and Fortran 2003.
2026-09-10
v7.0.1
Added
SVG Auto-Cropping & Typography Precision
  • SVG Tight Bounding-Box Auto-Cropping (svgcrop / svg_crop):
    Dynamic bounding-box tracking across all 2D and 3D graphics operations. ANSI C tmpfile() stream buffering in Source/gpc_driver_svg.c to defer <svg> header generation until plot completion. Default 0.25 inch margin surrounding all drawn elements. Configurable API across C (svgcrop), Fortran (gpc_svgcrop), Python (fig.svgcrop()), and Java (GraphiC.svgcrop()). Negative margin (svgcrop(-1.0f)) restores standard 8.5" × 11" landscape canvas.
  • Typography Architecture & Counter Documentation:
    Detailed architectural differences between open vector stroke fonts (simplex, duplex, triplex), multi-piece closed-loop outline fonts (swiss, news), and TrueType closed Bézier contours with fill-rule="evenodd".
Changed & Verified
Auto-Crop Default & Test Suite Audit
  • Default SVG export automatically crops to plot bounding box + 0.25" margin, eliminating excess letter-sized white space when embedding into papers, Word, or web pages.
  • Recompiled and verified all example test suites across C (35 examples), Fortran (19 examples), Python (25 examples), and Java (19 examples). Audited all 191 production SVGs repository-wide with XML validation.
2026-09-07
v7.0.0 • Initial
Added
Initial Modern Release of GraphiC 2026
  • 64-Bit Multi-Platform Engine: Full native 64-bit portability for macOS (Apple Silicon ARM64 & Intel), Linux (x86_64 & AArch64), and 64-bit Windows. Zero-dependency architecture (standard libc/libm; no X11, Qt, or OpenGL). Sub-millisecond cold start (<0.002s).
  • Zero-Dependency Vector SVG 1.1 Driver: High-throughput driver with 256-color palettes, 16 hatch/cross-hatch fill patterns, line attributes, and Hershey vector stroke text. Paired with lightweight HTML5 interactive pan/zoom viewers.
  • Modern TrueType Outline Engine: Native Bézier B-spline curve tessellation, UTF-8 multi-byte decoding (Greek, math symbols, °C, ±), Unicode BMP resolution, and evenodd fill rule for counter holes in letters (O, B, 8, R, e, a, %, Δ, θ).
  • First-Class Polyglot Bindings: Modern Fortran 2003+ (iso_c_binding), Python 3 (procedural + object-oriented Figure + NumPy + Jupyter), and Java 22 (Panama Foreign Function & Memory API with zero JNI).
  • Specialized Scientific Visualizations: RF Smith charts (smdraw), chemical ternary phase diagrams (trigrid), 3D hidden-surface perspective meshes (surmatr), 2D contouring (conmatr), polar plots, and simultaneous axes. 23 classic Hershey vector font plates.
  • Complete Documentation & Reference Manual: Modern reference manual featuring Section 10 Master Function Index (188+ routines with full parity across all 4 languages) and 14 Hershey font plate tables.

Download or Purchase GraphiC 2026

The 2D Community Edition is free for scientific and engineering work. The Commercial Edition unlocks full 3D surface meshes, hidden-line removal, contouring, and Smith charts.

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
CAPTCHA

Enter the characters shown in the image.

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.