Skip to content

Releases: opensolon/solon

Solon v3.0.1

08 Oct 00:19
Compare
Choose a tag to compare

兼容说明(需,详看)

具体更新

  • 新增 solon-web-webservices 插件
  • 新增 solon-net-stomp 插件
  • 新增 nami-channel-http(基于 httputils 实现) 替代 nami-channel-http-okhttp
    • nami-channel-http 默认使用 URLConnection 适配(更小)
    • nami-channel-http-okhttp 使用 okhttp 适配
  • 修复 solon-boot-vertx 没有启用 websocket 时,无法接收请求的问题
  • 修复 solon @Param 注解部分失效的问题
  • 修复 solon 本地网关可能会死循环的问题
  • 调整 solon-serialization Fastjson2 适配,时间默认为 dateTicks 模式(保持与其它序列化的统一)
  • 调整 solon-net-httputils 默认使用 URLConnection 适配(引入 okhttp 后,自动切换)
  • 调整 solon Constants.ATTR_CONTROLLER,ATTR_MAIN_HANDLER,ATTR_MAIN_STATUS 内部常量值,避免与用户 attr 冲突
  • 调整 solon ActionReturnHandler 匹配增加 ctx 入参,提供更多扩展可能
  • 添加 solon 基于上下文的返回类型处理控制(Constants.ATTR_RETURN_HANDLER)
  • 优化 solon-serialization dateAsTicks(并为默认),支持 longAsString 时的字符串转换
  • snack3 升为 3.2.113

Solon v3.0.0

01 Oct 11:14
Compare
Choose a tag to compare

兼容说明(需,详看)

