-
Notifications
You must be signed in to change notification settings - Fork 253
/
changes.txt
1473 lines (979 loc) · 60.5 KB
/
changes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
jboot v4.1.9 2024-08-30:
优化:升级 JFinal 到最新版本 v5.2.2
优化:调整 fastjson 以适配 redis 序列化的问题
优化:优化 JbootResourceLoader 的异常捕获
jboot v4.1.8 2024-08-20:
修复:紧急修复上个版本合并的 JbootModel 造成的问题
jboot v4.1.7 2024-08-18:
优化:JbootAopFactory.java 构造方法访问权限修改为 protected 方便继承扩展,感谢 @macaque
优化:cache 带有dataLoader的方法中日志会打印多次问题,感谢 @macaque
优化:findListByColumns 增加从 start 开始取 count 条方法 即 limit ?,?,感谢 @[email protected]
修复:修复 brpop blpop 无法取出 key 的问题,感谢 @macaque
jboot v4.1.6 2024-06-01:
新增:根据 configName 获取 ActiveRecordPlugin 的功能,方便扩展,感谢 @caoyuan
优化:优化 SentinelUtil 工具类
优化:修正异常信息的错别字问题
优化:升级 JFinal 等相关依赖到最新版本
优化:升级并适配 Jedis 到最新版本
修复:SentinelInterceptor 捕获异常后,渲染完页面要关闭输出流,感谢 @caoyuan
jboot v4.1.5 2023-09-08:
优化:MockProxy 由 Java Proxy 替换 cblib
优化:增加 Hikari 连接池配置参数 keepaliveTime 配置功能,感谢 @赵锋
优化:设置 SentinelInterceptor 返回自定义的 json 串,感谢 @caoyuan
优化:SentinelConfig 新增 set 方法,方便用户自己通过代码注入,感谢 @caoyuan
优化:修改方法的 wrap 与 toUpperCase 方法为public ,方便重写时决定SQL是否需要加引号与大小写,感谢 @HingLo-C
优化:升级相关依赖到最新版本
jboot v4.1.3 2023-06-21:
优化:线程池同一使用 NamedThreadPools.java 进行构建
优化:修改版错别字 taked 为 took
优化:添加更多的扫描 jar 排除,减少启动消耗时间
jboot v4.1.2 2023-06-20:
修复:Oracle 数据库在某些极端情况下出错的问题
jboot v4.1.1 2023-06-19:
修复:修复 MQ 通知线程在高并发场景下无法及时回收的问题
优化:升级 JFinal 等依赖到最新版本
jboot v4.1.0 2023-05-12:
新增:自定义 JFinalFilter 的支持
优化:重命名 JbootAccessTokenCache 为 WechatAccessTokenCache
优化:JbootAppListenerManager 中重复的 foreach 操作 感谢 @梦行
优化:升级 Jfinal/jfinal-undertow/jsoup 等到最新版本
jboot v4.0.9 2023-03-08:
优化:JbootResourceLoader 忽略掉 windows 和 mac 下的临时文件
优化:修改 SqlBuilder.java 的错别字
修复:Columns.orEqs 没有添加括号导致 sql 逻辑不对的问题
jboot v4.0.8 2023-02-05:
优化:升级 ShardingJDBC 到 5.x 最新版本
优化:升级 Columns.in 和 notIn 等方法和错别字
优化:升级 jfinal-undertow、jackson、metrics 等到最新版本
jboot v4.0.7 2023-01-06:
优化:重构 AttachmentManager 使之更加灵活易用
新增:StrUtil.isStartsWithAny() 方法
新增:FileUtil.getFileMD5() 等方法
新增:CdnUtil.appendCdnDomain() 方法
jboot v4.0.6 2022-12-31:
修复:缓存注解自动生成 key 无法支持集合参数的问题
优化:ApplicationUtil.java 使其在 window 下输出正确的 classpath 路径
优化:修改 ValueFilterInterceptor.java 里的错别字
优化:JbootConfigManager.java 配置独立目录时,再次读取 jboot.properties 文件
jboot v4.0.5 2022-12-29:
新增:jboot.cache.cacheSyncMqChannel 的配置,用于对分布式缓存的 channel 进行自定义
优化:JbootRedisCacheImpl 初始化的错误提示内容
优化:ClassUtil.newInstance() 方法,方便对构造器进行传参
优化:删除无用的 GenTester.java 文件
优化:不再对 JbootSerializerManager 进行 Aop 增强
优化:不再对 JbootmqManager 进行 Aop 增强
优化:不再对 JbootEventManager 进行 Aop 增强
jboot v4.0.2 2022-12-16:
新增:db.each 的 sql 打印输出
新增:通过 Controller 获取参数时,自动对参数进行 trim 操作
新增:配置文件可以外部的任意目录
优化:升级 jfinal 到最新版本
jboot v4.0.1 2022-12-03:
新增:新增可以通过配置取消 AOP 缓存的功能
新增:新增 jboot.cache.useFirstLevelOnly 配置的功能,可以在分布式下只开启 1 级缓存
优化:修改 aop action 等默认缓存时间为 10 分钟
优化:ModelUtil.keep 方法
优化:ObjectUti.convert 方法
修复:new Model().use("ds").update() 在某些场景下出错的问题
jboot v4.0.0 2022-11-27:
优化:正式支持 jdk 17.x
===================== v3.x =========================
jboot v3.17.1 2022-11-13:
优化:Columns.java 对空条件的判断
优化:ClassScanner.java 支持扫描 jar 包里的 jar 包,感谢 @陈立刚
优化:Redis 消息队列设置支持多个 database,感谢 @陈立刚
jboot v3.17.0 2022-11-12:
新增:自定义 Controller 缓存刷新 key 的功能
优化:Jboot MQ 在启动和停止的时候,不对已启动进行错误抛出,方便多模块可以自由启动或停止
优化:Jboot MQ 添加监听器的时候,自动添加 channel 信息
优化:升级 jackson-core 等到最新版本
jboot v3.16.8 2022-11-06:
新增:Controller.getFilesOnly(Set<String> paraNames) 方法
优化:默认关闭缓存日志
jboot v3.16.7 2022-10-31:
新增:添加 CachePrinter 的支持,方便把缓存信息输出在控制台或者日志上
优化:JbootResourceLoader 优化过滤掉 Windows 的临时文件
优化:使用注解验证数据时,控制台不再抛出异常信息,只打印基本验证错误信息
优化:为验证码等组件缓存过滤掉线程前缀的设置
jboot v3.16.6 2022-10-25:
修复:HttpUtil.download 出现 NPE 的问题
jboot v3.16.5 2022-10-23:
修复:Controller 使用返回值渲染并使用 cacheable 注解对其缓存时出错的问题
修复:ObjectUtil.convert() 在某些极端情况下错误的问题
jboot v3.16.4 2022-10-19:
优化:doNotAlloVisitRedirect 错别字
优化:修改 CacheUtil.setCurrentPrefix() 方法为 setThreadCacheNamePrefix
新增:添加 JbootCache.addThreadCacheNamePrefixIngore() 方法
jboot v3.16.3 2022-10-17:
新增:SqlBuilder.escapeOrderBySql 用于过滤 Order By 参数
新增:InterceptorBuilder.Util.isChildClassOf 方法
新增:JbootController.getParaToBigInteger(index) 方法
优化:RequestUtil.getIpAddress() 对 127.0.0.1 的处理
优化:JbootResourceLoader 的日志输出和目标路径的优化
jboot v3.16.2 2022-10-07:
新增:ObjectUtil.obtainNotNull 方法
新增:StrUtil.obtainNotBlank 方法
优化:升级 jfinal-undertow 到最新版本并移除 JbootApplication 的 URL 打印功功能。
jboot v3.16.1:
新增:APP 在启动的时候,输出 Local URL,方便通过控制台启动浏览器
新增:FileUtil.ensuresParentExists() 方法
新增:DAO.deleteAll() 方法
修复:Controller 通过 return 渲染 Json 数据时,控制台不输出 Render 信息的问题
修复:JbootController.getFileOnly(name) 返回的数据不正确
jboot v3.16.0:
优化:重构 @Cacheable 在 Controller 中的使用,使之更加灵活方便
优化:FileUtil.unzip 方法,添加可以指定解压缩编码的参数
优化:升级 JFinal、 jackson-core 等到最新版本
修复:JbootServiceBase.initDao 在非泛型子类时初始化出错的问题
修复:Sqlbuilder 在使用别名 + between 时,生成的 SQL 出错的问题
jboot v3.15.10:
优化:增强 http 工具类,默认支持携带 cookie 重定向
优化:升级 Jsoup 到 v1.15.3 最新版本
修复:对在中文目录下部署时,可能对环境判断错误的问题
jboot v3.15.9:
新增:Controller.getFileOnly(name) 和 getFilesOnly(names)
优化:升级 Jsoup 等相关依赖到最新版本
修复:当 ActionKey 注解使用 ./ 相对路径时,swagger文档中的 path 会生成包含 ./ 的错误API路径的问题
jboot v3.15.8:
新增:FileUtil.delete 方法
新增:JbootController.getFirstFileOnly() 方法
优化:JbootController.getFile() 设置为删除方法
优化:升级 JFinal 到最新版本
jboot v3.15.7:
修复:RPC 的 Reference 缓存 key 构建错误导致无法命中缓存的问题
新增:FileUtil.removeSuffix() 方法
新增:ModelUtil.keep(List<Model> models) 方法
新增:CollectionUtil.toString() 方法
新增:ArrayUtil.toString() 方法
新增:DateUtil 解析 datetime-local 方法
jboot v3.15.6:
新增:JbootmqBase 添加自定义线程池的接口方法
新增:JbootModel.processColumns() 方法,在某些场景下用于对 Columns 进行二次加工
优化:Redis MQ 的 lpush 对应应该是 rpop 的问题,同时添加 interval 设置方法
优化:JbootPaginateDirective 添加自动从 scope 获取 Page 对象的方法
优化:移除 JbootModel 的 getBigInteger 和 getBigDecimal 方法,新版本的 JFinal 已经实现了
修复:修复 Model.use("datasource").save() 的时候无法正确保存数据的问题
jboot v3.15.5:
修复:当开启 nacos 配置中心,有启用带参数内容 ${} 时,出现 StackOverFlow 的问题
修复:HttpUtil 获取 GBK 网址内容时,出现乱码的问题
jboot v3.15.4:
优化:升级适配 Seata 到最新版本 1.5.1,感谢 @扫地猿
优化:CookieUtil,方便在 Handler 里对 Cookie 进行操作
文档:新增 dubbo2 升级到 dubbo3 的升级文档,感谢 @自由领主
jboot v3.15.3:
新增:代码生成器新增 白名单 配置的支持,感谢 @xujianxie
优化:升级 FastJson 到最新版本
jboot v3.15.2:
修复:DAO 配置了 loadColumns 时又配置了 distinct 时,无法获得正确结果的问题
优化:优化 Columns.toString() 方法,防止在开发工具 debug 下显示 "null" 的问题
jboot v3.15.1:
新增:JbootOutputDirectiveFactory,用于忽略在生产环境下,模板引擎执行的错误输出
新增:CodeGenHelpler 新增对 infomix 数据库的支持,感谢 @xujianxie
优化:升级 JFinal 到 v5.0 最新版本,其他相关依赖也升级到新版本
jboot v3.15.0:
优化:ValidErrorRender 使用 Ret.fail() 来创建,方便统一定义 message 字段
优化:InterceptorBuilderManager 默认对所有 Interceptor 进行注入
优化:Controller 新增 getAttrs() 和 renderToStringWithAttrs() 方法
修复:Controller 接收 int[] 时,使用 @Size 等注解验证时出错的问题
修复:Model.dao() 查询在某些情况下出错的问题
修复:注解 @Size(max=xxx) 拦截错误的问题
jboot v3.14.9:
修复:在某些极端场景下,StrUtil.escapeHtml 无法通过 unEscapeHtml 还原的问题
优化:删除某些无用的方法和类
jboot v3.14.8:
修复:DataSourceConfigManager 里的数据源在 APP 启动成功后会被清空的问题
修复:配置 redis GlobalKeyPrefix,CacheUtil.getKeys(cacheName) 无法正确获取 keys 的问题
jboot v3.14.7:
修复:Jboot AppListener 启动时的错误信息,无法正确输出的问题
jboot v3.14.6:
修复:JbootLockCounter 和 JbootLocalLock 不可用的问题
优化:删除一些无用的类或者空实现的类
jboot v3.14.5:
新增:JsonUtil.getList 和 JsonUtil.getSet 方法
新增:RSAUtil 非对称加解密工具类
新增:DESUtil 对称加解密工具类
jboot v3.14.4:
新增:生产环境忽略模板指令渲染错误的功能,保证其他内容正常渲染
新增:模板错误渲染器 TemplateErrorRender,用于追加模板指令错误内容
新增:是否开启 Controller Action 缓存的开关,方便在不同的场景下进行开启或者关闭
新增:JbootEventManager 可以设置自己的线程池
优化:ValidUtil 中ValidatorFactory初始化一次,供Validator、MessageInterpolator复用,感谢 @wtusrss
优化:升级 JFinal/JFinal-Undertow 等到最新版本
修复:HttpUtil 在 POST 的时候,添加了参数又设置 body 内容时,参数失效的问题
文档:修改文档错别字
jboot v3.14.3:
优化:JbootModel.findByColumn 当传入 null 值 value 时,直接返回 null
优化:Model 保存和之前版本一致的行为,只允许绑定到一个数据源
优化:当 Model 配置指定数据源,但数据源不存在的时候,给出更为明确的错误提示
优化:Rabbitmq 添加自由开启队列和广播的开关,默认全部开启
优化:重构 CORS 模块,使之代码可以用户模块里进行 "复用"
修复: HttpUtil 在 put 请求时,某些情况下无法正常提交数据的问题
jboot v3.14.2:
新增:Informix 数据库方言,感谢 @xujianxie 同学
新增:JbootModel 新增 findByIdWithoutCache() 方法
新增:新增 JbootModel 的 CPI 类,用于开放保护方法
新增:Nacos 远程配置中心添加多实例的配置支持
新增:网关拦截器 GatewayConfig.interceptors 添加 SPI 名称配置的支持
新增:JsonUtil.java 方便解析 Json 数据
优化:ValidUtil.java,支持在非自定义消息的时候输出拦截的列名
优化:ClassScanner.java 默认关闭 Class 扫描信息在控制台输出
优化:修改缓存拦截器的默认权重为 100,当前情况下拦截器在最后执行
jboot v3.14.1:
新增:注解 @Table(datasource="xxx") 新增对数据源的配置支持
新增:添加 jboo.app.listenerPackage 配置支持,用于只扫描哪些包的 listener
优化:完善 JbootJson 更多的代码注释
优化:优化 JbootConfigManager.java 代码,对添加 key 进行 trim()
优化:进一步完善 jboot.properties 文件存放位置的探测
优化:单元测试移除 mockHandler
优化:DAO.findFirstByColumn(),当传入 null 应抛出错误,防止查询出错误的数据
优化:rabbitmq.queueDeclareDurable 的配置默认设置为 false
优化:对 QuietlyUtil 的方法进行重命名优化
优化:ValidErrorRender 输出的 message 不带有 fieldName 信息
优化:升级 Jfinal 等依赖到最新版本
修复:@Cacheput() 注解在 Controller 上无效的问题
jboot v3.14.0:
新增:@Cacheable() 等系列缓存注解对 controller 的支持
优化:优化 fastjson 序列化的功能,使用 config 而非 features
优化:重命名注解 @TxEnable() 修改为 @Transactional(),并为 @Transactional() 添加更多的配置功能
优化:为 RabbitMQ 添加更多的自定义配置
优化:自动检测是否依赖 jfinal-wexin 并自动配置 JbootAccessTokenCache
优化:删除 JacksonSerializer 等无用的代码文件
优化:优化配置文件的的自动探测功能,防止在某些新手未编译直接运行找不到配置文件的问题
优化:分布式任务注解 @EnableDistributedRunnable,并添加自定义的 redisKey 和 key 持有时间配置功能。
文档:完善关于 Controller 和 数据库的相关文档
jboot v3.13.8:
修复:Junit 代码覆盖率测试可能出现多次启动的问题
修复:JbootCron4jPlugin 停止后未移除已经停止任务的问题
jboot v3.13.7:
新增:MQ 新增 stopListening() 方法,可用于定制化关闭 MQ
修复: Controller 返回值有大写可能不正确的问题
jboot v3.13.6:
优化:强化 Controller 返回值,自动匹配相应的 render
优化:优化 JbootHttpImpl 和 JbootHttpResponse 代码,添加必要的日志输出
优化:更新 Copyright
jboot v3.13.5:
新增:CookieUtil 添加 "defaultPath" 和 "defaultDomain" 的配置
新增:HttpUtil 添加 http 代理的配置支持
新增:Columns.addToFirst() 方法
新增:JbootDirectiveBase.getParaToString()
优化:RequestUtil.java
优化:升级 JFinal 到最新版本
jboot v3.13.4:
新增:AttachmentManager 新增 getFile(path,localFirst) 方法
优化:升级相关依赖到最新版本
jboot v3.13.3:
新增:配置文件可以指定自己的文件名和路径的支持
优化:JbootmqBase,使之代码更加简洁
优化:Mysql 驱动,默认优先使用 MySql8 驱动
优化:升级相关依赖到最新版本
jboot v3.13.2:
新增:AOP 新增 javassist 的实现,方便在 jdk17 去掉 cglib
修复:在配置前缀的场景下,修复 redis 缓存 removeAll() 无法正确移除数据的问题
修复:SharedEnumObject 在 jdk17 下无法正常运行的问题
修复:Fastjson 对某些数据无法正确序列化的问题,升级 fastjson 到最新版本
jboot v3.13.1:
新增:JbootDb 新增支持 Columns 的 findFirst 方法
新增:QuietlyUtil.java 工具类
新增:ReflectUtil.java 的若干方法,反射调用更加简单
优化:Redis 缓存,存入 null 时,直接对 key 进行移除
优化:MockHttpServletRequest 直接实现 HttpServletRequest 接口,而非 HttpServletRequestWrapper 继承
优化:@TestConfig() 注解新增 printScannerInfo 参数,默认为 false
优化:MockMvcResult.java 提高性能
优化:优化网关代码,使代码更加清晰
修复:移除 JbootModelConfig.idCacheCachePrefix 配置,否则会造成重复配置的情况
jboot v3.13.0:
新增:Jbootmq 的监听器(Listener)新增 MessageContext 参数,支持更多的消息配置
新增:MockMvc 新增 upload 方法,用于对上传文件的测试
优化:404 403 401 等错误输出 info 信息,而不是 warn
优化:开放更多的 JbootMqImpl 方法
优化:优化 Http 工具类,上传文件的时候添加 ContentType 信息
jboot v3.12.5:
新增:IdCache 默认的缓存前缀配置
优化:AOP 缓存添加默认时间为 1 个小时
优化:为 @Cacheable() 等注解添的key构建加更多的数据类型支持,支持集合和数组
优化:升级相关依赖到最新版本
jboot v3.12.4:
新增:@FilterBy() 注解,用于对某些参数进行内容过滤
jboot v3.12.2:
新增:是否处理 404 页面的配置支持,方便与其他 web 框架整合
新增:JbootAppListener 新增 onConstantConfigBefore() 方法
优化:AttachmentManager.java,使之 getFile 不返回 null
优化:JsonManager.me().setDefaultDatePattern 的默认配置
jboot v3.12.1:
优化:当 cglib 创建对象出错时,错误信息不明确的问题
优化:Cache、MQ、Redis 的 Manager 在某些情况下可能出现 NPE 的问题
优化:升级相关依赖到最新版本
jboot v3.12.0:
新增:SPI 新增直接配置类名的功能
新增:MQ 新增支持多个实例配置的支持
新增:Redis 新增配置多个实例的支持
新增:Cache 缓存新增配置多个实例的支持
新增:限流组件新增 IP 限流功能
新增:限流组件新增 IP 白名单功能
优化:Rokect MQ 新增更多的配置支持
优化:移动 AOP 的默认配置到 "jboot.aop.cache"
优化:"jboot.model.idCacheType" 配置名称修改为 "jboot.model.idCacheName"
优化:"jboot.web.session.cacheType" 配置名称修改为 "jboot.web.session.useCacheName"
优化:重命名 JbootConfigUtil 为 ConfigUtil
文档:修改文档错误已经添加部分文档
jboot v3.11.4:
新增:新增 DAO.distinct() 方法,用于对内容进行去重
新增:MockMvc 新增 holdCookie 配置,用于在不同的测试用例里,保持 cookie 的功能
优化:保证 Model 和 Record 的 getBigInteger 的行为一致
优化:移除 codegen 下的 PathKit 类,使用 CodeGenHelpler 代替
jboot v3.11.3:
新增:重写 Model 的 getBigInteger,防止转换异常
新增:代码生成器 生成的 Model,如果字段是 BigInteger ,自动调用 getBigInteger 方法的功能
优化:升级相关依赖到最新版本
jboot v3.11.2:
新增:Columns.containsName() 方法
新增:SqlDebugger 新增对 Sql 输出到日志的实现方案,只要只有接口需要自己实现
优化:捕获 ScheduledThreadPoolExecutor 所有业务异常,防止其意外终止调度
优化:PaginateDirectiveBase,当其有数据的时候,显示分页内容
优化:ClassScanner,新增某些排除对象
优化:删除 CacheableInterceptor 一些不必要的 debug 信息
jboot v3.11.1:
新增:SqlDebugPrinter 新增是否打印 SQL 的独立开关
新增:新增更多的 JbootApplication.createServer(...) 方法
优化:升级JFinal、Jedis、Naocs、Dubbo 等到最新版本
修复:AttachmentManager.use(name) 无法使用的问题
jboot v3.11.0:
新增:实验性新增 Restful 支持,默认关闭,可以通过 "jboot.web.pathVariableEnable=true" 开启,感谢 @没牙的小朋友
新增:shiro 配置添加 filter 参数,自定义shiro相关的filter,感谢 @orangeJ
优化:在shiro拦截器初始化时处理对应方法的注解,取消对路由、actionKey的倚赖,感谢 @orangeJ
优化:修改 JbootActionMapping 拼写错误
优化:AttachmentManager 新增多实例的支持
优化:优化缓存前缀配置的方法名,否则可能会造成误解
优化:同时修改 "jboot.web.escapeParas"配置为 "jboot.web.escapeParasEnable"
修复:修正现有swagger实现中,会忽略ActionKey注解中的URL的问题,感谢 @没牙的小朋友
jboot v3.10.8:
新增:JbootCache 新增通过前缀了使用 "多实例" 的支持
新增:Model、Db 动态设置默认数据源的支持
新增:DatasourceConfig 新增表前缀配置的支持
修复:由于 RPC 添加 Reference 缓存后,造成 Controller 多个 Service 无法注入的问题
jboot v3.10.7:
新增:JbootHttpRequest 添加 sslContext 的配置,方便自定义 ssl
新增:JbootConfigManager 添加 setBootProperties 方法,方便用于添加启动配置
新增:工具类 ReflectUtil 新增 searchFieldList() 方法
新增:添加 TypeConverterFunc,用于处理前端传入枚举内容
优化:JbootShiroInvokeListener,在 onInvokeBefore() 方法添加返回值 AuthorizeResult,更加方便整合 Jwt sso 等
优化:升级 jedis/jsoup/jfinal/fastjson 等到最新版本
jboot v3.10.6:
修复:ClassScanner 添加排除的前缀时,如果有大写字母不生效的问题
修复:当使用 @Api(collect={}) 时,子 Controller 路径错误的问题
jboot v3.10.5:
新增:@EnableLimit() 注解新增通过 redis 实现集群的限流的功能,感谢 @orangeJ
新增:为 JbootRedis 增加 eval 方法,用于执行 lua 脚本,感谢 @orangeJ
新增:redis 缓存增加 globalKeyPrefix 配置,解决多个应用共用一个 redis 实例时的 key 冲突问题,感谢 @orangeJ
修复:JbootResourceLoader 在 Maven 二级目录下启动,无法扫描上级资源文件的问题
修复:Sentinel 文档错误的问题
jboot v3.10.4:
优化:升级 JFinal-Weixin 到最新版本
优化:添加 JbootActionReporter.colorRenderEnable 的配置
修复:通过在 JFinal Routes 配置的 Controller,APIDoc 无法正常生成的问题
jboot v3.10.3:
新增:门户网关 Gateway 新增基于 Nacos 的自动服务发现的功能
新增:JbootHttpImpl 新增默认的 Content-Type 配置
新增:JbootHttpRequest 新增 "instanceFollowRedirects" 配置
优化:允许 void 的 Controller 方法生成 retRemarks
优化:添加 ApiOper.containerClass 配置,用于对 void 类型的 Controller 设置返回值
优化:添加 ApiDocConfig.defaultContainerClass 配置,用于配置默认的 void Controller 返回值
优化:对 HttpRequest 进行优化,保证 headers 和 paras 的顺序
优化:删除 JbootGatewayHandler 默认添加的必要,修改为默认不添加此 Handler
修复:@ApiPara.require() 在方法上不起作用的问题
修复:Jboot 升级 JFinal 到最新版本后,代码生成器的路径错误的问题
示例:新增 Gateway 通过 Nacos 自动发现的 Demo 示例
示例:新增 WebSocket 的 Demo 示例
jboot v3.10.2:
新增:注解 @ApiPara() 增加 require 参数的配置,感谢 @lijiahong
优化:Json 增加递归深度配置,修复多层级数据返回不完全问题,感谢 @lijiahong
优化:升级 JFinal、jackson、Dubbo 等到最新版本
修复:JbootPaginateDirective 在默认情况下无法获取 page 的问题
修复:Redis 连接有密码时,Redis 集群时未设置 maxAttempts 连接权限不上问题,感谢 @lijiahong
jboot v3.10.1:
新增:ApiDoc 新增 allInOne 模式,方便把所有 api 生成到一个文档里
新增:@Api() 注解新增 orderNo 的配置
新增:可以通过 api-remarks.json 和 api-mock.json 为文档配置 json 输出
新增 "ApiJsonGenerator",用于生成通过数据库生成 api-remarks.json 和 api-mock.json 文件
新增:ApiDoc 文档新增自定义排序 Comparator 配置的支持
新增:ApiDoc 新增自定义 ApiMockBuilder 的支持,用于构建任意 Model 的 Mock 数据
新增:"@ApiResp" 注解,用于对 JFinal 通过 render 而非返回值的形式的支持
新增:ApiDocument 等信息添加序列化的支持
jboot v3.10.0:
新增:apidoc 模块
优化:JbootCaptchaCache 在某些情况下可能出现 NPE 的问题
优化:升级 JFinal 到 v4.9.14 最新版本
jboot v3.9.20:
优化:由于 JFinal 紧急发布新版本,因此同步到 JFinal 最新版本
修复:因为 ehcache 依赖默认并没有引入,将 session 的默认存储改为 caffeine。感谢 @orangeJ
修复:@RequestMapping() @Path() 无法配置动态参数的问题
jboot v3.9.19:
新增:@MockClass() 注解,用于多 AOP 的 Class 进行 Mock
新增:MockMvc 新增 requestStartListener 和 requestFinishedListener 的支持
新增:@TestConfig.devMode 和 @TestConfig.launchArgs 配置的支持
新增:MockMvcResult.getContentAsJSONObject() 和 assertJson() 方法
新增:MockHttpServletRequest 新增 addQueryParameter() 方法
新增:@DefaultValue() 注解,用与对参数配置默认值
新增:"jboot.sentinel.reqeustTargetPrefix" 配置的支持,用于配置 sentinel 对某些 url 进行拦截
优化:优化控制台 action 的日志输出的性能
优化:升级 JFinal 到最新版本
优化:通过 MockMvc 进行单元测试的时候,若 Controller 发生 404 或者 500 等错误的时候,则不通过 junit 测试
文档:添加验证器错误自定义渲染的相关文档
文档:同步 junit 测试文档
文档:修复 Sentinel 的里错误的配置文档
jboot v3.9.18:
新增:新增 @MockMethod 注解,方便对 AOP 方法进行 Mock
新增:@TestConfig(autoMockInterface=false) 配置,方便对接口进行 Mock 操作
修复:Motan RPC 框架的 protocol 配置不生效的问题
修复:ide 配置错误时给出的 JFinal 配置帮助文档网址错误
jboot v3.9.17:
修复:JbootActionReporter 可能出现 NotFoundException 的问题
修复:JbootActionReporter 可能出现 NPE 的问题
修复:阿里云商业 MQ Aliyunmq 配置错误的问题,感谢 @不器
文档:修改某些描述错误的文档
jboot v3.9.16:
修复:Junit 测试对于个别 ServletRequest 方法没有 mock 到而出错的问题
修复:当 Jboot 有上层 session 时(比如使用 shiro),修改 Controller session 无法同步上层 session 的问题
jboot v3.9.15:
新增:新增单元测试的辅助类的支持
新增:ActionReporter 新增 render 信息的输出功能
新增:工具类 ReflectUtil.java
优化:调整默认的JbootShiroInvokeListener实现,保存被拦截的请求便于后续跳转使用,感谢 @没牙的小朋友
修复:jboot.properties配置文件中 jboot.shiro.ini 配置未生效的问题,感谢 @没牙的小朋友
修复:在某些情况下 PathKit.getWebRootPath 得到错误结果的问题
jboot v3.9.14:
新增:为 undertow 新增默认的 content-type,解决 mp4 等视频不能播放的问题
新增:ValidErrorRender,方便用户自定义 "数据验证" 错误的渲染器
修复:当 Interceptor 被 cglib 代理时,无法正确输出其日志的问题
jboot v3.9.13:
新增:新增配置 "jboot.app.listener",用于配置可以执行的 appListener
新增:新增配置 "jboot.json.skipModelAttrs" 和 "jboot.json.skipBeanGetters" 配置
优化:JbootGatewayHandler 默认添加在系统里,方便进行动态路由
优化:JbootGatewayHealthChecker 的代码
优化:升级 JFinal 等依赖到最新版本
优化:对 ClickHouse 高级版本 驱动 进行适配
修复:代码生成器在某些情况下输出的 html 不是 utf8 编码的问题
修复:WeightUtil 判断错误的 bug
jboot v3.9.12:
新增:devModel 可以动态配置,方便在某些场景下切换 devMode
修复:在某些极端场景下,PathKit.getWebRootPath() 可能出错的问题
修复:当查询的 Page 为 null 时,分页的总页数数据错误的问题
jboot v3.9.11:
新增:注解 @ActionKey() 支持 ./ 相对路径的配置
新增:门户网关拦截器新增对 Header 的配置
新增:JbootActionReporter 的开关配置,而不是由 devMode 决定
优化:门户网关的健康检查代码抽离为独立的类 JbootGatewayHealthChecker
优化:门户网关 NoneHealthUrlErrorRender 重构为 GatewayErrorRender,支持更多的错误渲染
优化:门户网关可以通过拦截器自定义前端渲染功能
优化:简化 RPC 的默认配置
优化:优化 JWT 的代码逻辑
优化:升级 JFinal、Seata 等到最新版本
优化:优化 ConfigUtil 的参数解析方法
优化:优化 FastJsonSerializer 的逻辑代码
文档:优化序列化的相关文档
jboot v3.9.10:
新增:Dubbo Method 的 oninvoke/onreturn/onthrow 配置的支持
新增:不同的 @RPCIject 持有不同 RPC 对象的支持
优化:当 provider 未启动,但是开启 check 后无法注入,但提示信息不明确的问题
优化:升级 jackson、dubbo 等到最新版本
修复:ConfigUtil 在读取 Object 时可能出错的问题
修复:RPCUtil 在配置 default 有时可能无效的问题
修复:Dubbo 版本升级后,不再支持对 consumer 的 protocol 配置
修复:Dubbo 升级到 2.7.10 后,若不配置直连协议,启动出错的问题
jboot v3.9.9:
新增:@TxEnable() 注解的支持,方便在 Service 进行事务处理
优化:优化 JsonBodyParseInterceptor.java 代码
优化:升级 JFinal、FastJson 等到最新版本
修复:泛型的 Controller 无法覆盖子类 Action 的问题 [#I3FG0B](https://gitee.com/JbootProjects/jboot/issues/I3FG0B)
修复:使用 @JsonBody 注解,同时使用 泛型 的 Controller 在 openJdk 下可能出错的问题
修复:paginateByColumns 传入复杂的 Order By 可能产生错误的问题
文档:修复 Dubbo 文档 url 路径错误的问题
jboot v3.9.8:
新增:@GetMapping() 和 @PostMapping() 的支持
新增:@JsonBody() 注解支持 LocalDate 和 LocalDateTime
新增:@JsonBody() 注解支持在 Class 定义泛型的功能
优化:控制输出的 Action 时间执行时间,包含了模板引擎的渲染时间。
优化:Jwt 拦截器构建器的代码
优化:门户网关的 Http 代理代码
优化:升级 Nacos 等依赖到最新版本
jboot v3.9.7:
新增:@Lazy 懒加载注入的功能
新增:JbootController.getOrginalRequest() 方法,用于获取进过 Xss 处理后的原始 Request
新增:JbootDirectiveBase.getParaToBigDecimal() 的系列方法
新增:Interceptors.addIfNotExist() 方法,用于对某些注解进行单次添加
新增:JbootController.getParaToBigDecimal() 和 getParaToBigInteger() 方法
优化:重命名 JFinalEnumObject 为 SharedEnumObject
优化:Validator 验证错误的时候,错误信息给出错误的相关字段
修复:通过 @JFinalShareEnum 添加枚举,在某些极端情况下无法调用枚举静态方法的问题
jboot v3.9.6:
新增:门户网关动态配置拦截器的功能(之前只能通过配置文件进行配置)
新增:门户网关动态配置负载均衡策略的功能(之前只能通过配置文件进行配置)
新增:columns 新增 groupBy() 和 having() 的方法,方便构建 group by 的 SQL
新增:新增 jboot.web.escapeParas 配置,方便全局对 xss 进行防护
优化:升级 JFinal、HikariCP、metrics、Shiro 等到最新版本
修复:使用 @Bean 注解,然后 Jboot.getBean() 通过 Bean Name 获取不到对象的问题
修复:Redis 缓存的 removeAll() 和 getKeys() 在某些情况返回数据不正确的问题
jboot v3.9.5:
新增:CacheInterceptorBuilder.Util 工具类,用于对拦截器的判断
优化:重构 @Configuration 对 @Bean 的初始化工作
优化:JbootCglibCallback 对没有拦截器的方法的调用
修复:在热加载的情况下,JbootCoreConfig 无法转换为 JFinalConfig 的问题
jboot v3.9.4:
新增:@JfinalSharedEnum 注解的支持,方便把枚举添加到模板引擎里使用
新增:@PostConstruct 注解的支持,方便 Bean 在被创建的时候进行初始化
优化:ApplicationUtil.runInFatjar 的判断
文档:更新 MVC、MQ、Gateway 等文档
jboot v3.9.3:
新增:门户网关没有健康网关时可以自定义渲染器的功能
优化:Gateway 门户网关的性能
优化:GatewayInterceptpor 拦截器可以获得当前的代理目标 URL 地址功能
修复:@DecimalMax 和 @DecimalMin 在某些极端情况下可能验证错误的问题
文档:更新 MQ、Sentinel、Gateway、Validator 等文档
jboot v3.9.2:
新增:门户网关 Gateway 的健康检查功能
新增:JbootModel.closeIdCacheTemporary() 通过这个方法可以一次关闭ID缓存
新增:Controller 新增 getJwtParaToInt 等系列方法
新增:JbootHttpRequest 新增 readBody 配置,用于在某些情况下不读取 http body
优化:StrUtil.queryStringToMap 方法
优化:优化门户网关的若干方法,添加必要的注释
优化:升级 JFinal、Sentinel、Seata 等到最新版本
修复:修复 clickhouse 在某些情况下,分页可能出错的问题
jboot v3.9.1:
修复:JbootModel.loadCache 在某些情况下出错的问题
修复:分布式配置启用 Apollo 后可能出现空指针的问题
jboot v3.9.0:
新增:Clickhouse 数据源的配置和支持
新增:Rocketmq 作为 mq 底层通信的支持
新增:ValidUtil.setValidator() 方法用于自定义自己的 Validator
新增:ValidateInterceptorUtil.setValidExceptionRetBuilder 用于渲染自定义验证错误信息
新增:jboot.model.idCacheByCopyEnable 配置用于开启 id 缓存的时候是否返回 copy 的对象
优化:优化 Rabbitmq 和 阿里云商业 MQ 的支持
优化:修改 Validate 返回数据的 errorCode 的值为 400
优化:重命名 ControllerUtil 为 JbootShiroUtil
优化:JbootController 去获取 Jwt 内容的时候,不配置 secret 只会发出警告而不是抛出异常
优化:重置 Rabbitmq 的 broadcastQueuePrefix 配置为 broadcastChannelPrefix
jboot v3.8.1:
优化:增强 Sentinel 与其控制面板设置的能力,增加数据源配置,并可以通过阿里云 AHAS 进行完全控制
优化:升级 Undertow 的 devMode 默认值为 false,防止在 devMode 的情况下,不同的 classloader 导致获取不到数据查询实例的问题
修复:修复分布式 Seata 的 bug 、升级 Seata 到最新版本并添加相关测试代码,感谢 @菜农
修复:修复 Rabbitmq 在某些情况下出现 bug 的问题,并添加相关测试代码
jboot v3.8.0:
新增:代码生成器生成 Service 的前缀和后缀配置
优化:升级 Jfinal、Jfinal-undertow、Jfinal-weixin 等到最新版本
优化:AopFactory 优化对 @Configration 的空注解的构建
优化:完全重构 Metrics,添加对 Prometheus 的输出
jboot v3.7.8:
修复:修复 v3.7.7 的 Aop.get(Interface.class) 在某些情况下无法获取服务的问题
jboot v3.7.7:
优化:优化 @Configuration 注解初始化流程
优化:AOP 对接口或者抽象类进行注入,但有找不到其实现类的时候可能出现 methodNoFund 的错误
修复:通过 @Bean(name=xxx) 注解去定义 Service 时在某些情况下可能无法正常获取的问题
jboot v3.7.6:
新增:新增默认的 DriverClassNames,当用户不配置的时候使用默认的进行配置
新增:JbootController.getJsonBody() 的方法
优化:默认添加 validation-api 验证框架依赖
优化:DateUtil 当前端传入 null 值的时候有适合的返回值
优化:jwt 拦截器提高性能,并新增清空 jwt 数据的方法
修复:JbootController.toBigDecimal 当已 N 开头时解析不对的问题
jboot v3.7.5:
新增:支持更多的验证注解,比如 Digits DecimalMax DecimalMin Positive Negative 等
新增:支持在 Service 任何被注入的方法里进行验证
新增:JbootApplication 运行下 fatjar 的时候,支持在同级目录下读取 jboot.properties 文件
jboot v3.7.4:
新增:NotNull、NotBlank、NotEmpty、Valid、Pattern、Min、Max、Size、Email 等验证注解
新增:RequestUtil.isJsonContentType() 方法
优化:NotEmpty、Regex 等验证返回更加当前请求类型返回 json 内容
优化:JbootErrorRender,当发生错误的时候,对 ajax 请求返回 json 内容
优化:移除注解 Weight 的默认值
修复:JbootController.getRawObject 在某些情况下可能出现异常的问题
修复:使用 Autoload 注解,同时配置 Weight 不生效的问题
jboot v3.7.3:
新增:JbootController 新增 getRawObject(TypeDef) 方法,可以获得指定泛型数据
优化:JsonBodyParseInterceptor 的解析效率
优化:JbootController 的 getRawObject 的效率
修复:当最后一个节点是数组而去获取指定 index 的 Object 时,返回 null 的问题
jboot v3.7.2:
新增:@JsonBody 新增新的 JsonKey 语法支持
新增:JbootController 新增传入 JsonKey 获取数据
jboot v3.7.1:
新增:DateUtil 新增 getStartOfDay() 和 getEndOfDay() 两个方法
新增:@JsonBody 支持多 Date 类型的注入
优化:DateUtil 支持更多的自动 parse 方法
修复:@JsonBody 对原始数据类型的注入为 null 是不正确的问题
jboot v3.7.0:
优化:提高在 Controller 有多个 @JsonBody 参数时 JsonBodyParseInterceptor 解析性能
修复:JsonBodyParseInterceptor 在解析原始数据参数出错的问题
修复:JbootJedisImpl 在某些情况下配置 database 无效的问题
jboot v3.6.9:
新增:@JsonBody 新增对 set 的支持
优化:升级 JFinal、Undertow、Jackson 等到最新版本
jboot v3.6.8:
新增:Controller 参数新增 @JsonBody 的支持
新增:Http 工具模块添加更多的配置,方便在 fatjar 模式下能配置 https 相关证书
新增:ErrorRender 自动判断前端是否需要 json 渲染,当请求头是 application/json 的时候自动渲染错误的 json
jboot v3.6.7:
优化:JbootSimpleApplication,使之代码更加简洁
优化:优化缓存拦截器对方法的 key 进行构建,提高性能
优化:默认为 JbootAccessTokenCache 添加 2 个小时的缓存时间
优化:LocalAttachmentContainer,默认保存文件的时候,对文件进行相同文件验证
优化:JwtManager 对 Jwt 解析出错或没有 Jwt 数据时,返回常量 map
jboot v3.6.6:
新增:AttachmentManager 新增保存文件的若干方法
修复:DateUtil 某些方法不正确的问题
jboot v3.6.5:
新增:控制台信息打印新增 RawData 的内容打印,方便开发调试
优化:优化通过 JbootSimpleApplication 启动 RPC 服务时控制台的输出信息
修复:Jboot 在某些特殊场景下对 fatjar 运行模式判断不正确的 bug
修复:通过 JbootSimpleApplication 启动时,Pathkit 无法正确获取路径的问题
jboot v3.6.4:
修复:DateUtil 的 bug,和新增若干方法
优化:StrUtil.mapToQueryString 的方法
jboot v3.6.3:
新增:DateUtil 工具类,方便对日期进行计算或转换
新增:StrUtil.queryStringToMap 和 StrUtil.mapToQueryString
优化:JbootCaptchaCache 进行缓存 Captcha 时,配置过期时间
修复:CORSInterceptorBuilder 构建跨域注解拦截器时,注解在类上获取错误
jboot v3.6.2:
新增:控制台新增 Jwt 参数内容的打印,方便调试开发
新增:jboot.app.resourceLoaderEnable 配置,在 dev 模块下可以关闭 resourceLoader
优化:重命名 JbootInvocation 为 JbootActionInvocation
jboot v3.6.1:
新增:JbootCaptchaCache 方便在分布式的场景下进行验证码验证
新增:JbootTokenCache 方便在分布式下进行 token 验证
新增:JbootLock,方便在本地模式下分布式模型下进行锁机制编写
优化:RequestMapping 注解添加空字符串 "" 配置的支持
优化:移动 JbootAccessTokenCache 的包名
优化:重构 JbootCounter,使其在单体模型下和分布式场景下有一致的特征
jboot v3.6.0: