Skip to content

Horizon Community Edition 0.0.10

Compare
Choose a tag to compare
@tristanpoland tristanpoland released this 29 Sep 05:08
· 273 commits to main since this release
b1cf62e
  1. 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)
  2. Documentation Updates:

  3. 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)
  4. 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)
  5. Build Process and CI/CD:

    • Re-enabling of the Windows GitHub Action job, improving cross-platform development and testing capabilities. (PR #143 by @tristanpoland)
  6. 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)
  7. Cross-Platform Development:

  8. 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
  9. Collaborative Plugin API Development:

🔧 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

  1. Clone the Horizon repository from GitHub:

    git clone https://github.com/AstroVerse-Studios/Horizon.git
  2. Navigate to the project directory:

    cd Horizon
  3. optionally enter WSL or open the project in a VSCode Devcontainer if you prefer these

    wsl
  4. 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
  5. Install Rust (https://www.rust-lang.org/tools/install)

  6. Use cargo to compile and run Horizon

cargo run

-- or build a binary release --

cargo build --release