具体更新

  • 新增 solon-data-sqlutils 插件
  • 移除 solon BeforeAfter 体系,(统一为 Filter 体系) // ok(化敏为简)
  • 移除 solon @ProxyComponent (统一为 @Component) //ok(化敏为简)
  • 移除 solon Bean:registered:delivered 替代
  • 移除 solon Component:registered:delivered 替代
  • 移除 无关配置的弃用代码(具体参考对应表)
  • 移除 部分事件扩展(具体参考对应表)
  • 调整 solon-net WebSocket:paramMap 改为 MultiMap 类型
  • 调整 solon-net WebSocket:send 改为 Future
  • 调整 solon Context::forward 改为“不经过”过滤器
  • 调整 solon Solon.app().handler() 替代原来的 handlerGet() 和 HandletSet(x);并简化 StaticResourceHandler 接入处理
  • 调整 solon warp.* 部分方法设计(内部类)
  • 修复 代理类中无法获取到泛型参数的BUG
  • 修复 打散包时外部相对文件定位失识问题(优化 Utils::appFolder
  • 优化 solon Gateway 在过滤之前构建 ctx.action()
  • 优化 solon-web 统一 Context::cookeMap 解析
  • 添加 solon AppContext:getBeanFuture,getBeansFutureOfType,getBeansMapFutureOfType
  • 添加 solon-cloud Event:broadcast 属性
  • 添加 solon Context:cookieSet(Cookie) 方法,支持 httponly, secure 配置
  • 添加 solon GenericUtil:reviewType 方法,实现 ParamWrap 和 FieldWrap 的泛型审查
  • 添加 solon 泛型集合注入支持
  • 添加 solon 静态字段注入支持
  • 添加 solon-test @SolonTest:scanning 控制是否自动扫描(关闭时,需要通过 @Import
  • 添加 liquor-eval 框架收集
  • smart-http 升为 1.6.0
  • smartsocket 升为 1.5.52
  • noear-jlhttp 升为 1.0.1
  • wood 升为 1.3.7
  • folkmq 升为 1.7.8
  • socket.d 升为 1.5.12
  • nacos1 升为 1.4.8
  • easy-trans 升为 1.3.1
  • sa-token 升为 1.39.0

Solon v2.9.4

24 Sep 00:20
Compare
Choose a tag to compare
  • 添加 solon Duration 类型配置注入
  • 添加 solon AppContext::beanExclude 方法
  • 添加 solon AppContext::beanDeliver 方法
  • 添加 solon Bean:delivered 替代 registered
  • 添加 solon Component:delivered 替代 registered
  • 添加 solon-boot-vertx websocket 支持
  • 添加 solon-web-cross CrossInterceptor::pathPatterns() 方法
  • 添加 solon Router:getAll(), getBy(path) 方法
  • 优化 kafka-solon-cloud-plugin 添加自动延时重试模拟实现
  • 优化 grpc-solon-cloud-plugin GrpcClient 注解处理添加必须
  • 优化 thrift-solon-cloud-plugin ThriftClient 注解处理添加必须
  • 修复 jdk21 + win10 + solon-logging-simple 打包后无法输出日志的问题
  • 调整 solon Gateway:find 改为 public
  • 调整 solon-logging OutputStreamAppender 彩色打印
  • 取消 Ds 注解(未启用)
  • 取消 HandlerProxy ,不太合理(尤其是对本地网关)
  • 取消 Solon:versionCode
  • snack3 升为 3.2.111
  • wood 升为 1.3.6
  • beetlsql 升为 3.30.13-RELEASE
  • asm 升为 9.7

Solon v2.9.3

10 Sep 03:06
Compare
Choose a tag to compare
  • 新增 solon-web-vertx 插件
  • 新增 solon 分类注入支持体系
  • 新增 solon 分类构建支持体系
  • 调整 solon Before,After Handler 体系标为弃用
  • 调整 solon Props:getBean 标为弃用
  • 调整 solon NvMap:getBean 标为弃用
  • 添加 solon Action 过滤器体系(替代 Before,After 体系)
  • 添加 Context::sessionReset 方法
  • 添加 solon Props:toBean 方法(替代 Props:getBean)
  • 添加 solon-scheduling CommandExecutorProxy 原型代理支持
  • 添加 solon-data DsUtils.observeDs 方法
  • 添加 solon-cloud CloudEventHandlerPlus 原型代理支持
  • 添加 solon-cloud CloudConfigHandler 原型代理支持
  • 添加 solon-cloud CloudEventHandler 原型代理支持
  • 添加 solon-cloud-gateway X_Forwarded_Host 和 https 转发支持
  • 添加 solon-cloud-gateway RewritePathFilterFactory
  • 添加 solon-cloud-gateway QueryPredicateFactory
  • 调整 solon Constants 内部类改为接口类型
  • 凋整 solon-cloud-gateway 路由处理体系,支持路由多协议头扩展
  • 调整 solon-scheduling scheduled 内部实现类(强调原型代理概念
  • 调整 solon ContextPathFilter index 改为 -990
  • 调整 solon-i18n I18nFilter index 改为 -980
  • 提醒 solon AppContext::beanAroundAdd 添加弃用打印日志
  • 提醒 solon 添加不支持单例的打印日志
  • 修复 solon BeanWrap::rawClz 处理 anonymousClass 失误的问题
  • wood 升为 1.3.4
  • redisson 升为 3.35.0
  • bean-searcher 升为 4.3.2

Solon v2.9.2

02 Sep 12:35
Compare
Choose a tag to compare
  • 新增 solon-config-plus
  • 添加 NOTICE
  • 添加 solon @bean::priority 属性(用于 onMissing 条件时的运行优先级)
  • 添加 solon-cloud 的分布式注解开关
  • 添加 solon Context::cookieValues(name) 方法
  • 添加 solon MultiMap 类,用于 Context 能力优化
  • 添加 solon-web-rx 对 ndjson 支持
  • 优化 solon-cloud-gateway body 修改支持
  • 修复 solon beanRegister 处理的兼容性(2.9.0 出现了一点不兼容)
  • 调整 快捷方式只保留:solon-lib 和 solon-web(原 solon-web 去掉 view,方便自选)
  • 移除 旧包 solon.test(改用 solon-test)
  • 移除 旧包 solon.web.flux(改用 solon-web-rx)
  • 移除 旧包 detector-solon-plugin(改用 solon-health-detector)
  • 移除 旧包 log4j2-solon-plugin(改用 solon-logging-log4j2)
  • 移除 旧包 logback-solon-plugin(改用 solon-logging-logback)
  • 移除 旧包 solon.extend.schedule
  • wood 升为 1.3.1
  • redisson 升为 3.34.1
操作
ctx.paramsMap() 弃用 ctx.paramMap()
ctx.paramsAdd(name,value) 弃用 由 ctx.paramMap().add() 替代
ctx.paramSet(name,value) 弃用 由 ctx.paramMap().add() 或 .put() 替代
ctx.headersMap() 弃用 ctx.headerMap()
ctx.filesMap() 弃用 ctx.fileMap()
ctx.files(name) 弃用 由 ctx.fileValues(name) 替代
ctx.paramMap():NvMap 调整 ctx.paramMap():MultiMap
ctx.headerMap():NvMap 调整 ctx.headerMap():MultiMap
ctx.cookieMap():NvMap 调整 ctx.cookieMap():MultiMap
ctx.fileMap():NvMap 调整 ctx.fileMap():MultiMap
ctx.paramNames() 新增
ctx.headerNames() 新增
ctx.cookieNames() 新增
ctx.cookieValues(name) 新增
ctx.fileNames() 新增
ctx.fileValues(name) 新增

Solon v2.9.1

24 Aug 12:46
Compare
Choose a tag to compare
  • 新增 solon.boot.vertx 插件,支持 cloud gateway 开发与 web 开发
  • 优化 solon.cloud.gateway 改由 solon.boot.vertx 驱动(可与 web 开发复用)
  • 优化 solon.cloud.gateway 改为流式分块代理转发(chunk)
  • 优化 solon.security.validation 执行拉截时的异常消息(保持与旧版兼容)
  • 优化 solon LifecycleBean 和 Lifecycle 设计

Solon v2.9.0

22 Aug 09:29
Compare
Choose a tag to compare
  • 新增 solon.cloud.gateway 插件
  • 新增 solon.rx 插件
  • 添加 solon.data 配置节 solon.dataSources(用于自动构建数据源),支持 ENC 加密符
  • 添加 solon.docs 配置节 solon.docs(用于自动构建文档摘要)
  • 添加 solon.view.prefix 配置项支持 "file:" 前缀(支持体外目录)
  • 添加 solon.scheduling.simple SimpleScheduler::isStarted 方法
  • 添加 solon @Condition(onBean, onBeanName) 条件属性
  • 添加 solon.validation ValidUtils 工具类
  • 添加 solon LifecycleBean:postStart 方法
  • 添加 solon MethodInterceptor 接口,替代 Interceptor(旧接口保留)
  • 添加 solon.net.httputils 扩展机制,并与 solon.cloud 自动整合
  • 添加 solon.net.httputils HttpResponse::headerNames 方法
  • 添加 solon.cloud CloudDiscoveryService:findServices 方法
  • 添加 solon solon.plugin.exclude 应用属性配置
  • 添加 solon solon.app.enabled 应用属性配置(Solon.cfg().appEnabled() 可获取)
  • 添加 solon ${.url} 应用属性配置本级引用
  • 添加 solon --cfg 启动参数支持(便于内嵌场景开发)
  • 添加 托管类构造参数注入支持(对 kotlin 更友好)
  • 调整 solon.cloud.httputils 标为弃用,由 solon.net.httputils 替代
  • 调整 smarthttp,jetty,undertow 的非标准方法的 FormUrlencoded 预处理时机
  • 调整 solon.auth maven 包更名为 solon.security.auth (原 maven 包保留)
  • 调整 solon.validation maven 包更名为 solon.security.validation (原 maven 包保留)
  • 调整 solon.vault maven 包更名为 solon.security.vault (原 maven 包保留)
  • 优化 AppContext::beanMake 保持与 beanSacn 相同的类处理
  • 优化 solon.serialization.jackson 兼容 @jsonformat 注解时间格式和时间格式配置并存
  • 优化 solon Context::body 的兼容性,避免不可读情况
  • 优化 solon 调试模式与 gradle 的兼容性
  • 优化 solon.boot FormUrlencodedUtils 预处理把 post 排外
  • 优化 solon.web.rx 允许多次渲染输出
  • 优化 kafka-solon-cloud-plugin 添加 username, password 简化配置支持(简化有账号的连接体验)
  • 优化 solon.boot 413 状态处理
  • 优化 solon.boot.smarthttp 适配的 maxRequestSize 设置(取 fileSize 和 bodySize 的大值)
  • 优化 solon AppContext 注册和查找时以 rawClz 为主(避免以接口注册时,实例类型查不到)
  • 优化 solon.mvc kotlin data class 带默认值的注入支持(表单模式下)
  • 优化 solon PathAnalyzer 添加 addStarts 参数选择,支持域名匹配
  • 修复 solon.view.thymeleaf 模板不存在时没有输出 500 的问题
  • 修复 solon.serialization.jackson 泛型注入失效的问题
  • 修复 solon.boot.smarthttp 适配在 chunked 下不能读取 body string 的问题
  • 修复 solon-openapi2-knife4j 没有配置时不能启动的问题(默认改为不启用)
  • wood 升为 1.3.0
  • snack3 升为 3.2.109
  • socket.d 升为 2.5.11
  • zookeeper 升为 3.9.2
  • dromara-plugins 升为 0.1.2
  • kafka_2.13 升为 3.8.0
  • beetlsql 升为 3.30.10-RELEASE
  • beetl 升为 3.17.0.RELEASE
  • mybatis 升为 3.5.16
  • mybatis-flex 升为 1.9.6
  • sqltoy 升为 5.6.20
  • dbvisitor 升为 5.4.3
  • bean-searcher 升为 4.3.0
  • liteflow 升为 2.12.2
  • aws.s3 升为 1.12.769
  • powerjob 升为 5.1.0
  • netty 升为 4.1.112.Final
  • reactor-core 升为 3.6.9
  • reactor-netty-http 升为 1.1.22
  • vertx 升为 4.5.9
  • undertow 升为 2.2.34.Final
  • jetty 升为 9.4.55.v20240627
  • smarthttp 升为 1.5.9

Solon v2.8.6

29 Jul 02:11
Compare
Choose a tag to compare
  • 添加 solon Context::outputStreamAsGzip 方法(方便手动 gzip 输出)
  • 添加 solon @Bean(initMethod, destroyMethod) 配置属性
  • 添加 solon ActionLoaderDefault:postActionPath 方法(方便重写)
  • 添加 solon.boot server.request.useRawpath 配置
  • 添加 solon.boot http-server 同端口的 ws 信号注册
  • 优化 solon.boot 当有 server.?.name 配置时才注册 ws,sd 信号
  • 优化 solon MvcFactory:resolveParam 更名为 resolveActionParam(旧名,标为弃用)
  • 优化 solon DownloadedFile 取消空构造函数,避免内容为 null 的情况
  • 优化 solon UploadedFile::getContentSize 避免可能为 null 的情况
  • 优化 solon.proxy AOT 代理增加 接口 default 方法代理支持
  • 优化 solon.proxy ASM 代理增加 接口 default 方法代理支持
  • 优化 solon.net SubProtocolCapable:getSubProtocols 设计,增加请求子协义校验的支持
  • 优化 solon 停止结束语打印
  • 修复 solon.sessionstate.local LocalSessionState::sessionKeys 数据获取错误
  • 修复 solon.serialization.jackson 的 boolAsInt 配置 对小写 bool 无效的问题
  • 修复 solon.serialization.fastjson2 的 boolAsInt 配置无效的问题
  • 修复 solon.config.yaml 当配置 key 为数字时会出错的问题
  • fastjson2 升为 2.0.52
  • snack3 升为 3.2.107
  • wood 升为 1.2.13
  • socket.d 升为 2.5.10
  • folkmq 升为 1.7.6
  • smartsocket 升为 1.5.50
  • smarthttp 升为 1.5.5

Solon v2.8.5

09 Jul 02:34
Compare
Choose a tag to compare
  • 添加 solon.cache.redisson RedissonClientOriginalSupplier 类
  • 添加 solon MethodKey 类
  • 添加 solon ClassUtil:resolveClassLoader 方法
  • 添加 solon Router::getBy(controllerClz) 方法,用于管理需求
  • 添加 solon ChainManager::addExecuteHandler(e,index) 方法,支持执行器排序
  • 添加 solon RouterInterceptor::postArguments 提交参数确认(更方便 mvc 参数定制)
  • 添加 solon UploadedFile::getContentAsBytes 方法
  • 添加 solon DownloadedFile 动态 304 的支持
  • 添加 solon Component:registered,控制形态注册
  • 添加 solon.data 序列化新实例 JsonSerializer.typedInstance
  • 添加 captcha-solon-plugin 图形验证码接口注释,之后使用smart-doc会拥有更完整的文档内容
  • 优化 solon solon.config.load 支持 classpath: 前缀
  • 优化 solon.data 的 JsonSerializer,JavabinSerializer 类加载器处理
  • 优化 solon.sessionstate.jedis 的 JsonSerializer,JavabinSerializer 类加载器处理
  • 优化 solon Serializer 接口定义,更好支持泛型
  • 优化 solon CacheService 接口定义,更好支持泛型
  • 优化 mybatis-plus-extension-solon-plugin 增加 @Db IService 注入支持
  • 优化 mybatis-solon-plugin 没有 mappers 时的提示
  • 修复 solon.logging forward 时会清掉 mdc 的问题
  • 修复 solon 一个注解同时用 beanInterceptorAdd 和 beanExtractorAdd 时 代理失效的问题
  • redisx 升为 1.6.5
  • snack3 升为 3.2.104
  • wood 升为 1.2.12
  • socket.d 升为 2.5.9
  • folkmq 升为 1.7.4
  • water 升为 2.13.3
  • nacos2 升为 2.3.2(更好兼容 GraalVM Native)
  • smartsocket 升为 1.5.46
  • smarthttp 升为 1.5.2

Solon v2.8.4

21 Jun 09:15
Compare
Choose a tag to compare
  • 新增 solon.net.httputils 插件
  • 添加 BeanWarp::rawClz,优化 BeanWrapLifecycle 的检测方式(避免 LifecycleBean 重复注册)
  • 添加 CloudBreakerException 异常类,用于 CloudBreakerInterceptor
  • 添加 CloudStatusException 异常类,用于 Cloud 触发的 4xx 状态异常
  • 添加 Router 移除控制器的接口
  • 添加 openapi2 支持 action 返回接口类型
  • 简化 Router 注册控制器的方式
  • 优化 solon.boot.websocket 适配,在重启时端口不能立即复用的问题
  • 优化 List[Bean] 注入,支持排序
  • 优化 AppContext::beanShapeRegister 改为实例检测(之前为类型检测)
  • 调整 429 状态改由 CloudBreakerException 发出(访问量过大时)
  • 调整 415 状态改由 StatusException 发出(Consumes 不匹配)
  • 调整 用 solon.net.httputils 替换 solon.test 里的 HttpUtils(统一代码)
  • 调整 @Consumes @Produces 作用域,支持加在类上
  • 调整 solon-rpc 快捷包去掉 hessian 依赖(如有需要手动引入)
  • 调整 CloudBreakerInterceptor 融断时改为 CloudBreakerException(之前为直接设定 429 状态),更方便过滤和拦截
  • 修复 @Consumes @Produces 在 solon.docs 里无效的问题
  • fury 升为 0.5.1
  • liteflow 升为 2.12.1
  • socket.d 升为 2.5.7
  • folkmq 升为 1.7.2
  • mybatis-flex 升为 1.9.3
  • smartsocket 升为 1.5.44
  • smarthttp 升为 1.4.3
  • undertow 升为 2.2.32.Final