jboot v2.0.7:
新增：基于 Seata 的分布式事务，新增对 DBCP, C3P0, BoneCP, HikariCP 和 Tomcat-JDBC 连接池的支持
新增：新增 ClassUtil.buildMethodString() 方法，用于构建方法
优化：优化当使用 @CacheEvict(name="cacheName") 不指定key时，删除所有的key
优化：重构 JbootActionHandler 的错入输出代码
优化：重构 JbootDirectiveBase，当渲染文本错误时，输出行号方便排除
修复：当 RPC 修改为 Local 模式时，在某些特殊情况下无法获取服务的问题
修复：修复在多 Module 下，由于上个版本优化 ResourceLoader 导致无法正确加载其他Module静态资源的问题


jboot v2.0.6:
新增：@StaticConstruct 的支持，用于支持 AOP 自定义的静态构造
优化：优化 JbootActionHandler 代码，减少不必要的 AOP 注入
优化：优化 ClassScanner 代码，在 Tomcat 环境下排除对 Tomcat Jar 包的扫描
优化：优化 JbootUndertowConfig 代码，增加 classpath:webapp 默认设置的支持
优化：优化 JbootResourceLoader 性能，当父级不是 maven 项目的时候减少不必要的文件扫描


jboot v2.0.5:
升级 JFinal 到 3.8 最新版本


jboot v2.0.4:
优化：优化 JbootController 的 getBaseUrl 性能问题
优化：当 render 发生错误时，不方便对 Controller 方法进行定位的问题
优化：升级 druid 和 fescar 到最新版本
修复：修复 AOP 当子类为定义任何属性的时候，父类无法正常被注入的问题
修复：修复 ClassScanner 无法扫描自身的问题


jboot v2.0.3:
优化：通过注解 @EnableCORS 自定义 Option Method 的配置
优化：Dubbo Filter 在未开启 Fescar 时不执行任何操作
优化：在 代码生成器 里添加 remarks 的相关生成


jboot v2.0.2:
紧急修复不使用 Fescar 时，会出现 NoClassDefFoundError 的问题


