# HugeGraph 0.4.4 Release Notes

LLMS 索引： [llms.txt](/versions/1.0/cn/llms.txt)

---

### API & Java Client

#### 功能更新
- HugeGraph-Server支持WebSocket，能用Gremlin-Console连接使用；并支持直接编写groovy脚本调用Core的代码（HugeGraph-977）
- 适配Schema-id（HugeGraph-1038）
 
#### BUG修复
- hugegraph-0.3.3：删除vertex的属性，body中properties=null，返回500，空指针（HugeGraph-950）
- hugegraph-0.3.3： graph.schema().getVertexLabel()  空指针（HugeGraph-955）
- HugeGraph-Client 中顶点和边的属性集合不是线程安全的（HugeGraph-1013）
- 批量操作的异常信息无法打印（HugeGraph-1013）
- 异常message提示可读性太差，都是用propertyKey的id显示，对于用户来说无法立即识别（HugeGraph-1055） 
- 批量新增vertex实体，有一个body体为null，返回500，空指针（HugeGraph-1056）
- 追加属性body体中只包含properties，功能出现回退，抛出异常The label of vertex can't be null（HugeGraph-1057）
- HugeGraph-Client适配：PropertyKey的DateType中Timestamp替换成Date（HugeGraph-1059）
- 创建IndexLabel时baseValue为空会报出500错误（HugeGraph-1061）
 
### Core

#### 功能更新
- 实现上层独立事务管理，并兼容tinkerpop事务规范（HugeGraph-918、HugeGraph-941）
- 完善memory backend，可以通过API正确访问，且适配了tinkerpop事务（HugeGraph-41）
- 增加RocksDB后端存储驱动框架（HugeGraph-929）
- RocksDB数字索引range-query实现（HugeGraph-963）
- 为所有的schema增加了id，并将各表原依赖name的列也换成id（HugeGraph-589）
- 填充query key-value条件时，value的类型如果不匹配key定义的类型时需要转换为该类型（HugeGraph-964）
- 统一各后端的offset、limit实现（HugeGraph-995）
- 查询顶点、边时，Core支持迭代方式返回结果，而非一次性载入内存（HugeGraph-203）
- memory backend支持range query（HugeGraph-967）
- memory backend的secondary的支持方式从遍历改为IdQuery（HugeGraph-996）
- 联合索引支持复杂的（只要逻辑上可以查都支持）多种索引组合查询（HugeGraph-903）
- Schema中增加存储用户数据的域（map）（HugeGraph-902）
- 统一ID的解析及系列化（包括API及Backend）（HugeGraph-965）
- RocksDB没有keyspace概念，需要完善对多图实例的支持（HugeGraph-973）
- 支持Cassandra设置连接用户名密码（HugeGraph-999）
- Schema缓存支持缓存所有元数据（get-all-schema）（HugeGraph-1037）
- 目前依然保持schema对外暴露name，暂不直接使用schema id（HugeGraph-1032）
- 用户传入ID的策略的修改为支持String和Number（HugeGraph-956）
 
#### BUG修复
- 删除旧的前缀indexLabel时数据库中的schemaLabel对象还有残留（HugeGraph-969）
- HugeConfig解析时共用了公共的Option，导致不同graph的配置项有覆盖（HugeGraph-984）
- 数据库数据不兼容时，提示更加友好的异常信息（HugeGraph-998）
- 支持Cassandra设置连接用户名密码（HugeGraph-999）
- RocksDB deleteRange end溢出后触发RocksDB assert错误（HugeGraph-971）
- 允许根据null值id进行查询顶点/边，返回结果为空集合（HugeGraph-1045）
- 内存中存在部分更新数据未提交时，搜索结果不对（HugeGraph-1046）
- g.V().hasLabel(XX)传入不存在的label时报错： Internal Server Error and Undefined property key: '~label'（HugeGraph-1048）
- gremlin获取的的schema只剩下名称字符串（HugeGraph-1049）
- 大量数据情况下无法进行count操作（HugeGraph-1051）
- RocksDB持续插入6~8千万条边时卡住（HugeGraph-1053）
- 整理属性类型的支持，并在BinarySerializer中使用二进制格式系列化属性值（HugeGraph-1062）
 
### 测试
- 增加tinkerpop的performance测试（HugeGraph-987）
 
### 内部修改
- HugeFactory打开同一个图（name相同者）时，共用HugeGraph对象即可（HugeGraph-983）
- 规范索引类型命名secondary、range、search（HugeGraph-991）
- 数据库数据不兼容时，提示更加友好的异常信息（HugeGraph-998）
- IO部分的 gryo 和 graphson 的module分开（HugeGraph-1041）
- 增加query性能测试到PerfExample中（HugeGraph-1044）
- 关闭gremlin-server的metric日志（HugeGraph-1050）
