1.b.53 发行注记
Jul 10, 2017 10:38:44 AM
1.b.53 发行注记
又到金秋,距离上一个版 1.b.52 也颇有段时间了。在 wendal 的催促下(事实上他白天晚上的在QQ上催了我两个多月)终于熬到了这一天。
实际上,作为 Nutz 项目发起人的我,这两年的精力很多不在 Nutz 上,我逐渐的退化成 Nutz 的重重重度用户了。现在 Nutz 项目实际推动的人是 wendal。记得那一年(2009年),也是一个秋天,我发布了 Nutz 第15版,也是那个秋天,我遇到了wendal,那时他还年起,我也不老 …然后我们 … 厄,就一版一版的发布到现在咯。
实际上没有神奇的 wendal,这个小项目是不会走到今天的。而这些年来,我发现对于 Nutz, 我和 wendal 的交流并不很多,形式主要就是在 Issue 的回复,代码的提交,和我一直坚持写的这份发行注记上。但是效果却出奇的好,基本上印证了我很早以前的一个观点:“最好的沟通,就是不沟通”
可能有好奇的朋友会问:你精力不在 Nutz 上,在哪里呀?我只能说,请关注我最近开通的微信公众号(rain_on_sand雨打沙滩点点坑)吧,过段日子你会知道的,嘿嘿。当然,肯定也和 Nutz 有关啦。
这可能是我最后一次写 Nutz 的发行注记了,以后希望 wendal 来接替这份工作。下一个版的 Nutz 开发工作将完全由wendal 来主导(实际上之前的很多版本也都是他在主导)。我则希望自己花更多的精力在 Nutz 的推广方面。
那么既然是最后一次写发行注记,我就多说点心里话:
Nutz 的用户虽然不多,估计也就万人左右,深度用户估计也不过千人吧。但是 Nutz 却实实在在的是大家智慧的结晶。将近6年的时间,大家用一个个的补丁和bug,让这个小类库变得越来越卓岳不群。以前有几个朋友总对我说:“Nutz真的很不错,就差点包装了。” 我总是笑而不答,心说:“还不够好,包装个毛?”现在,作为它多年的用户,我可以负责任的说,这个类库真的很棒,是时候让更多的人知道它了。我想,作为 Nutz 这个小项目的发起人#0,让更多的人享用到大家智慧的结晶,是我义不容辞的责任。
不出意外的话,这个版应该是最后一个 b 版本,下一个版将升级成 r,即,下一个版本将是 1.r.54
另外澄清一下,免得不时总有朋友问:现在市面上的,无论是果壳网,坚果云,还是锤子科技刚出的坚果手机,他们统统和 Nutz 没有半毛钱关系。我们是一个自由的,松散的,独立的,写代码完全看心情的开源团体,谢谢。
———————— 上面是 zozoh 说点啥的分割线———————————————— 下面是 wendal 说点啥的分割线————————
擦,貌似我也不老吧…
这半年,首先必须提一下Nutzbook, 引导式Nutz入门指南及衍生的项目https://github.com/wendal/nutz-book-project, 据说已经是入门nutz的神器哦
然后呢, 首先感谢一下面, 他实现了一个daocache,且该插件已经在生产上运行良好,然后逼着我完成了"官方版"daocache
然后还有科技的Rk_Cms, ,大鲨鱼的NutzWk,,wukong的零售CRM,elkan1788的微信平台, 都是非常有爱的项目, 及QQ群里各种基情四射的项目和意见(或福利^_^)
另外, sqltpl的灵感来自littleant的高仿ibatis(mybatis)实现sql的集中管理.在此之前我一直觉得解析mybatis那种XML简直是噩梦.
红烧鲨鱼面 — 上面提及的几位,只有"大鲨鱼"和"面"是食材, 然后我前天在海鲜市场看到了活的小鲨鱼,而且最近半年我以面食为主,所以你懂了.
———————— Nutz 的相关资源的分隔线 —————————
- 下载地址 : http://downloads.nutzam.com/
- Nutz 的官网 : https://nutzam.com
- Github 地址 : https://github.com/nutzam/nutz
- Nutzmore地址: https://github.com/nutzam/nutzmore
- Nutzbook: http://nutzbook.wendal.net
- Git@OSC镜像 https://git.oschina.net/wendal/nutz
变更统计
417 files changed, 5275 insertions(+), 14550 deletions(-)
兼容性
- Json输出的属性顺序,现在按原生顺序输出了
- @Ok("json")的默认Content-Type变成application/json了
- 若MainModule设置了@At,但子模块没有设置@At,现在会继承MainModule的@At设置, 可以通过@At(top=true)回避
新功能
- 重新实现的NutSql,支持多个Cnd条件, Cnd条件参数化, 带数据库特定注释的Sql #887
- @Ok("re/index") return ">>:/user/login" 根据返回值来进行视图选择,同时新增ViewModel类用于传递值 #925
- Aop的ClassLoader机制改造, 使用cglib形式的解决方案, 从而解决不同ClassDefine之间的访问问题
- Daos类新增自动修改表结构的migration方法 #886
- dao.insert/update 现在支持更复杂的过滤条件, 其中insert现在支持强制插入自增主键
- DaoUp类用于解决非Web环境下创建NutDao的问题,其DaoUpTest是Dao操作的快速入门说明
- EL表达式新增内置方法uuid(32) uuid(16) urlencode base64
- 动作链的js配置支持可选处理器, 发现shiro插件时能自动加载
- NutDao进行缓存插件兼容性改造,完全兼容daocache插件了
- Web环境下用于提前初始化Ioc容器的NutMvcListener
- IocLoader可以为一个Ioc Bean了, NutIoc会自动发现并加载他们
- Ioc的Js配置文件中, 支持数组形式的变量拼接了
- MethodInvokeProcessor默认启用改进过的FastClass调用, Eclipse热代码修改不再有warning
- Pojo对象生成现在通过FastClass了
- 支持Pgsql的Json类型
- 使用Youkit改进了性能
- 快照版已经自动发布了
- 新增@Ok("jsonp"), 默认使用请求参数中的callback作为回调方法名
问题修复
- Issue 941 文档加个Test章节或者独立个Test库出来 bywendal
- Issue 936 应用事务拦截器之后,抛出的异常的类型变了 bywendal
- Issue 925 新增一个根据返回值决定最终视图的View bywendal
- Issue 918 关于注解@View 和@@Readonly的问题 byohohco
- Issue 917 dao.drop方法,如果pojo有@VIew但不存在,会出现删除table失败 bywendal
- Issue 916 FastUploading处理超长文本时会截断输出 bywendal
- Issue 907 指定json视图返回的content type 为application/json byTuWei1992
- Issue 897 多文件Form上传,配置了忽略空文件的情况下,引发的异常 byalbinhdk
- Issue 894 http.post方法指定发送内容编码为gbk,并未生效的问题 byzhanghuanle
- Issue 891 mvc传参必须@Param? bycsg0328
- Issue 889 当@One的hostField是@Id时, dao.insertWith插入关联字段的值总是0 bywendal
- Issue 888 EntityService类 update 返回void byjavanan
- Issue 887 oracle自定义sql,按索引查询,被当做注释过滤掉了。 bytxc1234
- Issue 886 根据Pojo定义自动增减数据库字段 bywendal
- Issue 885 自定义sql设置数组参数的问题 byJaynLeaew
- Issue 884 Chain.from方法会包含非数据库字段 bywendal
- Issue 883 >>重定向不支持中文 byenzozhong
- Issue 881 dao.create为Sqlserver 2005建表时Blob类型错误 bywendal
- Issue 879 未正确处理toJson中NaN的值 bywendal
- Issue 878 DaoUp — 非Mvc,Ioc环境下的使用Dao的工厂类 bywendal
- Issue 877 EL表达式的UUID支持UU32和UU64, 及添加Base64 bywendal
- Issue 875 重写Json的文档 bywendal
- Issue 873 两个连用的$.post中会解析不到数据,时好时坏,请问各位怎么解决? by516388532
- Issue 865 org.nutz.lang.Files.createDirIfNoExists(String path)无访问权限时最好能提示 bycr3at
- Issue 860 module中的url映射需求! byohohco
- Issue 855 为QuartzIocLoader在ComboIocLoader添加缩写 bywendal
- Issue 854 在动作链中添加shiro插件探测及加载 bywendal
- Issue 849 改造fetchLinks实现,使其支持缓存扩展 bywendal
- Issue 848 关于添加只构造一次Ioc容器的IocProvider的建议 byJaynLeaew
- Issue 844 讨论一下Dao的缓存实现 bywendal
- Issue 843 使用 jquery form plugin 进行ajax表单提交 表单中存在input type="file" 元素 byhzl7652
- Issue 841 Oracle 插入Blob对象失败 bywendal
- Issue 840 Json.toJson(JsonFormat.full()) 会死循环 bywendal
- Issue 837 NutMvc初始化失败时,若ioc容器已经生成,应触发depose事件 bywendal
- Issue 829 如果一个Bean实现了IocLoader接口,那自动加入Ioc的加载器列表 bywendal
- Issue 828 支持更多Http方法 byxbl
- Issue 825 缓存的相关文档在哪里 byzhangsm
- Issue 820 Scans.scan重复加载资源问题 bytalentyao
- Issue 816 这个输入框里面输入含逗号的信息,nutz自动解析为多个字符串数组 bycuker919
- Issue 815 Http类对https的处理 byRekoe
- Issue 805 Daos.exts 方法批量更新错误 byRekoe
- Issue 803 @Column 创建字段类型解析错误 byRekoe
- Issue 799 一对多的映射失败 bymajong
- Issue 767 nutz有没有像ibatis&这样的功能,按照参数组装sql byprogrammer-monkey
- Issue 755 build.bat的一点小建议 bygisphm
- Issue 662 Images.zoomScale 图片缩放,透明背景的png文件自动添加了背景色 byWizzercn
- Issue 613 sqls执行查询结果集为空 by373492364
- Issue 602 Cnd.wrap构造sql语句有问题 bylplion
- Issue 563 能否整个在线的javadoc byasterisk622
- Issue 493 Ioc的.js配置文件的Java调用问题:当java方法参数中出现负数时,启动应用异常 byconanca
- Issue 467 Cnd.where(e2).andNot(e3);不对 byzhuer0632
- Issue 442 sql文件中强制索引被当成普通注释解析 byrealcbb
- Issue 408 希望手册的json部分采用zdoc的方式发布 byywjno
- Issue 335 IOC注入格式可否支持 env:'环境变量名'/mypath/test ? bycodering
- Issue 284 filter过滤器 byjicu7766240
- Issue 282 从文件池中获取/删除一个文件,为什么要我指定后缀名呢 byconanca
- Issue 221 org.nutz.img.Images建议加个起始起始坐标点与结束坐标点 bycsg0328
- Issue 137 关于@Filters的使用方法 byRekoe
- Issue 66 1.39中dao.insert()方法,没有忽略null字段 byhappyday517
质量
共通过了 950+ 个单元测试用例,代码覆盖率达到 50+%(按行计算)
Nutz.Dao 经测试在如下数据库上可以工作正常
文档
- add: 第三方框架集成
- change: 自定义Sql
- rewrite: Json手册
- remove: 创建连接池中关于bonecp的描述,该连接池已经被其作者抛弃
- add: 大量的javadoc更新/添加
关联项目的更新
- add: daocache Dao层缓存实现
- change: shiro 权限插件更新
- change: quartz 定时任务插件更新
- add: sqltpl 模板化的自定义SQL
- add: protobuf 序列化插件
- add: freemaker及velocity的ViewMaker官方参考实现
主要贡献者名单
- 373492364
- 516388532
- JaynLeaew
- Rekoe
- TuWei1992
- Wizzercn
- albinhdk
- asterisk622
- codering
- conanca
- cr3at
- csg0328
- cuker919
- gisphm
- javanan
- jicu7766240
- lplion
- majong
- ohohco
- programmer-monkey
- realcbb
- talentyao
- txc1234
- wendal
- xbl
- zhanghuanle
- zhangsm
- zhuer0632
- 冬天的温泉
- 幸福的旁边
- 罗马钟
鲁鲁
另外,很多朋友都在:- Nutz ② 群 (68428921)超级群(推荐)
- Nutz & XBlink (58444676 超级群)
欢迎访问官网,以获取更多信息
本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用。