| ## HugeGraph 0.4.4 Release Notes |
| |
| ### 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) |