Changelog.

What changed, release by release. Stable builds are tested releases. Dev builds come straight from the development branch — the newest features, but expect rough edges.

Dev build

v0.6.0

  • Added new hydraulic and terrain-analysis nodes, including HydraulicMise, HydraulicMcDonald, Topographic Wetness Index, and improved local metrics.
  • Improved distributed and tiled computation, depression filling, flooding lake systems, streamed EXR/BigTIFF exports, and HighMap integration.
  • Polished the GUI with editor rework, context-menu fixes, and quality-of-life improvements; cleaned up deprecated nodes and refined CI/build workflows.
Dev build

v0.6.0

  • HighMap & scene/export integration: Updated HighMap repeatedly, added ExportScene, and exposed cloud/path scene headers.
  • Node consolidation & new nodes: Merged Bulkify, ZeroedEdges, and Falloff; added QuadSurface; consolidated selector and Recast nodes; updated Phasor, Jagged, LooseSymmetry, and Flatbed Carve.
  • Robustness & error handling: Made HSD deserialization resilient to node/link errors and introduced a generic ErrorManager with a dedicated error dialog.
  • Bake/export & performance: Added isolated worker-process baking, low-memory/disk-caching options, tile-shape controls, batch/min-memory execution, runtime info, and performance benchmarks.
StableLatest

v0.6.0

Screenshot_2026-09-18_20-55-19

Hesiod v0.6.0 is a major release featuring an overhauled UI design system, an automated crash recovery & autosave system, unified & brand-new terrain generation nodes, high-DPI fractional scaling support, batch export progress tracking, and a completely restructured documentation website.

  • Node Additions & Consolidations
  • Export & Import Improvements
  • Performance & Core Engine
  • Documentation Overhaul
  • Bug Fixes & Stability

56 changes

Show full release notesHide full release notes

🌟 Highlights

💾 Autosave & Crash Recovery
  • Automatic Project Snapshots: Added AutosaveManager to periodically take atomic background recovery snapshots of open projects without interrupting workflow.
  • Startup Recovery Prompt: When launching after an unexpected crash or termination, Hesiod detects deferred recovery snapshots and prompts to restore your unsaved work.
  • Configurable Settings: Toggle autosave and set snapshot intervals in Application Settings (enable_autosave, autosave_interval_s).
  • Unsaved Changes Guard: Added prompts when closing or loading projects with unsaved modifications.
🎨 Refined "Industrial Design" UI & High-DPI Scaling
  • UI Refresh: Clean, modern, high-contrast dark theme with streamlined headers, collapsible attribute categories, and consistent typography.
  • Fractional DPI Scaling: Resolved cursor offsets, missing panels, stale graph outlines, and popup menu hover trails across fractional interface scales on Linux and Windows.
  • Node Settings Toolbar: Added a 9-button quick-action toolbar to the node properties panel (reload, reset, preview, center, etc.).
  • Node Library Palette: Redesigned node browser with category color coding, smooth hover/flyout animations, drag-and-drop node instantiation, and persistent panel width.

🧩 Node Additions & Consolidations

New Nodes
  • Circus: Generates glacial cirques and bowl-shaped amphitheater landforms based on HighMap primitives.
  • ValleyHead: Generates realistic mountain valley heads and glacial amphitheaters.
  • Jagged / JaggedFbm: Applies customizable jagged/fractal-edge displacement with amplitude preservation.
  • LooseSymmetry: Introduces directional and polar symmetry operations with customizable center flattening.
  • ColorizeBivariate: 2D bivariate color mapping with dedicated sharpness and color ramp controls.
  • PolarShape: Generates procedural polar-coordinate shapes and profiles.
  • SpectralEqualizer: Frequency-domain equalization and spectral filtering for heightmaps.
  • StrataPlates: Procedural tectonic plate strata and layered terrace generation.
  • DepositionFillHoles: Dedicated depression filling and sediment deposition filter.
  • CoastalFetch: Calculates wave fetch and wind exposure along coastlines.
  • Compare: Visual and numeric difference comparison between heightmap inputs.
  • WaterElevationFromDepth: Converts water depth maps into absolute terrain water surface elevations.
  • TextureSelectColor: Color-key masking and selective texture isolation.
  • AreaRemove: Removes isolated heightmap features or islands below a size threshold.
