Skip to content

Releases: helyho/Voovan

v4.3.8

23 Sep 04:37
Compare
Choose a tag to compare

add: EventRunner 增加任务窃取
add: 新增 TObject.asNotNullMap
imp: TFile.loadFile 到文件结尾时返回 null
imp: IoSession.syncRead 优化
imp: HttpClient 优化
imp: 可以从 System.getProperty 读取 env
imp: HotSwaper 日志更新
imp: 优化 SynchronousHandler
imp: 优化 WebServer 的异常渲染
imp: 小优化
imp: 优化 Filter 的异常输出
imp: 优化 Request 的 release
imp: 新增 finalize 析构
imp: RocksMap 修复前缀查询检查的 bug
imp: 移除 TSerialize.getHashByClass 的 synchronized
imp: Request / Response / HttpRequest / HttpResponse 优化
imp: RocksMap.put 优化 imp: 抽离序列化方法
imp: SocketContext 优化
imp: SocketContext 优化
imp: updateLastTime 移除重复更新点
imp: updateLastTime 新增更新点
imp: SocketSelector.tcpWriteToChannel 异常优化
imp: 优化 RocksMap.rollback()
imp: 更新 README.md
imp: SocketSelector 以及 MessageLoader 对 isConnect 判断的优化
fix: 修复 Request 用做转发时的 boundary 不一致的问题
fix: 回滚 finalize 析构
fix: Dao.update 内存对象回滚 bug 修复
fix: SocketSelector 极端情况下的空指针问题 imp: HttpClient 优化
fix: 修复上传文件大小控制的 bug
fix: AnnoationRouter 处理复杂对象在 Attribute 和 session 中的 bug
fix: 修复 TProperties 的 bug
fix: 修复 SocketSelector.select 返回值的 bug

v4.3.7

29 Aug 17:35
Compare
Choose a tag to compare

add: 新增 TDateTime.timestamp
add: 路由参数相关注解增加defaultVal 默认值
add: Logger 增加 LoggerStatic.JSON_FORMAT 控制对象日志输出是否格式化, 默认 true
add: 新增 EventMap
add: TObject.compare 比较两个对象的差异, 并返回变更的数据
imp: JSONDecode 保证解析后的数据顺序
imp: 优化 TReflect.getMapfromObject 保证顺序
imp: TFile.loadFile 文件为 空时返回 byte[0]
imp: @Body 注解参数为 "" 时传递无数据 map
imp: 路由参数相关注解可选参数下性能优化
imp: 优化 Dao 的失败回滚逻辑
imp: 多项综合优化
imp: 日志输出优化
fix: 修复日志 Formater 的栈输出信息
fix: JdbcOperate 事务模式下无异常也会关闭 connection 的 bug
fix: @websocket 注解没有支持多包扫描问题的 bug
fix: RocksMap Wal 解析列族 id 的 bug
fix: TSQL bug 修复
fix: JSONEncode bug 修复

v4.3.2

01 Jul 13:08
Compare
Choose a tag to compare

add: GenericInfo 以及 TReflect.getGenericInfo 方法获取范型信息
add: 新增序列化转换器
imp: Http 逻辑简化
imp: 兼容 jdk 14
imp: 优化 ThreadPool 日志输出
imp: 线程工厂类重命名
imp: Chain 优化
imp: CheckTimeout 优化
imp: TByteBuffer 优化
imp: Chain 优化
imp: HttpParser 优化
imp: FastThreadLocal 优化
imp: imp: ByteBufferChannel 新增 字节写入方法
imp: ByteBuffer 相关优化
imp: TReflect.getMapfromObject 修复 bug
imp: Weave 优化
imp: Hotswaper 优化, 对于 Reload 异常更准确的提示到哪个类
fix: 修复 ObjectPool 的 bug
fix: 修复 filterChain 的 bug
fix: ByteBufferChannel.read0 的 bug
fix: 修复 HashWheel 的 bug

v4.2.5.1

11 Jun 12:36
Compare
Choose a tag to compare

add: 新增 HttpRequest.clear
add: 新增 HttpClient.setJsonData
imp: CollectionSearch 优化
imp: HttpClient 优化
imp: HttpClient 优化
imp: HttpClient 优化
imp: AnnotationRouter 优化
imp: AnnotationRouter 和 TSQL 优化
imp: AnnotationRouter 如果 response 在路由执行时有输入值,将会忽略方法的放回数据
imp: Dao 优化
imp: Dao update 失败时自动回滚对象属性 imp: Dao / Recoder 注释更新
imp: 注解路由优化
fix: 修复 TByteBuffer.release 导致的内存泄露问题

v4.2.5

29 May 11:06
Compare
Choose a tag to compare

