@@ -0,0 +1,185 @@
V1.0.1.R2014022701
1)版本创建、整理
2)版本内部发布测试
3)内部测试完成,发布
V1.0.4.R2014060901
1)fadfox.jar调整了Stringx类路径,有影响,要求版本在V1.0.4R2014060901以上
2)增加HttpSessionUser两个字段created和accessed
V1.0.5.R2014071601
1)fadfox.jar增加JSON功能和HTTPC功能,涉及到HTTPD要求调整
2)增加foxpaper功能,对页面信息进行解析
3)修改文件上传实现类HttpUpload为HttpUploader,以防止和httpclient中HttpUpload同名,不好理解
V1.0.6.R2014081901
1)增加fadtemplate模块
2)调整StringBuffer成StringBuilder
3)增加AjaxClass中响应的一种新模式,支持{"responseStatus":0,"responseText":"成功"}格式
4)修改ErrorMsg和SuccessMsg不支持http://跳转问题
5)修改_Var增加变量顺序为,如果没有局部作用域,放置到page作用域,如果有局部作用域,查询局部作用域列表有定义则赋值,否则则最内层局部作用域赋值
V1.0.6.R2015011201
1)fadfox.jar调整DateTimes类方法,有影响,要求版本在V1.0.6R2015011201以上;
2)调整模板输出不支持空行
3)支持默认flex读起跨域文件crossdomain.xml为none
4)去除模板中Hmtlx,Stringx,Listx,Validatex的调用,因为Htmls,Strings,Lists,Validates已继承这几个类
V1.0.6.R2015031401
1)对context.xml的action的return参数改为redirect,重新定义return表示是否转向=true表示不处理template和redirect
2)对ActionForward和FoxHandler作了一下调整,增加强制处理错误和成功信息的判断
V1.0.7.R2015040901
1)计划增加fadfox.js,统一版本到1.0.7
2)支持ajax,window,tooltips,drag,input等
v1.0.7.R2015042101
1)修改AjaxClass中原来"未知错误"的BUG
2)修改AjaxClass支持先判断class是不是Action,如果是直接取Action的单例
3)发布fadfox_1.0.3R2015042101.js和对应的fadfox_ajax.js,fadfox_calendar.js,fadfox_dialog.js,fadfox_tooltip.js,fadfox_input.js等
4)删除原来的successMsg.fox和errorMsg.fox的定义,直接在FoxHandler中处理
5)Styles.bodyOverflowHidden改为Styles.htmlOverflowHidden,增加Styles.htmlOverflowScroll表示overflow-y:scroll
V1.0.7.R2015052001
1)修改AjaxClass支持对Interceptor中设置redirect,在fadfox_ajax.js中重定向
2)增加request.setAttributeAjaxResult中responseStatus不支持小于0和不支持100-699之间
V1.0.7.R2015052501
1)支持多个配置*context.xml文件和多个宏*macro.ftl文件
2)FVariable支持instance=new/global, global表示读取Global中的实例,这样可以保证单例
V1.0.7.R2015060101
1)修改HttpSessionUser原为interface,改为class
V1.0.8R2015060901
1)整理成V1.0.8
2)增加组件的支持
3)修改context.xml和格式,支持配置组件、宏定义和多个context.xml文件
4)修改HttpAccessLog中目录创建,改成递归创建
V1.0.8.R2015061701
1)修改Scripts.isNumericLen()方法中的BUG
2)在HttpSessionUser上增加参数列表,通过getValues,getValue,setValue,removeValue,hasValue进行管理
V1.1.0.R2015072901
1)修改cookie设置的BUG
2)调整server,listner,支持虚拟主机的配置
3)拆离template出来,成立新的项目fadfox_template.jar
4)修改原*.fox为/service/*目录,方便nginx等对路径进行转化
V1.1.0.R2015082501
1)增加HttpResponse中的addCookie方法
2)增加@RmiAnnotation,对RMIService和AjaxService进行改造
3)根据fadfox.jar整理成该版本
V1.1.1.R2015091401
1)使用JDK1.7编译
2)增加在RMI/AJAX时,先使用@ClassShortName检查是不是类简称
V1.1.2.R2015093001
1)要求使用V1.1.2版本的fadfox.jar
2)删除Variable,Rule的配置,暂时没有删dtd的说明
3)修改for调用方式,合并Documents到Xmlx中,删除dtd的说明,改为v1.1.0,增加forward
V1.1.3.R2015112501
1)整理版本,用于生产系统
2)根据FTimer改动修改的版本
3)修改fadfox_drag.js
V1.1.3.R2016010701版本:
1)修改查找Action顺序的BUG,改为按getContextListAll()进行查找
2)修改fadfox_dialog.js中F.prompt方法中$input获取路径错误的BUG
3)修改fadfox.js中Draggable中callback未传值时回调的BUG
4)优化fadfox_drag.js
5)修改fadfox.css中radio在IE浏览器中高度和背景为白色的BUG
6)修改IE11,两次请求user_agent不同导致session无法保存问题
V1.1.4.R2016020301
1)春节前整理版本号
2)修改fadfox_clipboard.js支持增加offsetLeft,offsetTop,offsetWidth,offsetHeight,background等属性
3)修改fadfox.js对offsetLeftAbs,offsetTopAbs修改支持IE和chrome加边框
V1.1.5.R2016050301
1)把资源部分拆出到fadfox_res.jar中,方便和fadfox_servlet.jar共享
V1.2.0.R2016072101版本:
1)调整包名com.zhiqim.fadfox.fadhttpd为com.zhiqim.fadfox.httpd,原来的fadhttp不好理解,现在正式使用httpd作为该产品的名称
2)调整包名com.zhiqim.fadfox.foxcontext为com.zhiqim.fadfox.httpd.context,表示context是httpd的一部分,原来分为两部分不好理解
3)增加HttpConnection, HttpContext, HttpRequest,HttpResponse修改成接口
4)调整原实现HttpConnection, HttpContext, HttpRequest,HttpResponse到bio包内,修改为HttpBioConnection等,为后续增加aio作准备
5)增加HttpHeader、HttpSender和HttpBioHeader、HttpBioSender,用于静态文件时无需创建复制的HttpRequest和HttpResponse的session,cookie,parameter等
6)调整包com.zhiqim.fadfox.http.context.validate到fadfox.jar中,并删除Validate类中的HttpRequest关联
7)删除ActionForward文件,修改Action类的execute方法只有HttpRequest一个参数,ActionForward的功能并入到HttpRequest。HttpResponse不大常用,如果需要用,可以从request.getResponse获取。
8)修改原FoxContext等命名为FtmlContext,统一使用Ftml命名,表示该上下文环境是FTML的上下文环境,原HttpContext改为StaticContext表示静态文件上下文环境
9)增加Context的接口,为fadfox_httpd_servlet.jar作适配用,如果需要把工程放置到Tomcat等容器下,只需增加fadfox_httpd_servlet.jar即可
10)增加@AnAction的支持,在Action类上,或SwitchAction的子类的方法上定义@AnAction,设置好actionPackage属性即可作到无需context.xml实现零配置,当然规约上还是要求context.xml的
11)修改原@RmiInterceptor为@AnInterceptor,@RmiNotFilter为@AnFilterNot等。支持配置在类和方法上,当类上有时,方法上可以不需要定义,如果方法不需支持类的,则加上@AnInterceptorNot作为例外设置
V1.2.1.R2016100801
1)删除ActionExecutor和ViewExecutor,合并到FtmlExecutor
2)修改原定义的viewExt配置为patternUrl,默认值修改为*.ftml,*.ftm,*.htm
3)修改验证码/service/vcode.jpg的展示,调整验证码sessionName原为vcode,修改为_vode_
4)增加action中配置include字段,用于嵌套模板
V1.2.2.R2017010101
1)配合fadfox.jar调整HashMap<String, Object>为FHashMapSO
3)增加只提供RMI服务时无需配置resourceType,resourcePath
4)全面调整配置文件中配置项的规范,包括修改serverName为listen.domain,并支持多个
5)全面优化配置文件中加载顺序和管理,新增类FtmlConfig
6)优化Attribute读取顺序,优先顶级配置,再次根context.ftml配置,再次根context.xml,再次组件context.xml
7)优化Action读取顺序,优先根context.xml配置,再次根actionPackaget,再倒序循环组件
8)控制断点续传后的文件访问时最大不超时8M
9)删除AnStatic的支持
10)修改sendRedirect时也写入sessionId到cookie
V1.3.0.R2017022701
1)调整验证码功能,默认高度和f-input相等28px
2)增加request.setValidateConfirm和request.setValidateGray设置验证确认信息和是否提交变灰
3)修改request中验证,默认非firefox变回不需要回退,firefox需要F && F.onload时才支持变灰
4)修改AnInterceptor, AnInterceptorNot为AnIntercept, AnInterceptNot,预留AnInterceptor用于拦截器定义
5)修改Session.getSessionValidateCode为Session.getSessionVerificationCode,单词VerificationCode更准确
6)删除validateScript的变量支持,请使用request.getValidateScript()方法
7)删除request.setAttributeNoHtmlFilter方法,修改request.setAttribute为不作过滤,过滤任务在模板中使用#{}
8)修改响应头reason增加Urls.encodeUTF8(reason)
9)增加/service/rmi和/service/ajax对表单方式的提交处理
10)迁移/service/upload(原大文件断点续传)和FadfoxUploader组件中,并修改为/service/uploadlarge,同时调整修改原/service/uploadone为/service/upload
11)修改SwitchAction,从V1.2.0开始三参数变一参数时的BUG
V1.3.1.R2017052801
1)修改Asserts.asserts为Asserts.as()方法,使用三目运算断言,防止断言为真时需要初始化无意义的断言失败字符串
2)修改HttpRequest方法getSessionUser(Class<T>),增加<T extends HttpSessionUser>约束
V1.3.2.R2017080501
1)增加Chunked支持,配置最大2M/最小4K,采用chunked时暂不支持gzip
2)修改大文件下载时浏览器停止、关闭导致SocketException时,错误日志没必要打印,影响业务定位问题
3)修改RmiService针对form表单提交不作字段检查密码#号AJAX使用form表单时不能修改BUG
4)修改context.ftml中的变量定义支持完整表达式,原来只支持原型表达式和变量表达式
5)修改returnCloseDiaolog时,配置fadfox_res.jar作立即关闭,防止闪屏
6)增加f-call-iframe的支持,通过iframe提交表单和访问URL,保障有出错信息时,本页面不变化。
7)配合20170927的fadfox.jar版本,支持(F || window).alert
8)修改f-call-iframe中form参数frameTarget为fCallFrame=true, formIndex为fFormIndex
9)增加对话框中的请求识别,参数为fDialogFrame=true
10)增加request.setContentTypeNoCharset方法,表明contentType只支持mimeType,不需要charset
V1.3.3.R2017110601
1)增加/service/rmi的处理中内置对象(context、session、sessionUser、log)的处理
2)修改UploadService中文件上传时指定目录的BUG
3)增加对Action方法上AnTransaction的检查
4)修改request.addParam(String, String)为request.addParam(String, Object)
V1.4.0.R2018010101
1)正式启用ZhiqimHttpd名称,原所有Fadfox改为Zhiqim,原所有fadfox改为zhiqim,原所有FADFOX改为ZHIQIM,原com.zhiqim.fadfox改为org.zhiqim.kernel
2)转移Scripts,Scriptx,Styles到org.zhiqim.httpd.util
3)转移org.zhiqim.kernel.validate到org.zhiqim.httpd.validate
4)优化returnFrame页面,这里不需要zhiqim.js的支持,取parent.Z
5)转移bootstrap的处理,由原来在httpd.xml中配置,修改为在context.xml中配置,当前如果未配置取最后一个组件的bootstrap
6)转移websocket的处理,由原来在httpd.xml中配置,修改为在context.xml中配置,组件内websocket配置独立,通过@AnAlias(protocol)对应websocket类
7)增加对/zres/*的处理,表示组件内的资源文件,优先于context.xml的处理
8)增加对HTTP上下文中的contextXml的配置
9)增加上传时HttpUploader回传参数到cntParamMap中
10)增加Scripts.doReloadParent等方法
11)增加对成功和失败的消息判断
12)整理对ZhiqimML的支持,统一使用ZML代替Template的定义
13)增加getAttribute时,当为_Var支持ZmlVarRuntime运行时读数据
14)修改一个监听对应的所有HttpServer都关闭的时候,没有关闭监听的BUG
15)Class.forName修改成Classes.forName,防止ClassLoader不准确
16)修改zhiqim_context.xml组件配置resourcePath为path,删除actionPackage,改在context.xml配置属性,类似于bootstrap和websocket的配置
17)修改为只有根context才加载组件,组件不检查依赖组件
18)修改HttpSender对非chunked时重设contentlength, FileResourceEntity,ClassResourceEntity设置contentlength
19)增加request.isMicroMessager()判断是否是微信中的浏览器
20)增加request.isMobile()对MicroMessager的判断,如果有,也认为是mobile
21)增加request.getZhiqimClientType()和setAttribute("zhiqimClientType", "www":"mobile")方法
22)修改ZmlContext中initContext方法中,config.create失败的情况下,退出程序
23)增加HttpSessionManager中public List<HttpSessionUser> getSessionUserList(Class<?> clazz);public PageResult<HttpSessionUser> getSessionUserPage(int pageNo, int pageSize, Class<?> clazz);方法
24)增加对isMobile时zhiqim.mobile.css/js的检查,修改action加载时出错未退出工程的BUG
25)修改if (F && Z.onload)的判断未改到的F的BUG
V1.4.1.R2018052801
1)增加静态文件过期时长配置expire
2)增加cookie.domain/cookie.port/cookie.path的配置,以支持虚拟目录/子域名使用相同的COOKIE
3)修改配置命名useCookie修改为cookie.use, matchType修改为pathExactPrior, sessionManager/sessionIdName/sessionTimeout/sessionParameter修改为session.manager/session.idName/session.timeout/session.parameter
V1.5.0.R2019010101
1)修改工程名为zhiqim_httpd,采用zhiqim_kernel_v1.5.0_r2019010101库
2)修改默认配置文件名为/conf/config.xml和/conf/config.zml
3)增加配置文件中sessionUser列表,和action中增加tips,sessionUser项,修改alert为success
4)增加request.getParameterMatch(index)对应的方法
5)删除AIO的处理方式,整理BIO/NIO公共方法到抽象类中,默认BIO,使用Nginx作代理时,建议配置成BIO,因为Nginx默认采用HTTP/1.0协议
6)全面优化websocket在BIO/NIO三种IO下的处理方式
7)修改request.getSessionUser()当session中只有一个sessionUser时返回该值,多个时返回null
8)修改action,允许不指定sessionUser,默认取只有一个sessionUser的情况,多个时抛异常
9)增加加载config.xml时异常抛出异常和文件路径
10)整理HttpRequest/HttpResponse公开的方法,修改BIO合并NIO时的未关闭连接的BUG
11)修复HttpWebsocketMessage/HttpWebsocketMessageAsync中的对mask=false的BUG和length可能为0时isClose无内部的BUG
12)修改为Threadx处理方式,修改Tasker的继承为实现Task,定时任务Timer/Every改为Interval等
13)执行程序和源码分开打包