Releases: alibaba/neug
Releases · alibaba/neug
Release v0.1.2
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 FROMwithout prior DDL by @shirly121 in #134 - feat: Improve Column Remapping Performance in
COPY FROMby @shirly121 in #193 - feat: Support Multiplicity and Extra Options for Edge Type by @shirly121 in #281
- feat: Support
MERGEClause 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
- fix: Maintain the edge count in the CSR by @liulx20 in #209
- fix: Fix incorrect passing for buffer_strategy by @zhanglei1949 in #223
- fix: Enhance the expressiveness of VertexAccessor and EdgeAccessor by @liulx20 in #215
- fix: Refactor the file lock by @liulx20 in #189
- fix: Refactor string-column dump by @liulx20 in #172
- fix: Fix edge relation getting by @zhanglei1949 in #244
- fix: Fix EnsureCapacity for edge table in PropertyGraph by @zhanglei1949 in #275
- fix: Disable resizing during the INSERT transaction by @liulx20 in #283
- fix: Fix compile of parquet extension by @lnfjpt in #278
- fix: Fix Bugs in Duplicated Column Projections by @shirly121 in #276
- fix: Support List Expression to Fix Bugs in Unwind by @shirly121 in #280
- fix: Fix string dump by @liulx20 in #287
- fix: Fix two small bugs by @zhanglei1949 in #301
- fix: Use lower_bound for the sorted-region boundary in foreach_nbr_lt by @liulx20 in #295
- fix: Adjust precedence for string/list predicates with NOT by @Spockkk0225 in #322
- fix: Improve unsupported operator error messages with readable names by @shirly121 in #319
- fix: Fix bugs of copy to after load from by @shirly121 in #336
- fix: Fix bug for MMapContainer::IsDirty() by @zhanglei1949 in #368
- fix: Support Returning Edge Properties Immediately After Edge Creation by @liulx20 in #309
- fix: String literals longer than 48 chars crash query pipeline (issue 345) by @ShunyangLi in #350
- fix: Bug fix by @zhanglei1949 in #380
- fix: Update minimum CMake version to 3.16 by @liulx20 in #375
- fix: Disable libunwind in
glogby @liulx20 in #383 - fix: DROP TABLE no longer leaks across checkpoint boundary by @zhanglei1949 in #399
- fix: Avoid copying during edge filtering by @liulx20 in #358
- fix: Correct the unsorted boundary for csr by @liulx20 in #394
- fix: Fix empty line in neug cli by @lnfjpt in #268
- fix: Fix build-wheel error in neug-extension-test by @lnfjpt in #356
🔧 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
- docs: Update document since parquet is available since v0.1.1 by @BingqingLyu in #192
- docs: Clean up Java API reference doc by @longbinlai in #207
- docs: Fix key format for tinysnb tutorial by @longbinlai in #213
- docs: Update Parquet support status in data-io index documentation by @longbinlai in #214
- docs: Fix docs errors by @Spockkk0225 in #304
- docs: Update extensions index.md to reflect JSON built-in status and use PARQUET examples by @BingqingLyu in #406
🛠 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).
GenericViewis renamed toCsrView; 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
- @ShunyangLi made their first contribution in #350
- @Mrhs121 made their first contribution in https://github.com/alibaba/n...