add: TReflect.genMethodInvoker 新增静态方法调用支持
add: Body 新增 writeObject 方法
add: 反射新增 Serialize 注解用来指定序列化时的名称
add: 新增 JSON.replaceNode 用于替换属性
add: 新增 Header.copyFrom 及优化
add: 新增 TByteBuffer 内存分配监控, 通过 -DByteBufferAnalysis=[0: 统计信息但不定时输出, >0: 统计信息并以秒为单位定时输出, <0: 不统计信息]
add: 增加日志
add: 新增 Attribute 注解
add: 新增 JSON.removeNode
add: 新增注解路由过滤器, 可用来扩展自己的注解形式
add: 新增 WebServer.getHttpDispatcher / getWebSocketDispatcher / getServerSocket / getWebServerLifeCycle 四个方法

imp: 优化 HttpRequest.copyFrom
imp: 优化 HttpParser
imp: SocketSelector 优化
imp: HttpClientFilter / HttpParser 优化
imp: HttpResponse 优化
imp: HttpRequest / HttpResponse 新增 copyFrom 方法
imp: 注解路由模块支持扫描多个包来添加路由
imp: WebServer 管理路由更新
imp: AnnotationRouter 采用静态方法调用
imp: AnnotationRouter 在参数注解为 @Body 时自动推断方法
imp: 日志优化
imp: TString 可定制 char 用户转换radix***Convert 方法砖混
imp: 开放 JSON.fixJSON 方法
imp: Body 优化
imp: Request 优化
imp: Header / Request / Response / HttpParser 优化
imp: Header / Request / Response 优化
imp: Header 内置 Map 采用 TreeMap
imp: Cookie 的解析修改为使用时解析
imp: Response.copyFrom 优化
imp: Header 内置 Map 采用 TreeMap
imp: Cookie 的解析修改为使用时解析
imp: TReflect.genFieldReader 对 boolean 属性的优化
imp: Logger 日志接受到对象可以直接进行 json 转换
imp: Logger 日志接受到对象可以直接进行 json 转换
imp: Dao 新增 updateField 用来直接更新字段
imp: JdbcOperate.batch
在参数集合长度为0时直接返回
imp: Dao 新增 updateField 用来直接更新字段
imp: HashWheel 优化
imp: 如果路由方法参数注解为 BodyParam 且没有指定 Http 请求方法,默认转换为 POST 方法
imp: AnnotationRouter / AnnotationRouterFilter 优化
imp: AnnotationRouter / AnnotationRouterFilter 优化
imp: WebServer 上传的临时文件退出时清理
imp: File.mkdirs 调用出统一成 TFile.mkdir 优化
imp: Pipeline 从递归模式改为循环模式
imp: BytebufferChannel 默认 capacity 采用 TByteBuffer.DEFAULT_BYTE_BUFFER_SIZE
imp: SocketSelector 优化
imp: TcpSocket 优化
imp: HttpClient 优化

fix: CacheMap bug 修复
fix: TByteBuffer.getByteBufferAnalysis 优化
fix: 修复 HttpClient.commonSend 发送的 bug
fix: HttpClient 内存泄露问题
fix: 修复 TByteBuffer.getByteBufferAnalysis 的 bug
fix: 修复 Dao 的 bug
fix: Dao 异常没有 rollback 的 bug
fix: 修复 EventProcess bug
fix: 修复 build_env.sh 的 bug
fix: HttpClientPool.getHttpClient 的 bug
fix: ObjectPool 的 bug
fix: SocketSelector.checkReadTimeout 改名为 checkTimeout
fix: SocketSelector.checkReadTimeout 的 bug
fix: 修复无方法无属性在静态方法调用导致的 bug

v4.2.4

28 Apr 11:10
Compare
Choose a tag to compare

add: 新增 SocketContext.ASYNC_RECIVE 用以控制 Recive 是否放入 EventRunner 中执行
add: 新增 TByte.byteArrayCompare 方法 imp: 优化 HttpItem 增加 hash 冲突简单解决方式
add: 新增 SocketContext.getConnectType 用来判断链接是 tcp 还是 udp 连接
add: 新增 EmptyStackException / EmptyStackRuntimeException
add: HttpParser 优化
add: 新增 TEnv.getSystemProperty 方法
add: 新增 WebServerConfig.enableWebSocket 参数
add: 新增 -DCheckReadTimeout 参数
add: HttpParser 优化
add: Body 优化
add: HttpParser 优化
add: HttpParser 优化
add: TByteBuffer.append
add: IntKeyMap / LongKeyMap 新增 containsKey 方法
add: 新增 ByteBufferChannel.get(ByteBuffer) 方法 add: 优化 WebServer 相关启用 LongKeyMap
add: WebContext.buildWebServerConfig 构造一个新的 WebServer 配置对象,忽略默认配置
add: THash.murmurHash3Int/murmurHash3Long
add: 新增 TPerformance.getJVMObjectInfo 的一种实现
add: 新增 SocketContext.ASYNC_SEND 参数控制是否启用异步发送, 以确保仅有同步发送是获得更好的性能, 默认:true