Consolidated & Upgraded Nodes
  • CoherentNoise: Consolidated individual noise nodes into a single, unified procedural noise generator.
  • PathResample, PathNoise, PathTransform: Unified and streamlined all path modifier workflows into dedicated transform/resample nodes.
  • Bump: Merged standard Bump and BumpLorentzian nodes into a unified primitive.
  • FlowFixingMST: Added midpoint pathfinding options and midpoint offset ratio controls.
  • FlowSimulation: Added full-resolution computation mode and automatic removal of small residual water pools.
  • SnowSimulation: Enhanced realism and deposition stability.
  • DirectionalBlur: Upgraded to high-performance GPU execution.
  • Equalize: Added a reference heightmap input for direct histogram matching.
  • TextureTransform: Added UV scaling parameter support.

📤 Export & Import Improvements

  • Batch Export Execution State: Real-time per-node progress bars and visual execution statuses during multi-node batch export.
  • Filename Templates: Support for customizable filename template tokens and predefined metadata fields in export nodes.
  • EXR 32-bit Float Support: Native OpenEXR range-preserving import and export support for heightmaps.
  • Export Framing & Options: Added options to force $2^n$ or $2^n + 1$ dimensions, flip X/Y axes, and export masked sub-regions.
  • Robust Import: Added safeguards preventing crashes when loading unknown or corrupted file formats in ImportHeightmap and ImportTexture.
  • Flatten Export Dialog: Added aspect-ratio controls and coordinate frame origin fixes.

⚡ Performance & Core Engine

  • OpenMP Settings: Exposed OpenMP thread pool configuration in application settings for multi-threaded node execution.
  • HighMap Submodule: Synchronized and optimized erosion algorithms, hydraulic stream logging, range queries, and memory access patterns.
  • Compile Time Optimization: Cleaned up header dependencies using IWYU (Include-What-You-Use) and optimized build targets.
  • Graph Editor Refactoring: Extracted GraphEditor and GraphWorkspaceWidget architecture, decoupling node proxies from the core data model.

📖 Documentation Overhaul

  • Material for MkDocs Theme: Modernized documentation with searchable literate-nav and category-grouped summaries.
  • Core Concepts Section: Comprehensive deep dives on Heightmaps & Virtual Arrays, Broadcast & Receive Routing, Masks & Selectors, Tiling & Overlap, and an interactive Glossary.
  • Interactive Guides: Added "Patch of Graphs" workflow guides, node reference pages with parameter tables and diagrams, and user manual expansions.

🐛 Bug Fixes & Stability

  • Fixed application crash on Linux with Qt6 in QTerrainRenderer.
  • Fixed node deletion and brush array loading crashes on degenerate arrays.
  • Fixed color shift issues in TextureAdvection.
  • Fixed missing model creation when dropping connections in the graph editor.
  • Fixed CLI batch mode execution issues in headless environments.
  • Corrected East/West orientation gizmo in 3D viewport.
  • Restored signed slider ranges and corrected legacy attribute serialization in multi-group nodes.
  • Fixed AppImage packaging and Nix build dependencies.

New Contributors

  • @barrulus
  • @Leonhardmaster2
  • @Pazelock
  • @PatchByte is back!

Full Changelog: https://github.com/ottolink-dev/Hesiod/compare/v0.5.2...v0.6.0

Stable

v0.5.2

Screenshot_2026-04-14_22-22-51
  • New Terrain & Erosion Nodes
  • Improvements & Refactoring
  • UI / UX Improvements
  • Fixes

21 changes

