Releases: louis-e/arnis
Releases · louis-e/arnis
Rusty Revolution Release (v2.0.0)
Overview
This is the first major release of Arnis since transitioning from Python to Rust. The project has undergone a significant rewrite, moving to a more performant and efficient language, which introduces numerous improvements in speed, memory management, and overall scalability. This marks Arnis 2.0.0, setting a new foundation for future development.
Key Features and Changes
- Complete Rebuild in Rust
The entire project has been reimplemented in Rust, a systems programming language known for its performance and memory safety.
Rust’s powerful concurrency model and performance optimizations result in faster and more efficient world generation. - Improved Performance
Major speed improvements in generating real-life cities in Minecraft due to Rust's optimized execution.
Memory management has been significantly improved, reducing the likelihood of crashes and excessive memory use in large-scale generation tasks. - Modular Architecture
The Rust version introduces a more modular and maintainable codebase, making future feature development and bug fixes easier.
Cleaner separation of concerns for key functionalities like block management, world editing, and data handling. - New Features
The WorldEditor class provides a comprehensive toolbox for creating new modular element processing classes. This allows easy manipulation of block palettes, lighting, and other world generation elements, giving users greater control and flexibility over block placement and data handling. Buildings and structures now offer greater visual diversity, making generated cities look more dynamic and detailed than before. In the Python version, each OpenStreetMap (OSM) element couldn't be uniquely identified or treated separately. With the Rust rewrite, elements can now be differentiated and handled on an individual basis, allowing for richer, more varied city generation that accurately reflects real-world layouts and details. And many more small improvements. - Future-Proofing
This Rust port lays the groundwork for future development, with better concurrency support and scalability for even larger maps.
Deprecation
The previous Python version is now archived under the python-legacy branch. No significant further updates will be made to the Python version.
Full Changelog: v1.0.0...v2.0.0
Overhaul Update
First release!
- Refactored the entire processing pipelines
- Added better structures
- Added automated Github Workflow releases
Automatically generated release notes:
What's Changed
- Small changes to improve developer experience by @EdwardWeir13579 in #6
- Improve the code health of arnis by @callumfrance in #5
- Add automated testing by @EdwardWeir13579 in #7
- Bump requests from 2.27.1 to 2.31.0 by @dependabot in #22
- Major optimization and overhall by @amir16yp in #30
- Update by @daniil2327 in #31
- Major refactoring by @louis-e in #32
- Major processing pipeline refactoring by @louis-e in #39
- Create workflows for generating windows and linux binaries by @amir16yp in #35
New Contributors
- @EdwardWeir13579 made their first contribution in #6
- @callumfrance made their first contribution in #5
- @dependabot made their first contribution in #22
- @amir16yp made their first contribution in #30
- @daniil2327 made their first contribution in #31
- @louis-e made their first contribution in #32
Full Changelog: https://github.com/louis-e/arnis/commits/v1.0.0