v2.3.0

louis-e/arnisv2.3.0Aug 23, 2025by louis-e

AI Summary

Major expansion bringing realistic and diverse terrain with wetlands, natural elements, and improved waterways. Complete buildings overhaul with interior and roof generation. Map provider migrated from Mapbox to AWS Terrain Tiles with OSM integration for better stability and coverage.

Key Highlights

  • Complete buildings overhaul with interior and roof generation
  • Map provider migration from Mapbox to AWS Terrain Tiles + OSM
  • Wetlands and natural elements implementation
  • Improved waterway parsing
  • New languages: Arabic, French, Hungarian

New Features

  • Buildings overhaul with interior and roof generation
  • Wetlands implementation
  • Natural elements expansion
  • City search box with geocoding support
  • Map themes in settings
  • Spawn position selection using marker
  • Resizable window support
  • Multiple new language translations
  • Quarry ore generation

Full Release Notes

<img src="https://github.com/louis-e/arnis/blob/main/assets/git/banner.png?raw=true" width="100%" alt="Banner">

This release brings a major expansion to Arnis. Expect more realistic and diverse terrain with wetlands, natural elements, improved waterways, and a complete buildings overhaul including interior and roof generation. The map provider has also migrated from Mapbox to AWS Terrain Tiles with OSM integration, ensuring better stability and coverage. Alongside these big updates, the release introduces new languages (Arabic, French, Hungarian, and more), quality-of-life improvements in the GUI, and numerous bug fixes and optimizations.

## Assets
* Windows: arnis-windows.exe
* Linux: arnis-linux
* MacOS: arnis-mac-universal

Scroll down to find the download.

## What's Changed

<details>
<summary>Click to expand</summary>