Show full release notesHide full release notes

What's new

New Terrain & Erosion Nodes
  • HydraulicSaleve (new erosion variant with improved smoothing/interpolation)
  • Improved HydraulicParticle simulation (better ridge forcing, stability, defaults)
  • StrataCells & StrataTerrace (advanced stratification tools)
  • Thermal node (merged + refactored system)
  • ThermalScree (duration-based model, fixed talus constraints)
  • Curvatures (unified curvature analysis with extended metrics)
  • LocalMetrics (merged local terrain analysis tools)
  • MorphologicalOperators (consolidated morphology base operators)
  • FindCutPath & PathInflate (enhanced terrain path generation tools)
  • Mudslide (WIP)
Improvements & Refactoring
  • Node consolidation (multiple legacy nodes merged and deprecated)
  • Added generic post-process and percentile-based tools for better control
  • Expanded interpolation and smoothing options for Path nodes
UI / UX Improvements
  • Safer project loading with JSON deserialization failsafes
  • Clearer node organization (new categories, WIP separation, deprecation messaging)
Fixes
  • Numerous crash fixes (node attributes, port routing, remap, warp, blend, etc.)
  • Fixed issues in erosion and terrain algorithms (peaks, discontinuities, overflow)
  • General stability and consistency improvements across nodes and UI

⚠️ Known Issues

  • The application remains somewhat unstable 💣 but improving with each release.
  • Possible memory limit issue when using large graphs or high resolution => enable the option to cache node data on disk in the graph configuration menu
  • Flow simulations are work-in-progress
Stable

v0.5.1

Screenshot_2026-01-22_12-55-25

Migration to VirtualArray and VirtualTexture architectures: Virtual Arrays optimize memory usage for large graphs and high resolutions by loading data on demand instead of keeping everything in RAM. They support optional disk caching, enabling scalable workflows for complex graphs and fine-resolution terrains without memory bottlenecks.

  • HighMap Core Refactor & Performance
  • New Terrain & Erosion Nodes
  • UI / UX Improvements

16 changes

Show full release notesHide full release notes

What's new

HighMap Core Refactor & Performance
New Terrain & Erosion Nodes
  • ValleyFill
  • WatershedRidge (work in progress)
  • Thermal node (merged + refactored system)
  • ThermalScree (duration-based model, fixed talus constraints)
  • Plates node (tectonic-style terrain generation)
  • KernelCupola node
  • ProjectTalus node
  • ExportTiled node
  • Texture ColorAdjust node
  • Equalize node
  • FlatbedCarve node (from v0.5.0 base)
UI / UX Improvements
  • New UI option allowing to reduce memory footprint by caching node data on disk
  • GraphToolbar with quick resolution selector
  • Reset settings feature

⚠️ Known Issues

  • The application remains somewhat unstable 💣 — but improving with each release.
  • Possible memory limit issue when using large graphs or high resolution => enable the option to cache node data on disk in the graph configuration menu

Full Changelog: https://github.com/otto-link/Hesiod/compare/v0.5.0...v0.5.1

Stable

v0.5.0

Carving the Landscape - Islands, Shores, Strata and Flatbeds

Screenshot_2025-12-06_14-35-41

https://github.com/user-attachments/assets/48ed790d-7433-4b38-90dc-d332292805dd

  • New Nodes
  • UI / UX
  • Rendering
  • Stability & Architecture

31 changes

Show full release notesHide full release notes

What's new

New Nodes

Several new terrain, utility, and export nodes were added, expanding carving, filtering, noise generation, and data export workflows:

  • FlatbedCarve
  • PathDecimate
  • Multisteps
  • ClampOblique
  • SelectSoilRocks
  • SelectSoilFlow
  • CoastalErosionProfile
  • LevelSetCurvature (added, not yet exposed)
  • Island
  • IslandLandMask
  • WaveletNoise
  • Bulkify
  • ConeComplex
  • Blend3
  • ExportPointsToPly
  • ExportCloudToPly
  • CloudToVectors
  • Thru
  • Toggle
