Skip to main content

v0.47.0 Release Notes

Release Notes

EnerOS v0.47.0 Release Notes

  • Release Date: 2026-07-05
  • Codename: Convergence
  • Chinese Name: NengShu OS
  • Support Status: Stable, current latest version
  • Total Crates: 56
  • Test Cases: 7300+
  • Contributors: 32

Version Overview

EnerOS v0.47.0 is the closing release of the “Mature Optimization” phase, codenamed Convergence. “Gathering energy at the hub, driving intelligent everything” — this release comprehensively converges the performance benchmarking, security auditing, developer experience, documentation systems, ecosystem expansion, and stability enhancement results accumulated over the previous six releases, completing the unification of brand identity and the finalization of the documentation site.

v0.47.0 is not a feature-dense release, but a convergence and polishing release. The core work of this release focuses on four directions: brand identity unification (LOGO update, Chinese name “NengShu OS” adoption), documentation system refinement (SenseNova style, Mimo design language), homepage restructuring and visual specification unification (three-column centered layout, code blocks with black background and copy buttons), and final achievement of engineering metrics (56 Crates, 7300+ test cases).

Through seven releases of iteration from v0.41.0 to v0.47.0, EnerOS has moved from “architecturally complete” to “engineering mature”, meeting the conditions to enter the v0.48.0 Long-Term Support (LTS) candidate phase. v0.47.0 is the convergence point of the 0.x series and the starting line for 1.0.

Core Slogan

Gathering energy at the hub, driving intelligent everything.

NengShu OS gathers the energy (Energy) of the power system at the hub of the AgentOS, driving the interconnected smart grid with a native agent architecture. The LOGO uses hexagonal grid nodes as the basic element, symbolizing the topology of the power grid and the node-based design of agents.

Key Metrics

MetricValueDescription
Crate count56All implemented in Rust
Test cases7300+Unit + integration + end-to-end + stress
Lines of code260000Excluding generated code
Documentation pages380+Chinese and English bilingual
Test coverage84%Core modules 92%+
Documentation site first screen< 0.6sCDN accelerated
Continuous operation168 hoursNo degradation, no leaks
Certified plugins248 partners

New Features

1. Brand Identity Unification

This release completes the comprehensive unification of the EnerOS brand identity, including LOGO update, Chinese name adoption, and visual specification finalization.

LOGO Design

