Repository navigation
RogueRust v4.0.0-testing
Pre-release
Pre-release
·
26 commits
to main
since this release
RogueRust Changelog
3.3.11-testing
- Advanced project, assembly and runtime testing identity to
3.3.11; testing CI publishes the canonical3.3.11-testingprerelease. - Added the shared
IRogueSkinCatalogServicecatalogue with immutable read snapshots and generation tracking. - Added
IRogueSkinServicefor validated, low-overhead in-place skin application. - Added
IRoguePlayerSkinCacheServicefor generation-aware per-player effective-skin snapshots. - Added
IRogueSkinSessionServicefor bounded 48-slot skin-browser paging, lifecycle state and cleanup. - Added runtime imported skin registration/removal with source and owner metadata so Workshop/custom skin workflows can update the catalogue without rescanning Rust definitions.
- Added a persistent server-side skin manifest at
oxide/data/RogueRust/RogueRustSkins/skin-manifest.json(and the equivalent Carbon data root), loaded on startup and atomically refreshed when Steam inventory definitions are available. - Added late Steam inventory-definition discovery without a compile-time Steamworks dependency, allowing the manifest to include Workshop definitions that are not present in the early
ItemSkinDirectorysnapshot. - Exposed Steam-manifest readiness and last-refresh metadata so plugins can distinguish cached/startup data from a fully established Steam skin catalogue.
- Preserved native Rust/content skin aliases across runtime catalogue mutations.
- Registered skin catalogue, application, player-cache and session services through
RogueServicesand the capability registry. - Redirect skin replacement remains guarded until state-preserving item replacement is validated against the current Rust server API.
- Updated README and feature documentation for the RogueRustSkins backend platform.
3.3.8-testing
Binary embedded image foundation
- Advanced project, assembly and runtime testing identity to
3.3.8. - Reworked packaged artwork around real binary
.pngassembly resources; legacy Base64 resource packaging is no longer used. - Valid embedded PNGs now follow the same proven direct-validation path as valid downloaded PNGs and are never unnecessarily decoded/re-encoded through Unity.
- Retained Unity ImageConversion only as a normalization fallback for non-PNG embedded formats.
- Added full PNG chunk/CRC/IEND validation before FileStorage registration.
- Added immediate FileStorage round-trip verification after a new embedded image is stored.
- Retained SHA-256 content deduplication, owner namespaces, stale CRC cleanup, persisted metadata and CommunityEntity identity handling.
- This establishes the reusable local-only image foundation for RogueRustDeathNotes and future RogueRust plugin icons.
3.3.7-testing
Embedded asset delivery hardening
- Advanced project, assembly and runtime testing identity to
3.3.7. - Embedded images are now fingerprinted before reuse; a packaged icon change invalidates the previous cached FileStorage record automatically.
- Valid current embedded assets reuse their existing FileStorage CRC without decoding or storage work beyond initialization.
- Stale CRCs are replaced and unreferenced FileStorage entries are cleaned up.
- Added explicit diagnostics for missing assembly resources, CommunityEntity readiness and successful embedded-image registration including the resulting FileStorage CRC.
- Retained local-only delivery: no HTTP, GitHub, SteamID or external image host is required.
3.3.6-testing
Embedded RogueRust icon assets
- Advanced project, assembly, runtime and testing release identity to
3.3.6. - Added a dedicated
src/Oxide.Ext.RogueRust/Icons/asset folder for current and future RogueRust plugin artwork. - Added the RogueRustDeathNotes icon as an assembly embedded resource.
- Extended
IRogueImageLibraryServicewith an additive embedded-image resolver that validates the PNG, stores it once through Rust FileStorage, reuses content hashes, and persists normal ImageLibrary metadata. - Embedded assets require no SteamID, HTTP request, GitHub request or external image host at runtime.
- Prepared RogueRustDeathNotes to consume its branded icon through the shared DLL ImageLibrary path.
3.3.5-testing
Vehicle catalogue / administration cleanup
- Advanced project, assembly, runtime and default plugin-manifest identity to
3.3.5. - Expanded modular cars into distinct 2/3/4-module spawned cars and chassis with exact Rust item IDs, shortnames and prefabs.
- Split submarines into solo/duo variants and added the motorbike-with-sidecar.
- Added additive
ItemShortnameandItemIddescriptor metadata and populated validated prefab paths where available. - Kept existing service families intact for current plugins; this stage removes no shared non-UI contracts.
- Enables AdminMenu and future plugins to prefer native Rust ItemId artwork and exact prefab identity over guessed image/spawn mappings.
3.3.5-testing
3.3.5 consolidates the current F1 administration, vehicle-catalogue and ImageLibrary hardening work into the active testing release.
Release identity
- Advanced project, assembly, runtime and default plugin-manifest identity to
3.3.5. - Testing CI resolves the source version to
v3.3.5-testingand keeps the stable/testing updater channels isolated. - Refreshed README, feature catalogue and F1 administration documentation for the current testing release.
RogueUI / F1 administration
- Added reusable F1 workspace, top-navigation, category-bar, content, search, grid-cell and tile-action geometry.
- Added shared F1 workspace/tab/tile component models and bounded grid-column calculation.
- Added bounded catalogue filtering for dense item/vehicle browsers.
- Added standard item amount tokens/actions for 1, 100, 1000 and native stack size.
- Continued charcoal/slate surfaces, muted olive selection and restrained orange interaction accents.
- F1 helpers remain stateless and introduce no polling/timers/per-frame work.
Vehicle catalogue
- Added shared
IRogueVehicleService/RogueVehicleServicecatalogue support. - Added stable vehicle descriptors and categories for Animals, Bikes, Boats, Cars, Helicopters, Misc, Siege and Trains.
- Added bounded category/search filtering and stable image keys for F1/AdminMenu consumers.
- Vehicle entity spawning remains game/plugin-side until safe spawn resolution is finalized.
ImageLibrary hardening
- Valid PNG downloads now use a direct validation/storage path rather than being unnecessarily decoded/re-encoded through Unity.
- Non-PNG sources retain Unity image decode/PNG normalization.
- Added PNG header/IHDR dimension validation while retaining source/PNG/dimension limits.
- Added five-minute failure cooldowns to prevent repeated broken URL/404 requests from hammering the server.
- Retained SHA-256 content deduplication, Rust FileStorage persistence, owner namespaces, reverse index, warmup and telemetry.
- RogueRust metadata remains persisted under
oxide/data/RogueRust/ImageLibrary/images.json.
CI/API compatibility correction
- Run #89 compiled successfully but failed pre-stable validation because the source-contract exporter treated public implementation members inside the internal
RogueImageLibraryServiceclass as public SDK API. - The compatibility comparison now excludes that internal implementation file while continuing to validate the actual public
IRogueImageLibraryServicecontract. - This prevents implementation-only formatting/refactoring from being misclassified as a breaking public API removal.
3.3.1-testing
- Continued the administration/backend integration line with RogueUI design tokens, shared teleport/vanish state and ImageLibrary-v2 direction.
- Maintained isolated testing release/update metadata.
3.3.0-testing
- Began the coordinated administration-platform overhaul with shared vanish state, RogueUI design/font primitives and shared teleport direction.
3.0.0
- Consolidated the mature 2.x framework into the stable 3.x platform with diagnostics, lifecycle safety, API compatibility checks and public documentation.
2.x development summary
- 2.9.0: bounded stability/soak monitoring.
- 2.8.0: developer platform, capability contracts and API-baseline release gating.
- 2.7.0: resilience/circuit breakers and drain-first shutdown.
- 2.6.0: ImageLibrary reverse indexes, owner namespaces/pressure and warmup.
- 2.5.0: UI/data efficiency and reusable DB command templates.
- 2.4.0: adaptive observability and recent metrics.
- 2.3.0: pressure attribution, HTTP protection and image content dedupe.
- 2.2.0: runtime pressure/lifecycle hardening.
- 2.1.0: performance/public-package consolidation.