3.0.3.0-RELEASE

  • 修复传递异常信息时会引发空异常的问题。

    3.0.2.0-RELEASE

  • JooqPaginate 不再在初始化时计算总数。

  • cloudopt-next-kafka 支持 suspend。
  • cloudopt-next-auth 支持 suspend。
  • 升级 bcprov-jdk15on 到 1.69。
  • 优化类扫描工具,避免将一些扩展类强制加载。
  • 错误拦截支持抛出异常,现在可以针对不同的异常处理了。
  • 修复路由方法上有多个方法级拦截器的时候,只有一个生效的问题。

    3.0.1.0-RELEASE

  • 更新 Vert.x 版本到 4.1.0。

  • 兼容 Netty 4.1.65.Final。
  • WebSocket 增加 获取 ip 和获取 cookie 的方法。
  • 支持读取外部配置文件 。

    3.0.0.1-RELEASE

  • netty 依赖升级到 4.1.65.Final。

  • hibernate-validator 升级到 6.2.0.Final。

    3.0.0.0-RELEASE

  • 健康检查插件移动为独立的包。

  • 重构了 EventBus。
  • 增加了全新的 Before 和 After 的 RouteHandler 机制,任意注解只要在里面声明 @Before 或者 @After 并且声明了对应的实现处理类,那么路由会自动根据是 Before 还是 After 实现类似 AOP 的拦截机制。
  • @AfterEvent 使用了新的 After RouteHandler 机制实现。
  • 去掉了之前路由的 HttpMethod 的注解(如 @GET、 @POST)等中的 valid 属性。
  • 增加全新的 @Validator 注解,同样也是使用新的 After RouteHandler 机制实现。
  • 调整了大量文件的所在目录结构和命名。
  • 现在所有拦截如 Handler、Intercept、Before RouteHandler 在发生错误时会自动转向 500,可以使用错误拦截器拦截了。
  • 因为方法级别验证器的实现调整,原健康检查自动注册密码验证器的方式也重写了。
  • EventBus 支持通过名字使用不同的实现类。
  • EventBus 增加 RedisMQ 的实现类。
  • 修复在 endHandler 中任然会去尝试关闭 response 的 bug。
  • web 包下的注解都移动到了统一的文件夹中。
  • 支持通过 NextServer.registerResourceTable() 手动注册路由。
  • 优化自动路由注册逻辑,复用了 NextServer.registerResourceTable()。
  • 优化 health 插件的注册路由逻辑,复用了 NextServer.registerResourceTable()。
  • Resource 增加 responseBody 变量,用于存储 response 时的 body。
  • cache 插件增加 @Cacheable 注解。

    3.0.0.0-BETA8

  • kotlin-stdlib 依赖升级到 1.4.32。更好的兼容 Maven 中央仓。

    3.0.0.0-BETA7

  • 修复读取资源文件时可能引发的路径问题。

  • 更新了控制台输出的 logo。
  • 使用了新的 Kotlin 编译器。
  • 升级 Vert.x 相关依赖到 4.0.3。
  • 优化文件读取,现在默认一定不为空。
  • 重构了所有 renders,现在 render 层也全部变成异步了。
  • 增加 GRPC 相关插件。
  • 发布到了 Maven 中央仓,去掉了所有的 Jcenter 引用。

    3.0.0.0-BETA6

  • cloudopt-next-json 支持 JSR-310。

  • 增加 cloudopt-next-clickhouse 插件。
  • 移动 PermissionTree 到 companion object。
  • 修复 Http Client 设置超时无效的问题。
  • 支持基于 graalvm 的 多语言混合编程。

    3.0.0.0-BETA5

  • 重构了 cloudopt-next-json,因为 vert.x 非常依赖 jackson,所以为了避免两套 json 体系,next 从 beta 5 开始也全面依赖了 jackson。

  • 重构了 cloudopt-next-cache 的序列化和反序列化,之前使用 fastjson,去除后改为使用 kryo。
  • 调整读取配置文件 read() 方法位置,移至 Resourcer 类。
  • 增加了跟 json、map 有关的 kotlin 扩展函数。

    3.0.0.0-BETA4

  • 调整了一些依赖等级

  • 修正 client 的包名问题。

    3.0.0.0-BETA3

  • Render 相关的语法都使用了 DSL 语法。

    3.0.0.0-BETA2

  • Jooq 插件不再默认输出标志。

  • 增加 SHA256 加密。
  • 参数注入支持空值。
  • 异步操作增加 then 语法糖。
  • 参数校验工具现在支持 suspend 方法了。

    3.0.0.0-BETA1

  • 依赖升级。

  • 在新版中,对大部分的反射、扫描注解进行了重构。原本是使用 Java 原生的反射操作,现在全部改为了 Kotlin 原生的反射操作。改为 Kotlin 原生语法后对 Kotlin 的基础类型的支持更加友好、也避免了 Kotlin 类转回 Java 类的开销。
  • WebSocket 相关的使用更简单。
  • 现在 JVM 退出时会自动销毁部署的 Verticle 并停止所有插件。
  • 支持协程。
  • 全新的 Redis 插件。
  • 全新的 RocketMQ 插件
  • 全新的 Cache 插件。

    2.0.8.1-BETA

  • 修复没有配置文件的情况下无法启动的问题。

  • 优化 kafka 插件之前会强制往 0 号分区发送消息的问题。
  • 优化日志工具的格式化的方式,修复之前带有 % 符号的文本会引发崩溃的问题。
  • 优化日志工具的格式化性能,在不带有参数的情况下直接返回文本,不进行格式化。

    2.0.8.0-BETA

  • EventBus 支持 map 类型和 fastjson 的常用对象。

  • 修复在读取配置文件 json 对象时,如果取空值会引发报错的问题。
  • 获取配置时会去读取配置文件的 json 对象,现在在获取类似 “net.cloudopt.next” 这种多级别的值的之前会将配置文件的 json 对象新生成一份再读取。
  • 重命名 NextServer 的 controllers 对象为 resourceTables。
  • 优化 Handler 的生命周期,现在执行 afterCompletion 会一定在请求结束后执行,之前在请求时间较长时可能会出现事件丢失的问题。
  • 优化了 Handler 的生命周期后,现在错误拦截器也已经支持全局的 Handler。
  • 重构了 Handler 类,将其从抽象类改为接口,同时支持 afterRender(),支持在渲染后运行、支持通过返回的布尔值控制是否进行下一步还是直接返回数据。
  • 自带的 Handler 都已经对新的 Handler 接口进行了适配。
  • 现在如果 Handler 类中没有声明结束请求的话,Next 在执行相关方法时会自动关闭请求。
  • 升级 fastjson 的相关依赖。
  • 关闭 fastjson 的安全模式,使用白名单模式(目前已内置 Next 相关包名)。
  • 增加 cloudopt-next-cache 插件。

    2.0.7.0-BETA

  • 现在路由发生错误时会自动报 500 错误,不再直接管理 http 请求,可以由错误拦截器拦截。

  • 修复默认主页没有声明 html 的头的问题。
  • Quatz 插件现在支持设置时区。
  • 原 SocketJS 相关类都更名为 SockJS。
  • 优化插件的加载顺序,不再依赖 verticle,而是完全独立出来的。解决了性能低的时候启动服务器会引发 vertx 过慢警告以及现在支持 worker 模式,甚至可以支持同台服务器上部署 N 个 verticle,共用统一的 plugin。
  • 增加了部分代码注释。
  • 现在支持 WebSocket 协议了,与 SockJS 一样使用起来只需要增加一个注解就可以使用。Next 会自动将声明的路径的 HTTP 请求升级为 WebSocket 请求。
  • 增加内置的定时器,支持一次性定时和周期性定时。
  • 主要的几个类重新命名。