jboot v2.0.1:
新增：Fescar 分布式事务的支持，只需要一个 @FescarGlobalTransactional 注解即可完成分布式事务，感谢 [@frank9527](https://my.oschina.net/frank9527)
新增：代码生成器的 remarks 生成的功能
优化：重构 FixedInterceptor，在其方法传入 Invocation 即可，而不是 FixedInvocation，方便拦截器在 Controller 和 Aop 层的复用。
修复：html、css、js 的热加载功能 当缺少commons-io的依赖会出错的问题
修复：@EnableCORS 开启跨域请求功能，在某些情况下不起作用的问题


jboot v2.0:
新增：Metrics 的 InfluxdbReporter 支持，方便把信息通过 influx 输入到 grafana
优化：修改 RequestUtil 工具类的拼写错误问题，isMoblieBrowser 修改为 isMobileBrowser
优化：修改 StrUtil.isMobileNumber() 新增 166 开头号码的支持
优化：大幅度优化 StrUtil.escapeHtml() 的性能
优化：升级 JFinal 到 3.7 最新版本和 JFinal-undertow 到 1.6 最新版本
修复：当使用 shiro 的时候，shiro 设置的session数据通过无法正常获取的问题


jboot v2.0-rc.13:
新增：新增 UrlParaValidate 注解，方便对 URl 参数进行验证
新增：新增 jboot.cache.aopCacheLiveSeconds 配置，方便给 service 的 注解添加下默认的缓存时间
新增：Columns 新增 in 和 between 的支持
新增：jboot.model.scanPackage 和 unscanPackage 的支持，方便自定义扫描的 Model
新增：新增 dubbo 的 zookeeper 注册中心的测试用例代码
新增：新增 Metrics 测试用例代码
修复：swaggerui中index.html中css，js，json资源路径错误的bug，感谢 @ninemm
修复：修复 Columns 查询时，有 or 是可能造成 sql 逻辑错误的问题
优化：优化 ClassScanner 配置逻辑，防止热加载时可能意外出错的情况
优化：优化 JbootScheduleManager 代码逻辑，方便自由添加任何和删除任务
优化：优化 JbootPaginateDirective 指令代码


jboot v2.0-rc.12:
新增：JbootAopFactory 新增自定义 Service 拦截器，方便 Service 拦截和切面编程。
修复：当通过环境变量去配置数据源的时候，DataSourceConfigManager无法获取多数据源的问题。
修复：用户自定义 JbootActionHandler 时的逻辑判断。
优化：优化 JbootConfigManager 读取 value 值的逻辑优化。
优化：修改 JbootAopFactory 里 Jboot 默认的 AOP 拦截器为 protected。
优化：优化 JbootExceptionHolder 逻辑，方便错误时的页面错误输出，同时提高性能。


jboot v2.0-rc.11:
新增：Docker 下配置的环境变量 XXX_XXX_XXX 自动转换为 xxx.xx.xx，用于属性读取。
优化：JbootResourceLoader 输出文字信息


jboot v2.0-rc.10:
修复：方法名错误的问题 JbootDirectiveBase.getParaToLang 修改为 getParaToLong
修复：JbootResourceLoader 可能出现空指针异常的问题
修复：JbootAopFactory 当客户端传入 null 会出现空指针异常的问题
优化：当 undertow 为对 host 配置的时候，默认host为 0.0.0.0


jboot v2.0-rc.9:
新增：JbootServiceBase 新增 shouldUpdateCache() 方法，用于给子类复写进行刷新缓存
修复：通过配置文件设置 DbProFactory 无效的问题
修复：第一次启动的时候，Jwt动态配置的Token可能为空的问题
修复：在父类使用 @Inject 后无法进行正确注入的问题
修复：非单例模式的AOP循环注入会出席死循环的问题
修复：用户添加的 Service 层 Interceptor 无法正确注入的问题


jboot v2.0-rc.8:
新增：Limit模块，可以用于没有运维的时候进行代码配置限流和降级
新增：WebSocketEndpoint 的配置支持 jboot.web.webSocketEndpoint
新增：undertow.unHotSwapClassPrefix 配置的支持，用于排除某些类在RPC下热加载的问题
优化：统一 JbootAppListener 的方法名，详情：https://gitee.com/fuhai/jboot/blob/v2.0/doc/docs/upgrade.md#%E4%BF%AE%E6%94%B9-jbootapplistener-%E7%9A%84%E6%96%B9%E6%B3%95%E5%90%8D
修复：修复由于升级 JFinal 到 v3.6 后，导致 sql 模板无法正常加载的问题
移除：ActionCache 模块，JFinal内部已经提供了类似功能


jboot v2.0-rc.7:
修复：Aop 自动注入的一些问题，提升 Aop 性能
修复：修复 jboot.properties 无法读取mode文件扩展的问题
优化：当未配置端口号（undertow.port）的时候，默认端口号为：8080
优化：@ConfigInject 修改为 @ConfigValue 并新增 requireNullOrBlank 配置，当读取配置文件为空的时候，是否进行强行赋值。


jboot v2.0-rc.6:
优化：把 JbootModel 的 `getIdValue()` 修改为 `_getIdValue()`，防止fastjson自动序列化会调用 get 方法出错的问题
修复：JbootModel 通过 RPC 请求数据返回客户端，然后进行 equals 会出错的问题


jboot v2.0-rc.4:
新增：注解可以通过${key}来指定读取配置的功能，支持 ${key:value} 的方式设置默认值
新增：@Inject 对配置 Model 自动注入的支持，配置 Model 应该是通过 ConfigManager 来进行初始化
新增：@ConfigInject 可以通过 @ConfigInject(key:value) 的方式进行配置，当key不存在的时候，自动使用value进行赋值
新增：onJFinalStartedBefore() 监听，可以在项目启动的时候做一些必须的初始化
新增：JbootActionHandler 新增 getAction() 方法，方便子类复写从而可以实现 "动态路由" 和 Controler 的动态添加功能
新增：工具类 FileScanner，用于对文件进行扫描和监听文件动态
新增：JbootResourceLoader，用于在 Maven 多 Module 的情况下自动对资源文件进行热加载
新增：JFinalHandlers 添加 getHandlers() 和 setActionHandler() 方法
新增：Columns 新增 or() 方法的支持，用于添加 Sql 的 OR 逻辑
新增：新增工具类 WeightUtil 用于对默认 监听器进行排序
新增：jboot.app.scanner 配置，用于对 jboot 类扫描器进行配置
优化：升级 JFinal 到 3.6 最新版本
优化：升级 JFinal-Undertow 到 1.5 最新版本
优化：升级 JFinal-Weixin 到 2.3 最新版本
优化：修改 JbootAppListener 的 onJfinalStarted() 为 onJfinalStart() ，保持和JFinal 3.6 一致
优化：save() 和 saveOrUpdate() 方法返回 Object，Object 是 Model 的主键值，方便 RPC 调用
优化：增强 SPI 功能，当未在 META-INF 定义 Service 接口的时候，可以进行 SPI 发现
优化：优化通过 Column 和 Columns 查询的时候，生成 Sql 的代码逻辑，增强性能
优化：JbootHttpKit 重命名为 HttpUtil、新增 handle() 方法，方便自定义任何的 Http 请求
优化：重命名代码生成器的模板文件，以 .tp 结尾
优化：修改资源文件路径，默认为 classPath 下的 webapp，方便多 maven module 进行热加载
优化：修改 JbootPaginateDirective 分页指令为 非抽象类，有默认设置，支持复写
优化：删除 @EventConfig 的 weight 属性，统一用 @Weight 来处理
修复: HttpUtil.downlaod() 返回内容错误的问题
修复：Swagger下载不同版本的资源文件可能导致替换url不正确的问题
修复：Swagger配置contextPath的情况下无法正确访问的问题
修复：开发模式下进行热加载的时候，会导致定时任务多次执行的问题


jboot v2.0-rc.3:
新增：JbootCache模块的空实现 NoneCacheImpl，方便通过配置关闭缓存功能
新增：Jboot 代码生成器添加排除表和移除前缀的支持
优化：当未对 RPC 模块进行配置的情况下，该功能默认关闭，不会启用dubbo等 RPC 组件
优化：更新相关依赖


jboot v2.0-rc.2:
移除 javax 的 @Inject 功能
移除 jboot.app.hotSwapClassPrefix 的配置，直接使用 undertow.hotSwapClassPrefix 配置即可
修复 代码生成器生成的代码带有 @Singleton 注解的问题
优化 @RPCInject 中的 async 和 check 的类型
优化 ClassScanner 会扫描到 JRE 的 Class 导致加载速度慢的问题


jboot v2.0-rc.1:
移除Server模块，引入JFinal-Undertow，完美支持各种热加载。
移除Hystrix，Dubbo内置降级功能、同时 DockerStack 可以很好完成。
移除Google Guice，使用 JFinal AOP 功能代替。
移除统一配置中心，Jboot 的配置来源可以是配置文件、环境变量、启动参数、Jvm等多个地方，因此通过 DockerStack 可以完成统一配置
移除opentracing，链路追踪由 DockerStack 来完成
移除网络限流模块，由 DockerStack 来完成
Jboot.me().getXXX 直接修改为：Jboot.getXxx()
升级Sharding-jdbc到3.x ，通过 Sharding-shpere 加 JFinal ActiveRecordPlugin 完美实现数据库读写分离、分库分表和分布式事务。
RPC注入和暴露修改为 RPCInject 和 RPCBean，删除RPCService
Model 进行 save() 的时候返回 Id，而不是 bool 类型，方便微服务调用的时候，直接返回ID，而不需要再次查询。
所有配置优先读取启动参数和环境变量，方便在docker、k8s 环境下做自动化部署
添加 @ConfigInject 用于对Controller、Service等属性的配置数据注入
完善 ClassScanner 机制，支持外部自定义扫描和排除
优化 Join 机制，支持 RPC 调用 Join、支持 Join 返回数据、支持 Join 自定 Model 属性，生成代码默认不再带有 Join 的代码生成 ，使 Service 更加轻便。
MQ 新增 startListener() 方法，而非是项目启动后自动监听。方便 MQ 的 Listener 做其他初始化工作。同时 MQ 支持自定义序列化等功能。