UI / UX
  • HTML support in node tooltips
  • Online help link available for each node
  • Improved node settings layout and icons
  • Embedded viewer and refined viewer controls
Rendering
  • Multiple renderer updates and visual refinements
  • Improved water and ambient occlusion rendering
  • Fixed OpenGL inconsistencies between Linux and Windows
Stability & Architecture
  • Safer node and graph lifetime management
  • Improved memory handling and cleanup
  • More robust node/link deletion and graph updates

⚠️ Known Issues

  • The application remains somewhat unstable 💣 — but improving with each release.
  • Possible memory limit issue when working with multiple 4K textures (#364).

Full Changelog: https://github.com/otto-link/Hesiod/compare/v0.4.1...v0.5.0

Stable

v0.4.1

New renderer / new UI features / new geological nodes

https://github.com/user-attachments/assets/6f276cab-e1bf-44aa-929a-1b55c7a14702

  • Known Issues
  • What's Changed

12 changes

Show full release notesHide full release notes

What's new

Renderer
  • Introduces a new rendering engine with enhanced visual capabilities:
    • Shadow mapping for improved depth and lighting realism.
    • New water shaders for more natural reflections and surface effects.
GUI Improvements
  • Quick Start guide now available in the Help menu.
  • Added optional static node panning for easier navigation in the node settings panel.
  • Added a texture downloader integrated with PolyHaven (more sources coming soon).
New Nodes
  • Geological Primitives: MountainStump, MountainTibesti, MountainInselberg, ShatteredPeak, Badlands, BasaltField
  • Basic Hydrology: FloodingLakeSystem, FloodingFromPoint, FloodingFromBoundaries, FloodingUniformLevel, WaterDepthDryOut, MergeWaterDepths, WaterDepthFromMask
  • Erosion: Strata, Rifts
  • Added point generation tools for object placement, supporting:
    • Poisson disk distribution
    • Radius constraints
    • “Natural” clustering using power-law and Weibull distributions
  • ...and more.

⚠️ Known Issues

  • The application remains somewhat unstable 💣 — but improving with each release.
  • Possible memory limit issue when working with multiple 4K textures (#364).

What's Changed

  • Json improving Serialization WIP by @PatchByte in https://github.com/otto-link/Hesiod/pull/353

Full Changelog: https://github.com/otto-link/Hesiod/compare/v0.4.0...v0.4.1

Stable

v0.4.0

World editor / multiple graphs

v0 4 0

5 changes

Show full release notesHide full release notes

What's new

  • Graph Manager: The GUI now features a Graph Manager, enabling the editing of multiple graphs simultaneously. Two new node types — Broadcast and Receive — have been added to support data communication between graphs. Each graph operates within its own coordinate system (origin, size, and rotation angle), and graphs can be overlaid like layers — similar to tools like GIMP. A new flattening/export feature lets you merge all active layers into a single heightmap. The export currently supports heightmaps only (textures are planned in a future update). This process also smooths transitions between overlapping layers.
  • Minor GUI improvments:
    • Node documentation is now accessible directly from within the application.
    • Node settings can be saved and loaded as .json presets.
    • Comments can be added directly to the graph (use Ctrl+B in the editor to insert a comment).
  • Internal Refactor: Behind the scenes, most core classes have been restructured to enforce a clean separation between the data model and GUI logic.

Known issues

  • The overall application still unstable :bomb: but an autosave feature has been added to help reduce frustration and minimize data loss.
  • The "world preview" in the Graph Manager shows heightmaps with absolute amplitude values, which may differ from the actual amplitudes used in the exported result (#262).
Stable

v0.3.0

GPU acceleration

Untitled

4 changes

Show full release notesHide full release notes

What's new

  • new OpenCL backend, much faster erosion and convolution-based filters (up to x100)
  • some new primitives: GaborWaveFbm and Gavoronoise (with procedural erosion)

Known issues

Stable

v0.2.0

New GUI

demo_v0 2 0
  • New GUI - Third time's a charm (hopefully)
  • Known issues

5 changes

Show full release notesHide full release notes

New GUI - Third time's a charm (hopefully)

  • to address graph node update that could be very slow for large graphs due to the former Qt node editor (#160)
  • switch back to GNode for the underlying node data structure
  • redevelop a Qt node editor greatly inspired by the former editor paceholder/nodeeditor

Known issues

  • new GUI is still a bit unstable :bomb:
  • #225 : HydraulicParticle node settings crashes the app
Stable

v0.1.2

HESIOD_banner
  • New nodes
  • Python bindings
  • Known issues

10 changes

Show full release notesHide full release notes

New nodes

  • Clouds: CloudRandom, CloudRemapValues, CloudLattice, CLoudMerge
  • Paths: PathDecasteljau
  • Kernels: KernelPrim, HeightmapToKernel, KernelGabor
  • Authoring: Stamping
  • Primitive: Paraboloid, Rift, Crater, DiffusionLimitedAggregation
  • Math: ConvolveSVD, RadialDisplacementToXy, FallOff
  • Filters: RecastSag, Detrend, ShiftElevation, HydraulicBlur, Warp, WarpDownslope, FillTalus, Translate, Zoom
  • Features: KmeansClustering2, KmeansClustering3
  • Routing: Unpack

Python bindings

pip3 install pyhighmap

Known issues

  • graph node update can be very slow for large graphs due to the new Qt node editor (#160)

Full Changelog: https://github.com/otto-link/Hesiod/compare/v0.1.1...v0.1.2

Stable

v0.1.1

More nodes and a few fixes

Screenshot_2024-06-09_20-27-15
  • New nodes
  • Known issues

8 changes

Show full release notesHide full release notes

New nodes

  • Paths: Path, PathFractalize, PathBezier, PathBezierRound, PathBspline, PathToHeightmap, PathSDF, PathToCloud, PathMeanderize, ExportPath, PathResample, ReverseMidpoint, Ridgelines
  • Clouds: CloudSDF, CloudToPath, ExportCloud
  • Primitives: WhiteDensityMap, WhiteSparse, NoiseParberry, Caldera
  • Selectors: SelectBlobLog, SelectInwardOutward, SelectElevationSlope, SelectTransitions, SelectRivers, SelectAngle
  • Features: ShapeIndex, Unsphericity, AccumulationCurvature
  • Erosion: Thermal, ThermalRib
  • Misc.: Mixer, DataAnalysis, DistanceTransform, GaussianDecay

Known issues

  • graph node update can be slower than previous versions (#160)
Stable

v0.1-alpha

The first!

peak2_banner2

_Geometry and texture generated with Hesiod, render made in Blender_.

  • Known issues
  • Gallery

5 changes

Show full release notesHide full release notes

Known issues

  • graph node update can be slower than previous versions (#160)
  • GUI on Linux is nicer and more user-friendly than the Windows one (#152)
  • there might be a few other ones waiting for you...

Gallery

Youtube videos (rendered with Blender):

<a href="http://www.youtube.com/watch?feature=player_embedded&v=AK6hLVVrSiw" target="_blank">

Watch the video

</a>

<a href="http://www.youtube.com/watch?feature=player_embedded&v=WLaDgvxSGkM" target="_blank">

Watch the video

</a>

<a href="http://www.youtube.com/watch?feature=player_embedded&v=ioT16HgBpC0" target="_blank">

Watch the video

</a>

New Contributors

  • @PatchByte made their first contribution in https://github.com/otto-link/Hesiod/pull/106
  • @malpas made their first contribution in https://github.com/otto-link/Hesiod/pull/120

Full Changelog: https://github.com/otto-link/Hesiod/commits/v0.1-alpha