imp: HttpItem 优化
imp: HttpParser 对 Cookie 的优化处理
imp: MimeFileRouter 优化
imp: TFile 优化
imp: EventTrigger 方法名优化
imp: 静态参数 final 化
imp: RingBuffer 消除求余,提高性能 imp: IntKeyMap 小优化
imp: 优化 DynamicFunction 和 CodeTemplate.vct
imp: SocketSelector 优化
imp: TObject 日志优化
imp: TString 和 日志系统优化
imp: ThreadObjectPool.java 优化
imp: HttpParser 优化
imp: ThreadObjectPool.release 的 destory 参数修改为 Consumer add: ThreadObjectPool 新增初始化池的构造方法
imp: HttpParser 优化
imp: WebServerFilter 优化
imp: 异常归集
imp: 方法重命名 TByteBuffer.moveDate -> TByteBuffer.move
imp: HttpParser 针对常用的 http 方法的优化
imp: HttpDispatcher.findRouter 使用 jdk 的 hash 算法
imp: 优化启动类和配置参数 add: 新增使用 jlink 打包运行环境的脚本 build_env.sh
imp: 优化启动项
imp: Response 优化为直接发送减少一次拷贝 fix: HttpClient.initWebSocket 修复 bug
imp: TByteBuffer.move 优化
imp: HttpClient 新增静态构造方法 newInstance
imp: RocksMap / RocksMap.RocksMapIterator 优化
imp: mime.json 新增 md->text/markdown
imp: HttpDispatcher 小优化
imp: SocketContext 默认线程数优化
imp: JSON 解析器启用 cache
imp: TUnsafe 小优化
imp: HttpItem 使用 IntKeyMap
imp: header 优化
imp: 优化 THash 的内部方法
imp: TByteBuffer.move 无数据返回 true
imp: WebServerFilter 优化
imp: 重命名 ObjectThreadPool -> ThreadObjectPool
imp: WebServer 些许优化
imp: 优化 SocketSelector 减少一次对外内存拷贝
imp: HttpParser 的 Cookie 解析优化
imp: 优化 LongKeyMap 的实现

fix: 修复 Header 读取不到固定属性的问题
fix: 修复 EventTask 重复增加的问题 imp: SocketSelector 方法名优化
fix: 修复 TProperties.getProperties 多层 jar 打包的问题
fix: 修复 TProperties.getProperties 多层 jar 打包的问题
fix: 修复 HttpDispatcher.tryIndex 不经过过滤器的 bug
fix: 修复 Body.clear 文件类型 clear 在响应为 304 时的 bug
fix: TReflect.genFieldReader 的 bug
fix: Udp 通信的 bug
fix: Response bug 修复
fix: HttpParser 解析 response 的 bug
fix: Header.contain 的 bug
fix: 修复 WebServer 在指定 WebServerConfig 时还会加载本地 web.json 配置文件的 bug
fix: 修复 Cookie.toString 的 bug
fix: HttpParser 空指针问题

v4.2.0

28 Mar 16:46
Compare
Choose a tag to compare

add: ObjectPool 增加验证器,在获取时验证对象可用性
add: 新增 RingDirectBuffer 环形堆外内存缓冲类
add: 新增无锁 LeakBucket (漏桶) 和 TokenBucket (令牌桶)的实现
add: 新增 UrlLimitIpFilter 根据Url限定ip访问的过滤器
add: 新增 Recorder / Dao 模式通过 jdbc 访问数据库
add: 新增限流队列 FixedQueue
add: TPerformance 新增 getNetworkInterfaces / getMacByAddress / convertByteMac
add: 新增 TObject.removeMapNullValue 方法
add: 新增 IntKeyMap
add: 新增 RocksMap 类实现对 Rocksdb 的 java.util.Map 的封装
add: 新增 TString.formatBytes / formatNumber
add: 新增 TPerformance.getProcessCpuUsage

imp: Socket通信优化为 nio 通信形式
imp: HttpClient 新增异步响应模式
imp: WebServer 新增异步响应模式
imp: WebServer路由注解模块实现更多的注解形式
imp: 反射优化, 采用 native 的方式提高性能
imp: 抽象出序列化接口, 可以选多种序列化形式以便应用在整个框架需要序列化的功能模块中
imp: THash 新增多种 hash 算法 (FNV1/murmur等)
imp: HttpParser 优化, 采用数组方式解析
imp: HttpParser 优化, Header 采用独立缓存方式
imp: WebServer / HttpModule 持有单个生命周期管理类实例
imp: JSON中科学技术标识的数值转换成 BigDecimal
imp: HashWheelTimer 增加新的构造方法
imp: HashWheelTimer.addTask 增加 Runnable 作为参数, 方便支持 lambda 表达式
imp: TEnv.addShutDownHook 参数修改为 Runnable 作为参数, 方便支持 lambda 表达式
imp: TByteBuffer 优化减少堆内内存的消耗
imp: 补充 TUnsafe 缺少的方法

fix: 修复 websocket 首次心跳发送未 flush 的问题
fix: 修复 FastThreadLocal 数组越界的问题
fix: 修复 JSON.toJSON key 没有被双引号包裹的问题
fix: Weave 字节码注入扫描 windows 的兼容性问题
fix: 修复在低核心数的机器上 IO_THREAD_SIZE 不足的问题
fix: 修复在弱网环境下 Http 头一次读取不完导致的问题