← All news

Insensa-GIS is back

After several years of dormancy, Insensa-GIS is being actively maintained again. The 2.x line modernises the build system, restores R/Rserve stability, and puts R-first plugins front and centre.

What changed

  • Build system modernised: Gradle 3.3 → 7.6.4, the install4j plugin is now optional, the toolchain produces clean Java 8 bytecode while building on JDK 17.
  • R / Rserve stability: the long-standing "Rserve cannot start" dialog now shows a copy-pasteable install command and uses the modern CRAN repository. Disconnect-on-shutdown errors are demoted from ERROR to DEBUG — they were never fatal.
  • Plugin loading: an empty <menuItem> in extensions.xml no longer raises a SEVERE log entry.

Why it matters: R-first plugins

The biggest reason to come back to Insensa-GIS in 2026 is that researchers can now ship full plugins as R scripts — settings dialog included — without writing a single line of Java.

library(insensa)

insensa::uiAddInputNumeric("digits",
                           displayText  = "Decimal digits",
                           defaultValue = 3,
                           global       = TRUE)
insensa::uiAddBoolean("includeNA",
                      displayText  = "Count NA",
                      defaultValue = FALSE)

if (!insensa::isActive()) rasterFile <- "/path/to/test.tif"

insensa::iget("raster", attach = TRUE)
r <- raster(rasterFile)

digits    <- insensa::getVar("digits",    default = 3)
includeNA <- insensa::getVar("includeNA", default = FALSE)

insensa::addVar(round(cellStats(r, "mean", na.rm = !includeNA), digits),
                "mean_value")

The uiAdd* calls turn into a Swing dialog that Insensa renders for free. Inputs come back via getVar, results go out via addVar and land in the project's data model — exactly the way Java plugins behave.

What's next

The reactivation is staged. Stage 1 is about making the tool runnable and recommendable again — modernised GDAL, the insensa R package shipped CRAN-clean (CRAN submission is gated on the rest of the ecosystem stabilising), Apple Silicon tested. Stage 2 polishes the look and feel: a modernised UI, better error reporting for R-plugin crashes, plugin API versioning.

Watch this page or the source repositories on Bitbucket for the next milestones.

— Dennis