The LOGO uses hexagonal grid nodes as the core element. The hexagon is the most efficient tessellation structure in nature and a common connection pattern in grid topology. Each hexagon represents a grid node (bus), and the tessellation of multiple hexagons represents the topological connection of the grid. The LOGO uses electric blue (#0066FF) and energy orange (#FF6600) dual colors, representing electricity and intelligence respectively.

Hexagonal grid node LOGO design elements:

  Shape: Hexagonal tessellation (honeycomb structure)
  Primary color: Electric blue #0066FF (Power)
  Secondary color: Energy orange #FF6600 (Intelligence)
  Font: Inter (English) + Source Han Sans (Chinese)
  Chinese name: NengShu OS
  English name: EnerOS

Chinese Name Adoption

Officially adopted the Chinese name “NengShu OS” (能枢OS). “Neng” (能) represents energy and capability, “Shu” (枢) represents hub and center. NengShu OS means “hub of energy, center of intelligence”, precisely summarizing EnerOS’s positioning as a native agent operating system for the power and energy domain.

// Brand information configuration
use eneros_branding::{Brand, BrandConfig};

let brand = Brand::new(BrandConfig {
    name_en: "EnerOS",
    name_zh: "能枢OS",
    tagline_zh: "聚能以枢,驱动万物智能",
    tagline_en: "Energy Hub, Driving Intelligent Everything",
    logo: "assets/logo-hexagon.svg",
    primary_color: "#0066FF",
    secondary_color: "#FF6600",
    version: "v0.47.0",
});

2. Documentation System Refinement (SenseNova Style)

Based on the v0.44.0 restructuring, the documentation site underwent visual polishing and information architecture optimization referencing the SenseNova style. The overall style is more concise, professional, and tech-savvy, emphasizing content readability and navigation efficiency.

Visual Specifications

ElementSpecificationDescription
Primary color#0066FF (Electric blue)Brand primary color
Secondary color#FF6600 (Energy orange)Emphasis and highlight
Background color#FFFFFF / #0D1117Light/dark mode
Code block background#0D1117 (Black)Unified dark
Body fontSource Han Sans / InterChinese and English
Code fontJetBrains MonoMonospace
Border radius8pxUnified border radius
Spacing8px baseMultiples of 8

Code Block Black Background and Copy Button

All code blocks uniformly use black background (#0D1117) with syntax highlighting. Each code block has a copy button in the upper right corner. Clicking it copies the code content to the clipboard with one click.

// Code block component (React)
import { useState } from 'react';

export function CodeBlock({ code, language }: CodeBlockProps) {
  const [copied, setCopied] = useState(false);

  const handleCopy = async () => {
    await navigator.clipboard.writeText(code);
    setCopied(true);
    setTimeout(() => setCopied(false), 2000);
  };

  return (
    <div className="code-block" style={{ background: '#0D1117' }}>
      <div className="code-header">
        <span className="code-lang">{language}</span>
        <button className="copy-btn" onClick={handleCopy}>
          {copied ? 'Copied' : 'Copy'}
        </button>
      </div>
      <pre><code className={`language-${language}`}>{code}</code></pre>
    </div>
  );
}

SenseNova Style Key Points

  • Homepage uses large white space and centered layout, highlighting the brand slogan and core value
  • Card-based information display, each card with clear title, icon, and description
  • Gradient decorative lines, transitioning from electric blue to energy orange
  • Documentation pages use three-column layout, left-center-right uniformly centered
  • Dark mode enabled by default, code blocks always have black background

3. Homepage Restructuring (Mimo Design Language)

The homepage was completely restructured referencing the Mimo design language. Mimo emphasizes “minimalism, focus, breathing sense”, using large white space, restrained colors, and clear hierarchical relationships to let users understand EnerOS’s core value within 3 seconds.

Homepage Structure

Homepage layout (Mimo design language):

1. Hero area
   - Brand slogan: Gathering energy at the hub, driving intelligent everything
   - Subtitle: Native agent operating system for the power and energy domain
   - CTA buttons: Quick Start / View Documentation

2. Core features area
   - 4 cards: Power-Native Kernel / Dual Execution Architecture / Constraints as Law / Agent-as-Grid-Node
   - Each card includes icon, title, description, and "Learn more" link

3. Performance data area
   - Key metrics: 56 Crates / 7300+ tests / < 1ms real-time latency / 99.999% availability
   - Number scrolling animation

4. Ecosystem display area
   - Partner LOGO wall
   - Marketplace entrance

5. Version update area
   - Latest version v0.47.0 highlighted
   - Version timeline thumbnail

6. Footer
   - Documentation links / Community / Contact

Three-Column Layout Unified Centering

Documentation pages use a three-column layout: left navigation bar, center content area, right table of contents. The three columns are uniformly centered within a maximum width of 1440px viewport, with the content area having a maximum width of 800px, ensuring optimal reading experience.

/* Three-column layout styles */
.doc-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 800px) 240px;
  max-width: 1440px;
  margin: 0 auto;
  gap: 32px;
  padding: 0 32px;
}

.doc-content {
  max-width: 800px;
  margin: 0 auto;
}

/* Responsive: hide sidebars on small screens */
@media (max-width: 1024px) {
  .doc-layout {
    grid-template-columns: 1fr;
  }
  .doc-sidebar, .doc-toc {
    display: none;
  }
}

4. Engineering Metrics Achievement

v0.47.0 achieved all engineering metrics of the 0.x series, preparing for the 1.0 candidate phase.

Final Metrics Overview

Metricv0.40.0 (Start)v0.47.0 (Current)Growth
Crate count4256+14
Test cases5400+7300++1900
Lines of code180000260000+80000
Test coverage78%84%+6%
Documentation pages120+380++260
Certified plugins024+24
Partners08+8
Solution templates015+15
Marketplace apps042+42

Crate Panorama

eneros workspace (56 crates):

Kernel layer (12):
  eneros-core · eneros-topology · eneros-powerflow · eneros-constraint
  eneros-equipment · eneros-timeseries · eneros-os · eneros-syscall
  eneros-rt · eneros-safety · eneros-shmem · eneros-arch

Agent layer (8):
  eneros-agent · eneros-reasoning · eneros-memory · eneros-tool
  eneros-orchestrator · eneros-react · eneros-toolchain · eneros-sandbox

Service layer (10):
  eneros-api · eneros-gateway · eneros-dashboard · eneros-cli
  eneros-config · eneros-auth · eneros-tenant · eneros-ha
  eneros-trust · eneros-compliance

Domain layer (10):
  eneros-scada · eneros-i61850 · eneros-i104 · eneros-modbus
  eneros-mqtt · eneros-iot · eneros-twin · eneros-forecast
  eneros-dispatch · eneros-protection

Ecosystem layer (8):
  eneros-marketplace · eneros-plugin-sdk · eneros-eco
  eneros-docs · eneros-branding · eneros-web · eneros-stress
  eneros-benchmark

Tooling layer (8):
  eneros-dev · eneros-debug · eneros-audit · eneros-build
  eneros-codegen · eneros-macros · eneros-test-utils · eneros-profiler
