Horizon Community Edition 0.0.10
-
Refactoring and Platform-Specific Optimizations:
- MiMalloc compilation is now limited to Linux platforms, optimizing the build process for different operating systems. (PR #138 by @WilliamAnimate)
-
Documentation Updates:
- Multiple README.md updates to improve project documentation and user guidance. (PRs #140, #147, #148, #149 by @tristanpoland)
-
Plugin System Development:
- Introduction of a compile-time plugin system that can also work at runtime (Experimental stage) for both performance and ease-of-use, enhancing the extensibility of Horizon. (PR #142 by @tristanpoland)
- Expansion of the Horizon plugin API, providing more capabilities for plugin developers. (PR #146 by @tristanpoland)
- Removal of unnecessary code from plugin_manager.rs, streamlining the plugin management system. (PR #145 by @tristanpoland)
-
PebbleVault Improvements:
- Major update to PebbleVault, likely including performance enhancements and feature additions. (PR #151 by @tristanpoland)
- Further improvements to PebbleVault, focusing on reliability and functionality. (PR #154 by @tristanpoland)
-
Build Process and CI/CD:
- Re-enabling of the Windows GitHub Action job, improving cross-platform development and testing capabilities. (PR #143 by @tristanpoland)
-
Codebase Restructuring:
- Removal of the structs.rs file and migration to the horizon_data_types crate, indicating a significant architectural change. (Mentioned in Other Highlights)
-
Cross-Platform Development:
- Fixed Windows compilation issues for PebbleVault, improving cross-platform compatibility. (@tristanpoland and @haywoodspartan)
-
Language Migration and Optimization:
- Complete rewrite of PebbleVault from Go to Rust, led by @Tuafo. This change promises:
- Faster compilation process
- Easier setup
- More concise codebase
- Improved code readability and maintainability
- Complete rewrite of PebbleVault from Go to Rust, led by @Tuafo. This change promises:
-
Collaborative Plugin API Development:
- @tristanpoland, @WilliamAnimate, and @haywoodspartan collaborated on designing and implementing an alpha-state plugin API, setting the foundation for future extensibility of Horizon.
🔧 Build from source
Prerequisites
Before installing Horizon, ensure that you have the following prerequisites:
- Docker installed on your system.
- Git for cloning the Horizon repository.
- Basic understanding of Docker and containerized applications.
Installation Steps
-
Clone the Horizon repository from GitHub:
git clone https://github.com/AstroVerse-Studios/Horizon.git
-
Navigate to the project directory:
cd Horizon
-
optionally enter WSL or open the project in a VSCode Devcontainer if you prefer these
wsl
-
Run the following to install deps
Debian (Or the DevContainer)
sudo apt-get update && sudo apt-get install -y clang libsqlite3-dev libssl-dev golang curl libclang-dev curl gcc-multilib
Alpine
sudo apk update && sudo apk add clang sqlite-dev openssl-dev build-base go rustup curl libclang gcc-multilib curl
Windows
- No need to install anything
-
Install Rust (https://www.rust-lang.org/tools/install)
-
Use cargo to compile and run Horizon
cargo run
-- or build a binary release --
cargo build --release