* Buildings Overhaul by @louis-e in [https://github.com/louis-e/arnis/pull/465](https://github.com/louis-e/arnis/pull/465)
* Migrate from Mapbox to AWS Terrain Tiles by @louis-e in [https://github.com/louis-e/arnis/pull/493](https://github.com/louis-e/arnis/pull/493)
* Switch map provider from Mapbox to OSM by @louis-e in [https://github.com/louis-e/arnis/pull/456](https://github.com/louis-e/arnis/pull/456)
* Add city search box to map with geocoding support by @louis-e in [https://github.com/louis-e/arnis/pull/496](https://github.com/louis-e/arnis/pull/496)
* Implement wetlands by @Oleg4260 in [https://github.com/louis-e/arnis/pull/430](https://github.com/louis-e/arnis/pull/430)
* Optimize ground generation + new natural elements by @Oleg4260 in [https://github.com/louis-e/arnis/pull/421](https://github.com/louis-e/arnis/pull/421)
* Add support for more natural elements by @louis-e in [https://github.com/louis-e/arnis/pull/492](https://github.com/louis-e/arnis/pull/492)
* Implement Sutherland-Hodgman algorithm for element clipping by @louis-e in [https://github.com/louis-e/arnis/pull/491](https://github.com/louis-e/arnis/pull/491)
* Better waterway parsing by @louis-e in [https://github.com/louis-e/arnis/pull/494](https://github.com/louis-e/arnis/pull/494)
* Castle materials by @louis-e in [https://github.com/louis-e/arnis/pull/529](https://github.com/louis-e/arnis/pull/529)
* Make leaves persistent to stop hedges from decaying by @wielandb in [https://github.com/louis-e/arnis/pull/334](https://github.com/louis-e/arnis/pull/334)
* Added ores generation in quarries + other changes by @Oleg4260 in [https://github.com/louis-e/arnis/pull/337](https://github.com/louis-e/arnis/pull/337)
* Some improvements for the generation by @Oleg4260 in [https://github.com/louis-e/arnis/pull/403](https://github.com/louis-e/arnis/pull/403)
* Minor improvements to farmland code by @Oleg4260 in [https://github.com/louis-e/arnis/pull/414](https://github.com/louis-e/arnis/pull/414)
* Update barrier generation by @GMart in [https://github.com/louis-e/arnis/pull/466](https://github.com/louis-e/arnis/pull/466)
* Update leisure and highway element processing by @GMart in [https://github.com/louis-e/arnis/pull/425](https://github.com/louis-e/arnis/pull/425)
* Fix scaling of roads and building heights by @GMart in [https://github.com/louis-e/arnis/pull/444](https://github.com/louis-e/arnis/pull/444)
* Minor element generation enhancements by @louis-e in [https://github.com/louis-e/arnis/pull/530](https://github.com/louis-e/arnis/pull/530)
* Open up a map editing architecture in the workflow for transformation, and enables generating at non-origin by @XianlinSheng in [https://github.com/louis-e/arnis/pull/409](https://github.com/louis-e/arnis/pull/409)
* Select spawn position using marker by @louis-e in [https://github.com/louis-e/arnis/pull/461](https://github.com/louis-e/arnis/pull/461)
* Update spawn point Y coord according to terrain by @louis-e in [https://github.com/louis-e/arnis/pull/513](https://github.com/louis-e/arnis/pull/513)
* Deprecate ground level input by @louis-e in [https://github.com/louis-e/arnis/pull/508](https://github.com/louis-e/arnis/pull/508)
* Add map themes to settings by @louis-e in [https://github.com/louis-e/arnis/pull/512](https://github.com/louis-e/arnis/pull/512)
* Implement #343: Allow window to be resizable by @louis-e in [https://github.com/louis-e/arnis/pull/528](https://github.com/louis-e/arnis/pull/528)
* Add Discord button link to settings by @louis-e in [https://github.com/louis-e/arnis/pull/527](https://github.com/louis-e/arnis/pull/527)
* Add new desktop icon by @louis-e in [https://github.com/louis-e/arnis/pull/462](https://github.com/louis-e/arnis/pull/462)
* Add a XDG desktop file by @TheComputerGuy96 in [https://github.com/louis-e/arnis/pull/354](https://github.com/louis-e/arnis/pull/354)
* GUI Settings refactored languages by @louis-e in [https://github.com/louis-e/arnis/pull/487](https://github.com/louis-e/arnis/pull/487)
* Minor GUI Fixes by @louis-e in [https://github.com/louis-e/arnis/pull/506](https://github.com/louis-e/arnis/pull/506)
* Add Arabic language by @Salmonings in [https://github.com/louis-e/arnis/pull/287](https://github.com/louis-e/arnis/pull/287)
* Add translation for French (France) by @Phantomwise in [https://github.com/louis-e/arnis/pull/396](https://github.com/louis-e/arnis/pull/396)
* Add Hungarian translation by @Xatresu in [https://github.com/louis-e/arnis/pull/346](https://github.com/louis-e/arnis/pull/346)
* Update Chinese translation by @xCipHanD in [https://github.com/louis-e/arnis/pull/398](https://github.com/louis-e/arnis/pull/398)
* Update Russian translation by @Denisskas in [https://github.com/louis-e/arnis/pull/324](https://github.com/louis-e/arnis/pull/324)
* Update Polish translation by @krvstek in [https://github.com/louis-e/arnis/pull/317](https://github.com/louis-e/arnis/pull/317)
* Update Lithuanian translation by @TheComputerGuy96 in [https://github.com/louis-e/arnis/pull/336](https://github.com/louis-e/arnis/pull/336)
* Update Finnish translation by @HelleBenjamin in [https://github.com/louis-e/arnis/pull/411](https://github.com/louis-e/arnis/pull/411)
* Remove winter mode as discussed in issues/415 by @louis-e in [https://github.com/louis-e/arnis/pull/422](https://github.com/louis-e/arnis/pull/422)
* Add landuse for quarry and landfills + add one advice in FAQ by @Oleg4260 in [https://github.com/louis-e/arnis/pull/333](https://github.com/louis-e/arnis/pull/333)
* Add man\_made tagged elements by @louis-e in [https://github.com/louis-e/arnis/pull/495](https://github.com/louis-e/arnis/pull/495)
* Refactor tree generation by @benjamin051000 in [https://github.com/louis-e/arnis/pull/335](https://github.com/louis-e/arnis/pull/335)
* Change functions returning vecs to global arrays. by @benjamin051000 in [https://github.com/louis-e/arnis/pull/340](https://github.com/louis-e/arnis/pull/340)
* Set `terrain` arg to store true. by @benjamin051000 in [https://github.com/louis-e/arnis/pull/374](https://github.com/louis-e/arnis/pull/374)
* Formal BBox struct by @benjamin051000 in [https://github.com/louis-e/arnis/pull/377](https://github.com/louis-e/arnis/pull/377)
* Simplify elevation retrieval in each element processor by @louis-e in [https://github.com/louis-e/arnis/pull/423](https://github.com/louis-e/arnis/pull/423)
* Fixes for pull/423 by @Oleg4260 in [https://github.com/louis-e/arnis/pull/426](https://github.com/louis-e/arnis/pull/426)
* Small data retrieval improvements by @akx in [https://github.com/louis-e/arnis/pull/446](https://github.com/louis-e/arnis/pull/446)
* Data parsing fixes by @akx in [https://github.com/louis-e/arnis/pull/450](https://github.com/louis-e/arnis/pull/450)
* Some overflow fixes by @akx in [https://github.com/louis-e/arnis/pull/451](https://github.com/louis-e/arnis/pull/451)
* Terrain fixes by @akx in [https://github.com/louis-e/arnis/pull/452](https://github.com/louis-e/arnis/pull/452)
* Elevation crop mapping fix by @louis-e in [https://github.com/louis-e/arnis/pull/505](https://github.com/louis-e/arnis/pull/505)
* Fix expired mapbox token by @louis-e in [https://github.com/louis-e/arnis/pull/454](https://github.com/louis-e/arnis/pull/454)
* Fix #486: Map not loading due to GPU driver conflicts by @louis-e in [https://github.com/louis-e/arnis/pull/524](https://github.com/louis-e/arnis/pull/524)
* Add automatic HTTP fallback for HTTPS tile loading failures by @louis-e in [https://github.com/louis-e/arnis/pull/525](https://github.com/louis-e/arnis/pull/525)
* Fix MacOS builds by @louis-e in [https://github.com/louis-e/arnis/pull/520](https://github.com/louis-e/arnis/pull/520)
* Fix MacOS CI universal release builds by @louis-e in [https://github.com/louis-e/arnis/pull/522](https://github.com/louis-e/arnis/pull/522)
* Remove gui-only deps when building cli by @benjamin051000 in [https://github.com/louis-e/arnis/pull/321](https://github.com/louis-e/arnis/pull/321)
* Move GUI logic to its own file by @benjamin051000 in [https://github.com/louis-e/arnis/pull/416](https://github.com/louis-e/arnis/pull/416)
* CI: Add cache action to preserve build artifacts. by @benjamin051000 in [https://github.com/louis-e/arnis/pull/417](https://github.com/louis-e/arnis/pull/417)
* ci: run cargo test by @benjamin051000 in [https://github.com/louis-e/arnis/pull/376](https://github.com/louis-e/arnis/pull/376)
* CI: fix benchmark time to not include build by @akx in [https://github.com/louis-e/arnis/pull/457](https://github.com/louis-e/arnis/pull/457)
* Small CI fixes by @akx in [https://github.com/louis-e/arnis/pull/447](https://github.com/louis-e/arnis/pull/447)
* docs(README): add Arch Linux installation instructions by @adamperkowski in [https://github.com/louis-e/arnis/pull/113](https://github.com/louis-e/arnis/pull/113)
* Revert improvement by @louis-e in [https://github.com/louis-e/arnis/pull/412](https://github.com/louis-e/arnis/pull/412)
* Revert to second dirt addition line by @louis-e in [https://github.com/louis-e/arnis/pull/420](https://github.com/louis-e/arnis/pull/420)
* Fix clippy warnings by @benjamin051000 in [https://github.com/louis-e/arnis/pull/378](https://github.com/louis-e/arnis/pull/378)
* Fix clippy by @louis-e in [https://github.com/louis-e/arnis/pull/448](https://github.com/louis-e/arnis/pull/448)
* Fix cargo fmt by @louis-e in [https://github.com/louis-e/arnis/pull/526](https://github.com/louis-e/arnis/pull/526)
* Minor fixes by @louis-e in [https://github.com/louis-e/arnis/pull/518](https://github.com/louis-e/arnis/pull/518)
* fix typo in args by @scd31 in [https://github.com/louis-e/arnis/pull/523](https://github.com/louis-e/arnis/pull/523)
* Bump log from 0.4.22 to 0.4.27 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/401](https://github.com/louis-e/arnis/pull/401)
* Bump tokio from 1.42.0 to 1.44.1 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/402](https://github.com/louis-e/arnis/pull/402)
* Bump tauri-plugin-log from 2.2.0 to 2.2.2 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/391](https://github.com/louis-e/arnis/pull/391)
* Bump openssl from 0.10.68 to 0.10.70 in the cargo group by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/363](https://github.com/louis-e/arnis/pull/363)
* Bump the cargo group with 5 updates by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/407](https://github.com/louis-e/arnis/pull/407)
* Bump dirs from 5.0.1 to 6.0.0 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/360](https://github.com/louis-e/arnis/pull/360)
* Bump flate2 from 1.0.35 to 1.1.1 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/431](https://github.com/louis-e/arnis/pull/431)
* Bump colored from 2.2.0 to 3.0.0 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/432](https://github.com/louis-e/arnis/pull/432)
* Bump windows from 0.59.0 to 0.61.1 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/433](https://github.com/louis-e/arnis/pull/433)
* Bump once\_cell from 1.20.2 to 1.21.3 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/434](https://github.com/louis-e/arnis/pull/434)
* Bump actions/download-artifact from 3 to 4 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/132](https://github.com/louis-e/arnis/pull/132)
* Bump softprops/action-gh-release from 1 to 2 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/131](https://github.com/louis-e/arnis/pull/131)
* Bump actions/checkout from 3 to 4 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/129](https://github.com/louis-e/arnis/pull/129)
* Bump actions/upload-artifact from 3 to 4 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/130](https://github.com/louis-e/arnis/pull/130)
* build(deps): bump actions/checkout from 3 to 4 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/472](https://github.com/louis-e/arnis/pull/472)
* build(deps): bump image from 0.24.9 to 0.25.6 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/471](https://github.com/louis-e/arnis/pull/471)
* build(deps): bump rfd from 0.15.2 to 0.15.3 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/469](https://github.com/louis-e/arnis/pull/469)
* build(deps): bump indicatif from 0.17.9 to 0.17.11 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/470](https://github.com/louis-e/arnis/pull/470)
* build(deps): bump serde\_json from 1.0.134 to 1.0.140 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/468](https://github.com/louis-e/arnis/pull/468)
* build(deps): bump geo from 0.29.3 to 0.30.0 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/500](https://github.com/louis-e/arnis/pull/500)
* build(deps): bump tokio from 1.44.2 to 1.47.0 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/499](https://github.com/louis-e/arnis/pull/499)
* build(deps): bump clap from 4.5.23 to 4.5.42 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/498](https://github.com/louis-e/arnis/pull/498)
* build(deps): bump rfd from 0.15.3 to 0.15.4 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/501](https://github.com/louis-e/arnis/pull/501)
* build(deps): bump tauri-build from 2.0.4 to 2.0.5 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/485](https://github.com/louis-e/arnis/pull/485)
* build(deps): bump flate2 from 1.1.1 to 1.1.2 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/483](https://github.com/louis-e/arnis/pull/483)
* build(deps): bump reqwest from 0.12.12 to 0.12.15 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/482](https://github.com/louis-e/arnis/pull/482)
* build(deps): bump tauri-plugin-log from 2.2.2 to 2.6.0 by @dependabot\[bot] in [https://github.com/louis-e/arnis/pull/484](https://github.com/louis-e/arnis/pull/484)

</details>

## New Contributors

<details>
<summary>Click to expand</summary>

* @Denisskas made their first contribution in https://github.com/louis-e/arnis/pull/324
* @Oleg4260 made their first contribution in https://github.com/louis-e/arnis/pull/333
* @Xatresu made their first contribution in https://github.com/louis-e/arnis/pull/346
* @xCipHanD made their first contribution in https://github.com/louis-e/arnis/pull/398
* @Phantomwise made their first contribution in https://github.com/louis-e/arnis/pull/396
* @Salmonings made their first contribution in https://github.com/louis-e/arnis/pull/287
* @GMart made their first contribution in https://github.com/louis-e/arnis/pull/425
* @XianlinSheng made their first contribution in https://github.com/louis-e/arnis/pull/409
* @akx made their first contribution in https://github.com/louis-e/arnis/pull/446
* @danieldegroot2 made their first contribution in https://github.com/louis-e/arnis/pull/514

</details>

**Full Changelog**: https://github.com/louis-e/arnis/compare/v2.2.0...v2.3.0