// Engineering metrics statistics
use eneros_build::metrics::{WorkspaceMetrics, MetricReport};

let metrics = WorkspaceMetrics::scan("./").await?;

let report = MetricReport::new()
    .crate_count(metrics.crates.len())          // 56
    .test_count(metrics.tests.len())            // 7300+
    .loc(metrics.lines_of_code())               // 260,000
    .coverage(metrics.coverage())               // 84%
    .doc_pages(metrics.doc_pages())             // 380+
    .certified_plugins(metrics.plugins())       // 24
    .partners(metrics.partners())               // 8
    .solution_templates(metrics.templates());   // 15

report.render("reports/v0.47-metrics.md")?;

Improvements

Documentation Site Performance

Documentation site first screen loading time reduced from 0.8s to 0.6s through the following optimizations:

  • Static resources fully enabled Brotli compression
  • Images automatically converted to WebP format
  • Fonts use subset + preload strategy
  • Critical CSS inlined, non-critical CSS lazy loaded

Search Experience

Full-text search added search suggestions and history. Search results sorted by relevance with highlighted matching keywords.

Dark Mode Refinement

Dark mode covers all pages and components. Code blocks maintain black background in both modes, ensuring consistent code readability.

Mobile Adaptation

All documentation pages completed mobile responsive adaptation, automatically switching to single-column layout on small screen devices. Navigation and table of contents collapse into drawer-style menus.

Bug Fixes

  • BG-801: Homepage gradient rendering anomaly in Safari, fixed CSS compatibility
  • BG-805: Code block copy button blocked by clipboard permission under HTTPS, added fallback
  • BG-809: Three-column layout right sidebar overflow at 1280px width, adjusted breakpoints
  • BG-813: LOGO insufficient contrast on dark backgrounds, added stroke
  • BG-817: Some pages not refreshed after Chinese-English switching, fixed cache strategy
  • BG-821: Documentation table of contents exceeding viewport in long articles, changed to sticky + scroll

Breaking Changes

This release has no runtime breaking changes. The following are documentation and brand-related changes:

BC-261: Documentation URL Final Finalization

The documentation URL structure was finalized based on the v0.44.0 changes, removing all legacy redirect rules. From v0.47.0, the URL structure is:

  • Latest version: /docs/xxx
  • Historical version: /docs/v0.XX/xxx

BC-262: Brand Asset Path Change

Brand assets (LOGO, fonts, colors) file paths migrated from /static/brand/ to /static/assets/brand/.

Dependency Upgrades

DependencyOld VersionNew VersionDescription
astro4.54.8Documentation site framework
starlight0.150.18Documentation theme
react18.218.3Frontend framework
tailwindcss3.43.4.4CSS framework

Upgrade Guide

Upgrade from v0.46.0

This release has no runtime breaking changes. The upgrade process is simple:

cargo update
cargo test --workspace

Update documentation site:

cd eneros-web
npm install
npm run build

Verify brand assets:

eneros-cli brand verify --assets

Upgrade from Earlier Versions

If upgrading from v0.43.0 or earlier, please upgrade version by version in order:

  1. Upgrade to v0.44.0 (handle documentation toolchain changes)
  2. Upgrade to v0.45.0 (handle plugin SDK changes)
  3. Upgrade to v0.46.0 (handle resource limits configuration changes)
  4. Upgrade to v0.47.0 (current version)

For detailed upgrade guides for each version, please refer to the corresponding version’s release notes.

Version Phase Summary

v0.47.0 marks the completion of the “Mature Optimization” phase (Phase 5). The following table summarizes the core contributions of the seven releases in this phase:

VersionCodenameDateCore Contribution
v0.41.0Bench2026-06-22Performance benchmarking system
v0.42.0Audit2026-06-25Security auditing and vulnerability scanning
v0.43.0DevEx2026-06-27Developer experience and toolchain
v0.44.0Docs2026-06-29Documentation system restructuring
v0.45.0Eco2026-07-01Ecosystem expansion and marketplace
v0.46.0Stable2026-07-03Stability enhancement and memory fixes
v0.47.0Convergence2026-07-05Brand convergence and documentation finalization

Next Phase Preview

v0.48.0 will enter the “Long-Term Support Candidate” phase (Phase 6), expected to be released in 2026-08. Main directions include:

  • API freeze: Mark stable APIs, commit to long-term compatibility
  • Performance baseline lock: Determine 1.0 performance baseline
  • Security certification completion: Complete MLPS Level 3 and IEC 62443 SL-3 certification
  • Documentation freeze: 1.0 candidate documentation finalization
  • LTS preview: Announce LTS support policy

1.0.0 is expected to be officially released after v0.50.0.