Skip to content

Releases: alibaba/neug

Release v0.1.3

Choose a tag to compare

@lnfjpt lnfjpt released this 01 Jul 02:30

Release Notes

NeuG v0.1.3

Release Date: 2026-03-17
Full Changelog: v0.1.2...release-v0.1.3

New Features

  • Graph Data Science (GDS) Extension — Added built-in graph algorithms including WCC, BFS, PageRank, LCC, K-Core, Label Propagation, Louvain, and Leiden (#560).
  • COPY TEMP Graph Computation — Support temporary graph computation via COPY TEMP without persisting intermediate results (#595).
  • Node.js Binding — Implemented core Node.js binding code (#424).

Bug Fixes

  • Fixed macOS ARM64 build failures in nightly wheel builds (#515, #517).
  • Fixed parquet loading silently loading 0 rows with non-standard column names (#455).

Refactoring & Improvements

  • Switched UpdateTransaction to copy-on-write snapshot isolation (#370).
  • Unified compiler LogicalType with engine DataType (#525).
  • Introduced Module, Checkpoint, and CheckpointManager for database directory management (#148).

Build & CI

  • macOS ARM64 CI — Added dedicated macOS ARM64 test workflow (#576).
  • Improved workflow triggers for build-wheel.yml (#588).
  • Added AI-powered issue triage workflow and PR completeness check (#469, #466).

Documentation

  • Added Node.js installation and quick example to README (#633).
  • Documented that data I/O operations are embedded-mode only (#597).

发布说明

NeuG v0.1.3

发布日期: 2026-03-17
完整变更记录: v0.1.2...release-v0.1.3

新功能

  • 图数据科学(GDS)扩展 — 新增内置图算法,包括 WCC、BFS、PageRank、LCC、K-Core、标签传播、Louvain 和 Leiden(#560)。
  • COPY TEMP 图计算 — 支持通过 COPY TEMP 进行临时图计算,无需持久化中间结果(#595)。
  • Node.js 绑定 — 实现 Node.js 绑定的核心代码(#424)。

缺陷修复

  • 修复夜间 wheel 构建中的 macOS ARM64 构建失败(#515#517)。
  • 修复非标准列名导致 parquet 加载 0 行的问题(#455)。

重构与改进

  • UpdateTransaction 切换为写时复制快照隔离(#370)。
  • 统一编译器 LogicalType 与引擎 DataType#525)。
  • 引入 ModuleCheckpointCheckpointManager,优化数据库目录管理(#148)。

构建与 CI

  • macOS ARM64 CI — 新增 macOS ARM64 专用测试工作流(#576)。
  • 改进 build-wheel.yml 的工作流触发条件(#588)。
  • 新增 AI 驱动的 issue 分类工作流和 PR 完整性检查(#469#466)。

文档

  • README 中新增 Node.js 安装和快速示例(#633)。
  • 说明数据 I/O 操作仅支持嵌入式模式(#597)。

Release v0.1.2

Choose a tag to compare

@zhanglei1949 zhanglei1949 released this 05 Jun 08:08
92dd48c

Release v0.1.2

We are delighted to announce NeuG v0.1.2! This release brings major query language improvements (including the MERGE clause and schema-free COPY FROM), cloud object storage support (S3/OSS/HTTP), comprehensive Parquet export, an enhanced CLI with autocomplete and syntax highlighting, and numerous stability and performance fixes across the storage and query engine.

✨ Features

  • feat: Support specifying BufferStrategy when open a database by @zhanglei1949 in #162
  • feat: Support COPY FROM without prior DDL by @shirly121 in #134
  • feat: Improve Column Remapping Performance in COPY FROM by @shirly121 in #193
  • feat: Support Multiplicity and Extra Options for Edge Type by @shirly121 in #281
  • feat: Support MERGE Clause to Ensure Pattern Existence by @shirly121 in #312
  • feat: Support converting QueryResult to pyarrow table by @zhanglei1949 in #270
  • feat: Add comprehensive Parquet export support with complex data types by @BingqingLyu in #241
  • feat: Add S3/OSS/HTTP extension support for cloud object storage by @BingqingLyu in #179
  • feat: Add rich autocomplete and syntax highlighting by @Mrhs121 in #373
  • feat: Add AGENTS.md to NeuG by @zhanglei1949 in #327
  • feat: Update help info of neug-cli by @lnfjpt in #253
  • feat: Add nightly ldbc interactive benchmark by @lnfjpt in #217
  • feat: Report nightly result by @lnfjpt in #353
  • feat: Use sort_key_for_nbr in ldbc benchmark by @lnfjpt in #324
  • feat: Update codegraph skill with pr-analysis pattern by @BingqingLyu in #362

🐛 Bug Fixes

🔧 Refactoring & Internals

  • refactor: Avoid unnecessary MD5 computation by @zhanglei1949 in #195
  • refactor: Remove idIndexer::insert_safe, add param bool insert_safe for insert by @zhanglei1949 in #175
  • refactor: Rename USAGE.md to README.md for tools/java_driver by @zhanglei1949 in #218
  • refactor: Move the file when doing Dump for FileSharedMMap by @zhanglei1949 in #212
  • refactor: Remove dummy method in lf_indexer by @zhanglei1949 in #227
  • refactor: Remove wal_uri config and remove dummy work_dir in NeuGDB open by @zhanglei1949 in #230
  • refactor: Serialize vertex_timestamp into one single file by @zhanglei1949 in #231
  • refactor: Remove dummy field for NeuGDBService and ensure the correctness of its functions by @zhanglei1949 in #235
  • refactor: Disable auto checkpoint for read-only mode by @zhanglei1949 in #237
  • refactor: Directly open degree_list and cap_list in container and avoid copy in dump by @zhanglei1949 in #267
  • refactor: Refactors the graph schema modification interfaces by @liulx20 in #289
  • refactor: Avoid passing error_on_conflict to storage layer by @zhanglei1949 in #291
  • refactor: Merge proto related target into one by @zhanglei1949 in #310
  • refactor: Update predicate operator size and indexing in tc_fuse.cc by @liulx20 in #332
  • refactor: Remove redundant field of Table by @zhanglei1949 in #349
  • refactor: Use Value as the underlying type for default value store in Schema by @zhanglei1949 in #344
  • refactor: Unify the Edge/Vertex label resolution in UpdateTransaction by @zhanglei1949 in #355
  • refactor: Replace some dangerous LOG(FATAL) with exception throw by @zhanglei1949 in #360
  • refactor: Refactor json extension as built-in functionality by @shirly121 in #337
  • refactor: Wrap VertexTable::indexer_ and v_ts_ as std::shared_ptr by @zhanglei1949 in #391
  • refactor: Consolidate Schema vertex/edge label check API by @zhanglei1949 in #393
  • refactor: Rename GenericView/generic_view.h to CsrView/csr_view.h by @zhanglei1949 in #397
  • refactor: Remove unused LFIndexer::build_empty_LFIndexer by @zhanglei1949 in #403
  • refactor: Add md5 for string column by @liulx20 in #258

📚 Documentation

🛠 CI/CD

  • ci: Restrict the self-hosted runners used by neug-test by @lnfjpt in #196
  • ci: Add label for self-hosted runner in neug-test by @lnfjpt in #199
  • ci: Temporarily disable the multiprocessing test case by @liulx20 in #234
  • ci: Simplify ccache key by @zhanglei1949 in #285
  • ci: Add test to ensure service-related API correct by @zhanglei1949 in #259
  • ci: Use github-hosted runner in neug-test by @lnfjpt in #317

⚠️ Breaking / Migration Notes

  • Minimum CMake version is now 3.16 (#375).
  • GenericView is renamed to CsrView; external code referencing the old header must update its include paths (#397).
  • Schema modification interfaces are reworked — downstream tooling that called the old APIs should be revisited (#289).

New Contributors

Read more