Play 3.0.2
*于 2024 年 3 月 1 日发布
Play 2.9.2
*于 2024 年 3 月 1 日发布
Play 3.0.1
*于 2023 年 12 月 19 日发布
Play 2.9.1
*于 2023 年 12 月 19 日发布
Play 2.8.21
*于 2023 年 11 月 9 日发布
Play 3.0.0
*于 2023 年 10 月 25 日发布
Play 2.9.0
*于 2023 年 10 月 25 日发布
Play 2.8.20
*于 2023 年 7 月 18 日发布
Play 2.8.19
*于 2023 年 1 月 13 日发布
Play 2.8.18
*于 2022 年 10 月 17 日发布
Play 2.8.17
*于 2022 年 10 月 6 日发布
Play 2.8.16
*于 2022 年 6 月 2 日发布
Play 2.8.15
*于 2022 年 3 月 31 日发布
Play 2.8.13
*于 2022 年 1 月 11 日发布
Play 2.8.11
*于 2021 年 12 月 1 日发布
Play 2.8.8
*于 2021 年 4 月 8 日发布
Play 2.8.7
*于 2020 年 12 月 14 日发布
Play 2.7.9
*于 2020 年 12 月 14 日发布
Play 2.8.6
*于 2020 年 12 月 10 日发布
Play 2.7.8
*于 2020 年 12 月 10 日发布
Play 2.8.5
*于 2020 年 11 月 9 日发布
Play 2.8.4
*于 2020 年 11 月 5 日发布
Play 2.7.7
*于 2020 年 11 月 5 日发布
Play 2.8.3
*发布日期:2020 年 10 月 26 日
Play 2.7.6
*发布日期:2020 年 10 月 26 日
Play 2.8.2
*发布日期:2020 年 5 月 21 日
Play 2.7.5
*发布日期:2020 年 5 月 20 日
Play 2.8.1
*发布日期:2020 年 1 月 31 日
Play 2.8.0
发布日期:2019 年 12 月 12 日
Play 2.6.25
发布日期:2019 年 12 月 6 日
Play 2.7.4
发布日期:2019 年 12 月 4 日
Play 2.7.3
发布日期:2019 年 6 月 19 日
Play 2.6.24
发布日期:2019 年 10 月 16 日
Play 2.6.23
发布日期:2019 年 5 月 14 日
Play 2.6.22
发布日期:2019 年 5 月 2 日
Play 2.7.2
发布日期:2019 年 4 月 25 日
Play 2.7.1
发布日期:2019 年 4 月 18 日
Play 2.7.0
发布日期:2019 年 2 月 1 日
Play 2.6.21
发布日期:2019 年 1 月 8 日
Play 2.6.20
发布日期:2018 年 10 月 8 日
Play 2.6.19
发布日期:2018 年 9 月 10 日
Play 2.6.18
发布日期:2018 年 8 月 20 日
Play 2.6.17
发布日期:2018 年 7 月 19 日
Play 2.6.16
发布日期:2018 年 7 月 16 日
Play 2.6.15
发布日期:2018 年 5 月 27 日
Play 2.6.14
已发布但未公布。Play 2.6.14 已发布,但我们遗漏了一些内容,因此我们发布了 Play 2.6.15 代替。
Play 2.6.13
发布日期:2018 年 4 月 6 日
Play 2.6.12
发布日期:2018 年 3 月 2 日
Play 2.6.11
发布日期:2018 年 1 月 11 日
Play 2.6.10
发布日期:2017 年 12 月 21 日
Play 2.6.9
发布日期:2017 年 12 月 8 日
Play 2.6.8
未发布。此版本未发布一些工件,因此不应使用。
Play 2.6.7
发布日期:2017 年 11 月 1 日
Play 2.6.6
发布日期:2017 年 10 月 5 日
添加对 sbt 1.0 的支持
Play 2.6.5
发布日期:2017 年 9 月 14 日
Play 2.6.4
未发布。请勿使用此版本。请改用 Play 2.6.5 或更高版本。
Play 2.6.3
发布日期:2017 年 8 月 12 日
Play 2.6.2
发布日期:2017 年 7 月 19 日
Play 2.6.1
发布日期:2017 年 7 月 6 日
Play 2.6.0
发布日期:2017 年 6 月 23 日
- Akka HTTP 现已成为默认服务器后端。我们仍然会支持 Netty 服务器 后端,但计划在 Akka HTTP 上实现大多数新功能。
- Akka HTTP 上的实验性 HTTP/2 支持。
- 不再内部使用全局应用程序实例 (
Play.current
)。它现在已弃用,可以使用play.allowGlobalApplication = false
完全禁用。 - 请求属性 用于将任意类型的数据附加到请求
- Twirl 模板现在可以拥有一个构造函数来传递应用程序依赖项。这允许使用可注入模板
- 在 Java 和 Scala API 中都支持 SLF4J 标记,以及一个用于安全相关操作的特殊安全标记。
- 在 Scala API 中改进配置,使用类型类读取任意类型,并删除了 Java 配置 API,转而使用标准的 Typesafe
Config
。 - 支持Java 中的编译时依赖注入,允许您在没有 Guice 或任何依赖注入框架的情况下在 Java 中创建完整的 Play 应用程序。我们有一个使用 Dagger 2 的示例
- Play WS 现在是一个单独的模块,并且包含一些有用的改进,包括 HTTP 缓存支持。
- 完全支持 Scala 2.12
Play 2.5.19 “Streamy”
发布日期:2018 年 8 月 17 日
Play 2.5.18 “Streamy”
发布日期:2017 年 10 月 5 日
Play 2.5.17 “Streamy”
发布日期:2017 年 9 月 22 日
Play 2.5.16 “Streamy”
发布日期:2017 年 7 月 19 日
Play 2.5.15 “Streamy”
发布日期:2017 年 5 月 18 日
- 7358: 解锁 Akka 2.5 升级
- 7345: 确保 context.withRequest 保持原始会话和闪存
- 7321: 第 85 行,将“It”改为“In”
- 7305: 错别字“You should se your changes..” => “You should see your changes..”
- 7272: 删除对
play
命令的引用 - 7247: 回溯“删除 FileInputStream/FileOutputStream”
- 7245: 将 DB.getConnection 替换为 db.getConnection
- 7241: 使禁用反向路由成为可能 (#7189)
- 7123: 解决问题 #6041
- 7239: 添加 play-webpack 插件信息
- 7237: 链接到 sbt-native-packager 1.1.5 文档 (#7217) (#7227)
- 7219: 将 RoutingDsl 中 Result 的 Http.Context 更改包含在内 (#7214)
Play 2.5.14 “Streamy”
发布日期:2017 年 4 月 6 日
- 7200: 升级 akka 和 akka-http
- 7182: 升级 logback 依赖项以修复单元测试中的 5 秒延迟
- 7129: 对 SBTDependencies.md 中的措辞进行小幅修正
- 7126: 修复使用 validate() 时关于空列表的声明
- 7080: 使 play.Environment 可注入
- 7077: 将 CRSF.getToken 更改为 CSRF.getToken 的拼写错误修复
- 7057: WebSocket 端点对 HEAD 请求返回 400
- 7029: 修复空查询字符串解析
Play 2.5.13 “Streamy”
发布日期:2017 年 3 月 10 日
- #7040: 添加 @helper.repeatWithIndex(…) 助手
- #7033: 修复 XHTML MIME 类型
- #7013: 在 Migration25 中添加关于 Lucidchart 博客的说明
- #6966: 修复文档代码 NPE
- #6954: 将 Typesafe Config 更新为 1.3.1
- #6934: 使用有关 sbt new 的更多信息更新文档
- #6948: 删除与 activator 相关的图像
- #6944: 将 Scalate 添加为 Play 支持文档的库
- #6933: 将不可变标头添加到 aggressiveCacheControl
- #6925: 将 sbt-native-packager 升级到最新的稳定版本
- #6874: 更新 Deploying.md
- #6908: 删除不必要的 println 调用
- #6906: 将 play-guard(Scala)添加到模块目录
- #6850: 文档中模块目录中对 play-redis 模块的引用
Play 2.5.12 “Streamy”
发布日期:2017 年 1 月 22 日
- 6904: 添加 httpcore 依赖项
Play 2.5.11 “Streamy”
发布日期:2017 年 1 月 20 日
- 6901: 升级 Apache httpclient 依赖项
- 6839: 从我们的 uri 中解析路径和查询字符串
- 6883: 在压缩时保留标头、cookie、闪存和会话
- 6897: 修复 cookie 最大年龄计算
- 6861: 为 JPAEntityManagerContext 添加显式绑定
- 6860: 使用 Json.mapper().getFactory() 而不是创建新的 JsonFactory StatusHeader.sendJson
- 6842: 修复 2.5.x 中的 mima 问题
- 6840: 修复 configError 处的编译错误
- 6824: 在 Configuration.configError 中处理空 ConfigOrigins
- 6800: 只创建一次 ValidatorFactory
- 6799: 在 play.db.jpa.DefaultJPAApi.JPAApiProvider 中添加对 play.db.DBApi 的依赖
- 6780: 加载日志记录器配置器类时使用正确的类加载器 (#6779)
- 6655: 修复文档中的 activator 路径
- 6665: 更新 ModuleDirectory.md
- 6768: 更新到 Akka 2.4.14,materializer 不是公共 API 并且略有更改 (#6767)
- 6762: 将 java akka 文档中的“method”重命名为“field” (#6751)
- 6714: 更新 Tutorials.md
Play 2.5.10 “Streamy”
发布日期:2016 年 11 月 17 日
- 6748: 更新依赖项
- 6741: 更新教程页面
- 6726: 使用新的可靠图像用于 travis
- 6731: 修复具有可选引号的多部分表单数据部分
- 6730: 从文档中更改已弃用的“application.secret”
- 6711: 为 Java i18n 类添加绑定
- 6720: 修复文档错误(使用 noop setContentType)
- 6698: 在转发头中解析 IPv4 映射的 IPv6 地址
- 6682: 通过删除异常消息上的正则表达式来修复 NettyIdleClientTimeoutSpec
- 6684: 将 Timeout 特性添加到 play.api.libs.concurrent (#6459)
- 6697: 添加 Play Pagelets
- 6693: 文档:阐明子 Actor 如何获取其名称
- 6678: 在 Action#asJava 中使用 trampoline EC
- 6673: 使用 Akka ExecutionContext 执行操作
- 6669: 总结 JSON 包并提供相关链接
- 6619: 从 filters-helpers 中删除 play-java 依赖项
- 6668: 修复 sbt-native-packager 文档中对默认映射的引用 (#6664)
- 6637: 在文档中淡化 activator 并参考示例模板
- 6650: 对文档进行更多澄清,以解释 Play 的 DI 系统如何工作
- 6614: 在 DefaultHttpErrorHandler 初始化时不要抑制可抛出对象
Play 2.5.9 “Streamy”
发布于 2016 年 10 月 8 日
- 6631: 回溯文档映射
- 6594: [文档] 添加从 main 使用 WS 的示例
- 6627: 更新流式 HTTP 响应文档
- 6617: 将 HikariCP 更新到 2.5.1
- 6597: 修复使用查询参数的失败演变
- 6587: 修复不正确的级别标题 (#6585)
- 6553: 更新 JavaActionsComposition 文档 - Action.call 不会抛出异常
- 6560: 恢复查询字符串中的矩阵参数
- 6564: 修复测试中不安全的 WS 客户端使用
- 6575: 修复 #4695 (#6571)
Play 2.5.8 “Streamy”
发布于 2016 年 9 月 14 日
Play 2.5.7 “Streamy”
发布日期:2016 年 9 月 12 日
- 6520: 在路由文档中记录默认控制器
- 6531: 修复将大十进制数序列化为 json (#6530)
- 6541: 添加关于开发时使用 h2 的说明
- 6534: 修复 netty 上的 websockets
- 6529: 修复 netty 4.0.40.Final 的 uri 编码/解码
- 6521: 小幅补充:添加超时类型
- 6522: 如果出现错误,则终止 jvm
- 6515: 更新模板插件
- 6502: 从 actorflow 中删除 println 消息
- 6490: 更新 Installing.md
Play 2.5.6 “Streamy”
发布日期:2016 年 8 月 23 日
- 6481: 将 akka 升级到 2.4.9
- 6477: 修复 Clever Cloud 部署文档中的配置文件名称
- 6475: 修复默认模板中的小错误
- 6457: 为路由文档添加更多说明
- 6470: 当调用 Play.stop(app) 时,不会调用停止钩子 (#6469)
Play 2.5.5 “Streamy”
发布日期:2016 年 8 月 18 日
- 6458: 修复 2.5.x 分支
- 6441: 使用测试主体调用操作时设置内容长度。
- 6455: 确保自定义签名计算器在 Java 中有效
- 6453: 添加 ServerResultUtils#validateResult 的测试,以确保对 1xx、204 和 304 响应发送空主体
- 6452: 添加关于 HTTP 执行上下文的说明
- 6449: 现在在开发模式下,关闭钩子将被正确调用 (#6437)
- 6442: 在示例中添加换行符以减少水平滚动 (#6439)
- 6435: 修复 #5384 - 支持 JSON 宏的泛型 case class
- 6421: evolutions 中的 applied_at 填充为时间戳 (#6420)
- 6409: 禁止用户为 1xx、204 和 304 响应发送消息正文和 Content-Length 头字段
- 6407: 修复 #6131 (#6284)
- 6406: 阐明生成的路由中参数编码的工作原理
- 6389: 从 play-scala 模板中删除 scalaz 仓库
- 6391: 当 checkEvolutionsDtate() 中出现问题时关闭泄漏的连接
- 6392: [文档] 添加 SIRD 路由文档
- 6395: 从默认配置中删除文件日志追加器 - 修复 #6361
- 6394: 为 Java 添加委托文件部分处理程序 (#6369)
- 6381: 避免在写入 JSON BigDecimals 时出现 OutOfMemoryError
- 6375: 更新 2.5.x 的依赖项
- 6374: 添加了有关生产环境变量的建议
- 6371: 修复 HttpRequestHandler 文档以添加 JavaHandlerComponents
- 6357: 为 java api 添加异步 try-with-resources
- 6366: 在 Results.Redirect(call, status) 中追加片段
- 6362: 修复 #6351 使 sendFile 的 onClose 参数再次起作用
- 6363: 重定向时追加片段(使用 Call.path 而不是 Call.url)
- 6355: 更新 JavaRoutingDsl.md
- 6335: 添加一个关于 FakeRequest 解释的示例
- 6346: 修复了 scala 文档中不正确的配置引用 #6341
- 6344: 修复文档错误
- 6337: 修复文档中不正确的表单 mime 类型
- 6331: 清理 AssetsLess.md 中的“其他”文件
- 6327: 修复范围结果模式匹配错误
- 6330: 修复 #6318 使关于自定义对象映射器的文档更完善
- 6326: 修复 #6271 删除 PlayHttpContentDecompressor
- 6138: 添加选项以防止 Play 创建绑定缓存
- 6317: 修复 #6316 编码将应用于 asXml
- 6272: 即使表单有错误,也设置表单值
- 6291: 在 DEV 模式下不要尝试使用最小化资产
- 6273: 通过环境变量中的 PLAY_EDITOR 读取 play.editor 作为回退
- 6311: 升级到 Akka 2.4.8
- 6306: 2.5.x 回溯 #6289: 应用 Netty 的 cookie 编码器/解码器更新。
- 6274: 通过纠正终止消息上的模式匹配来修复 #5838
- 6283: 修复 play.mvc.Result#charset() 中的解析
- 6288: 在发送 JSON 结果时验证字符集 (#6287)
- 6281: 修复 WS 文档中的拼写错误
- 6257: 通过自定义 HttpContentDecompressor 来修复 #6152
- 6269: 修复拼写错误
- 5270: 更新 application.conf
- 6262: 修复版本模式
- 6256: 更新 2.5.x 依赖项
- 6249: 添加对 java.time 类型 Form 映射的支持
- 6241: 建议:验证与 2.5 系列中所有补丁版本的二进制兼容性
- 6233: 更新 play-json DefaultInstantReads 文档
- 6243: 从 iteratees 中删除 logback 依赖项。修复 #6242
- 6238 修改:流收集器以生成正确类型的数组,而不是强制转换数组结果
- 6239 将 slf4j 次要版本升级到以修复内存泄漏问题 (SLF4J-364)
Play 2.5.4 “Streamy”
发布日期:2016 年 6 月 9 日
- 6231: [文档] 回溯教程
- 6230: 修复 RequestBuilder 参数的双重编码
- 6226: routesGenerator 配置的 Build.scala 导入
- 6222: 更新到 2.5.x (play.routing.JavaScriptReverseRouter)
- 6216: 在 play ws ssl 配置解析器中添加警告 (#6179)
- 6214: 说明如何将 evolutions 与编译时 DI 一起使用
- 6194: 修复开发模式下生成的代码到原始源位置的映射
- 6206: 使用内置的 typesafe Repo 解析器
- 6210: 更好的 Result 错误处理
- 6208: 确保约束保持声明顺序
- 6192: 在 AddCSRFToken 中正确设置底层请求
- 6130: 仅显示与使用验证组匹配的约束
- 6202: 添加一个示例,展示自定义 FilePartHandler
- 6197: 修复对 FrameFormatter 的引用
- 6201: 将 netty-reactive-streams 更新到 1.0.6
- 6195: 正确转发持久化单元名称
- 6187: 添加了有关模块的更多文档 (#6185)
- 6150: jdbcdslog 现在在连接池/数据源级别启用
- 6169: 文档修复:Action 不应该再是静态的了
- 6170: 修复 #4796 禁用 jsse 并为 acceptAnyCertificate 添加一个宽松的上下文
- 6165: 对记录媒体范围解析错误的谓词取反
- 6164: 在 EvolutionsApi 中关闭准备好的语句
- 6158: 添加注释指出 WebSocket 未实现 SOP
- 6143: 修复 #6133 为路由提供者添加了一些文档
- 6160: 清理规范代码中的弃用警告
- 6155: 更新 JDK 1.8 的 API 并添加链接
- 6154: 从文档中删除对 DB.getDatabase() 的引用
- 6148: 将环境定义移到代码示例中
- 6146: [doc] 替换指向 Jackson 文档的无效链接 (#5953)
- 6137: 将 Play I18n HOCON 模块添加到模块目录
- 6136: 添加关于使用自定义 ApplicationLoader 的 LoggerConfigurator 的说明 (#6136)
- 6134: 在 PlayException interestingLines 中修剪 \r
- 6125: 表单中的 Group(s) 应该接受数组/可变参数
- 6005: 使用 logger.url 系统属性进行日志配置
- 6122: 文档:修复错别字
- 6119: Supplier 返回类型;它不接受参数
- 6114: 在文档中优先使用构造函数注入
- 6117: 提供创建 HttpFilters 的助手
- 6112: 简化 logback 依赖项
- 6113: 文档中 ErrorHandlers 应该是单例
- 6106: 删除 TestingWebServices 文档中对已弃用 API 的冗余调用
- 6103: 修复 @deprecated 注解
Play 2.5.3 “Streamy”
发布日期:2016 年 4 月 27 日
- 6050: 将 Akka 升级到 2.4.4 版本
- 6051: 将 withCookies 添加到 Java Result API
- 6052: 范围请求的可选实体长度
- 6053: 重构以使用 Java 8 流 API
- 6058: 在提供资产时不要添加 Content-Disposition 标头
- 6068: 文档修复:在消息中正确查找验证错误
- 6069: 修复/改进 ning 弃用消息
- 6072: 即使完整的 URI 无效,也能正确获取主机
- 6077: 允许请求过滤器修改出站请求
- 6080: 更新编译时 DI 文档
- 6083: 处理空响应头
- 6087: 将 async-http-client 升级到 2.0.2 版本
- 6092: 支持 Content-Disposition 标头中的非 ISO8859-1 文件名
- 6093: 如果路径为空,则触发 400 错误
- 6095: 当表单或字段中的变量为空时,不要抛出 NPE
Play 2.5.2 “Streamy”
发布日期:2016 年 4 月 14 日
- 5974: 为 2.5.x 添加 idleTimeout 支持
- 5982: 更好的 Accumulator.flatten 实现
- 5984: 将 Akka 升级到 2.4.3 版本
- 5995: 范围请求支持
- 6003: 允许为 StreamedBody 指定 Content-Length 头部
- 6009: 添加对 play.editor 设置的检查
- 6022: 在 WebSocketHandler 中用 GraphStage 替换基于 PushStage 的方法
- 6031: 不要在 LogbackLoggerConfigurator 中捕获异常
- 6032: 修复 Akka 服务器中的头部解析
- 6037: 将 AsyncHttpClient 升级到 2.0.0
Play 2.5.1 “Streamy”
发布日期:2016 年 3 月 29 日
- 5860: 确保数据部分不会花费 5 秒钟来解析
- 5963, 5899: 更新 netty-reactive-streams(修复 5821, 5874)
- 5926: 确保为 Java WebSocket 方法设置 Context
- 5856: 修复由 BuiltInComponents 提供的运行时注入器,以便 Crypto 可注入
- 5920: 修复 Java FormUrlEncoded 解析器中的默认字符集
- 5698: 添加用于 POST multipart/form-data 的 WS 方法
Play 2.5.0 “Streamy”
发布日期:2016 年 3 月 4 日
- 将所有异步 IO 和流从 iteratees 切换到 Akka 流
- 用 Java 8 函数类型(如
CompletionStage
和Optional
)替换 Play 函数类型(如Promise
和Option
) - 为以前仅存在于 Scala API 中的功能引入了等效的 Java API,例如实现过滤器和自定义主体解析器
- 性能提升高达 20%
Play 2.4.11 “Damiya”
发布日期:2017 年 3 月 10 日
#7004: 204/304 响应也应触发主体上的 onDoneEnumerating
#7039: 修复构建测试
#7048: 修复依赖冲突
Play 2.4.10 “Damiya”
发布日期:2017 年 1 月 22 日
- 6904: 添加 httpcore 依赖项
Play 2.4.9 “Damiya”
发布日期:2017 年 1 月 20 日
- 6902: 升级 Apache HTTP 客户端
- 6213: 修复在开发模式下运行时发生运行时错误时生成的源位置映射到原始源位置
- 6824: 在 Configuration.configError 中处理空 ConfigOrigins
- 6595: 2.4.x 回溯以修复问题 #6272
- 6498: 将 specs2 升级到 3.6.6
- 6480: 修复由空闲超时支持引起的线程泄漏
- 6457: 为路由文档添加更多说明
- 6406: 阐明生成的路由中参数编码的工作原理
- 6365: 重定向时追加片段(使用 Call.path 而不是 Call.url)(#6363)
- 6269: 修复拼写错误
Play 2.4.8 “Damiya”
发布日期:2016 年 6 月 22 日
- 6260: 在 JS 反向路由器中转义字符串
Play 2.4.7 “Damiya”
发布日期:2016 年 6 月 20 日
- 6223: 更好的结果错误处理
- 6240: 2.4.x 回溯 #6235:将 slf4j 次要版本提升以修复内存泄漏问题(SLF4J-364)
- 6165: 对记录媒体范围解析错误的谓词取反
- 6083: 处理空响应头
- 4860: 在 Classpath 中的 Reflections 工厂中添加 SubTypesScanner
- 5612: 改善何时显示日志记录配置弃用消息的情况
- 5764: 将 zip 协议添加到 isDirectory
- 5948: 为 Netty 添加 idleTimeout 支持
- 5945: 当 Crypto 范围内没有应用程序时显式抛出错误
- 5940: 升级到 AHC 1.9.36
- 5723: 使 CORS 过滤器将 http 和 https 视为不同的来源
- 5673: 更新 ProductionConfiguration.md
- 5692: 使 Akka.system 使用应用程序上的系统字段
- 5228: 仅在 oauth 签名时解析表单主体
- 5629: 将 2.4.x 更新到 AHC 1.9.33
- 5623: Mockito 默认情况下不包含在构建中
- 5486: Keys.devSettings 到 PlayKeys.devSettings
- 5468: 修复了错别字,添加了缺少的单词
Play 2.4.6 “Damiya”
发布日期:2015 年 12 月 14 日
Play 2.4.5 “Damiya”
未发布
Play 2.4.4 “Damiya”
发布日期:2015 年 11 月 19 日
- 支持无限 WS 请求超时
- 更新 typetools 版本以支持最新 JDK
- 支持使用编译时依赖注入的临时文件
- 使用 SHA256-RSA 为自签名证书
- 从 Maven POM 中排除一些传递依赖项
- 改进转发和 X-Forwarded 处理
Play 2.4.3 “Damiya”
发布日期:2015 年 9 月 7 日
- 2188 允许注入 Security.Authenticated 的 Authenticator
- 4649 修复开发模式内存泄漏问题
- 4834 将 Helpers.invokeWithContext 设置为静态方法
- 4792 将 Netty 从 3.10.3 升级到 3.10.4
- 4935 Scala JSON Reads 用于 java.time.Instant
- 4939 修复使用 externalizeResources 或 executableScriptName 设置时的打包问题
- 4940 支持 HikariCP connectionInitSql
- 4975 将 Akka-http 从 1.0-RC2 升级到 1.0
- 5025 将 Akka 初始化日志降级到调试级别
Play 2.4.2 “Damiya”
发布日期:2015 年 7 月 3 日
- 4498 提供 JsReadable.validateOpt 以替换 Option 读取
- 4615 使用 play-ws 客户端按原样发布二进制数据
- 4707 在应用程序关闭时清理临时文件
- 4736 修复某些 webjars 未提取的问题
- 4753 确保闪存 cookie 清理不会丢失其他 cookie
Play 2.4.1 “Damiya”
发布日期:2015 年 6 月 23 日
- 3532 在 Windows 上不要从 Assets.versioned 控制器抛出异常
- 4429 确保在传递消息时不忽略消息源名称
- 4488 在 CacheApi 中支持基本类型
- 4522 从应用程序 jar 中排除外部资源
- 4523 路由中路径/查询字符串参数的字符绑定
- 4524 确保 CORS 标头添加到失败的响应中
- 4616 确保路由使用正确的上下文类加载器初始化
- 4633 恢复对 Json.deepMerge 的更改
- 4648 改进表单模板助手中的 Call 片段支持
- 4699 确保 Default 和 ExternalAssets 控制器可注入
- 4704 确保实体过长错误通过错误处理程序
- 4705 添加用于处理各种 4xx 客户端错误的便捷方法
- 4706 将 Java Action 上下文更改传播到控制器
Play 2.4.0 “Damiya”
发布于 2015 年 5 月 26 日
- 开箱即用的依赖注入。
- 由于对模拟的更好支持,测试变得更加容易。
- 现在可以轻松地将 Play 嵌入您的应用程序中。
- 您现在可以从多个项目中聚合反向路由器。
- 更多 Java 8 集成——现在需要 Java 8。
- 标准项目布局的选择。
- 许多新的 anorm 功能。Anorm 现在是它自己的项目!
- 升级到 Ebean 4。Ebean(也是)它自己的项目!
- HikariCP 是默认的连接池
- WS 支持服务器名称标识 (SNI)。
Play 2.3.10
发布于 2015 年 8 月 3 日
- 3459 Assets 控制器对目录返回 404
- 4240 在默认 WS SSL 配置中禁用 RC4 密码
- 4432 修复 cookie 最大年龄大于 24 天的回归
- 4719 在测试助手中正确解析内容类型
Play 2.3.9
发布于 2015 年 5 月 8 日
漏洞已修复
- CVE-2015-2156 仅限 Http 的 cookie 绕过
其他更改
- 3484 修复子项目运行
- 2992 修复 IE11 websocket 问题
- 4114 确保生成的路由代码不会发出 scalac 警告
- 2559 允许具有默认值的路由参数为 Scala 关键字
- 4412 升级到 Netty 3.9.8
Play 2.3.8
发布于 2015 年 2 月 11 日
- 3723 升级 async-http-client
- 3752 etag 中的逗号会破坏浏览器缓存
- 3771 记录 http 线程
- 3773 不要在日志中显示数据库密码
- 3805 将 Javassist 更新到 3.19.0-GA
- 3811 升级到 sbteclipse 3.0.0,其中包含针对 Play 用户报告的几个错误的修复
- 添加了与 sbt 服务器集成的分叉开发模式运行
Play 2.3.7
发布于 2014 年 12 月 3 日
- 3304 通过使用 https 获取工件来关闭安全漏洞
- 3546 处理包含冒号的多部分字段
- 3563 回溯 #3291:Anorm 对 joda-time DateTime 和 Instant 的支持
- 3567 回溯 #3243:Anorm:更多列转换
- 3582 回溯 #3576:添加 Anorm 对从 JDBC 字符串解析 UUID 的支持
- 3584 回溯 #3574:Anorm:更多列整数转换
- 3646 在 WS SSL 中支持 OpenJDK 6
- 3692 升级到 jboss-logging 3.2.0
Play 2.3.6
发布于 2014 年 10 月 28 日
- 3506 纠正 sbt-run-support 子项目的组 ID 和版本
- 3342 确保 HttpExecutionContext 调用委托的 prepare 方法
- 3533 确保 F.Option 可用于反向路由
- 3514 修复 JavaScript 反向路由中空值的 NPE 问题,并提供缺失的绑定器
- 3508 提供缺失的 UUID JavaScript 反向路由绑定器
- 2959 Anorm 错误处理改进
- 3049 恢复 Anorm 行提取器
- 3062 为 JDBC 数组提供 Anorm 列解析器
Play 2.3.5
发布日期:2014 年 10 月 7 日
漏洞已修复
- CVE-2014-3630 XML 外部实体漏洞
其他更改
Play 2.3.4
发布日期:2014 年 9 月 1 日
- 3298 升级到 Netty 3.9.3.
- 3349 使用 URI 而不是 URL 解析 Java WS URL。
Play 2.3.3
发布日期:2014 年 8 月 12 日
- 1186 不要忽略生产环境中 application.conf 中的日志记录配置
- 2620 修复 SBT 重新加载时的 jnotify 错误
- 3037 发送文件时不要忽略状态码
- 3206 修复 SBT 中的 SLF4J 警告
- 3216 为 error.date 键提供默认消息
- 3227 使得升级到 sbt-web 1.1 成为可能,以允许对资产提供更好的多模块支持
- 3253 升级到 jshint 1.0.1
- 3269 确保 Play 使用共享互斥锁来为集成测试中的当前应用程序提供排他性
Play 2.3.2
发布日期:2014 年 7 月 21 日
- 2747 支持高级 TCP 套接字选项,例如保持活动。
- 2905 确保资产更改不会触发 Play 的重新加载
- 2946 忽略良性 JNotify 监视移除错误
- 3073 确保反向路由匹配顺序的稳定性
- 3074 从资产指纹中移除双斜杠
- 3122 移除 Assets 对 Play.current 的依赖
- 3129 允许在没有请求对象的情况下生成 https URL
- 3141 在 WS 中显式设置时,不要重复 Content-Type 标头
- 3173 在开发模式下添加对 JDK7 WatchService 的支持
升级说明
- 在 JDK7 上的 Windows 和 Linux 上,Play 现在使用 JDK7 WatchService。这与旧机制(JNotify)有一些细微的差别。如果需要 JNotify 行为,可以在
build.sbt
中使用以下配置:PlayKeys.playWatchService := play.sbtplugin.run.PlayWatchService.jnotify(Keys.sLog.value)
或者,您也可以使用纯 SBT 实现,使用:
PlayKeys.playWatchService := play.sbtplugin.run.PlayWatchService.sbt(pollInterval.value)
请注意,虽然 JDK7 WatchService 在其他平台(包括 OSX)上有效,但建议不要在 Play 的开发模式中使用它,因为在这些平台上它只是以 2 秒的间隔轮询文件系统。
Play 2.3.1
发布日期:2014 年 6 月 25 日
- 2936 修复了当多个子项目依赖于同一个 webjar 时出现的重复条目错误
- 2967 确保 SecurityHeadersFilter 构造函数不会阻止 Application 启动
- 2973 如果存在,则在生产环境中自动使用最小化资产
- 2986 修复了测试中的死锁
- 3012 更新到最新的 Twirl
- 3044 为 Assets 提供了 JavaScript 字面量绑定器
- 3050 修复了反向路由的路由优先级
- 3057 修复了过度重新加载
- 3064 修复了 CSRF 过滤器中的 HEAD 支持
- 3066 升级到 Netty 3.9.2 以修复 SSL 支持中的安全漏洞
升级说明
- Assets 反向路由器的行为已更改,如果存在最小化版本的资产,它现在将返回这些资产的 URL。要禁用此行为,请在
application.conf
中设置assets.checkForMinified=true
。 - 对
SecurityHeadersFilter
构造函数的更改破坏了二进制兼容性。之所以进行此更改,是因为旧的构造函数签名无法用于其预期目的,而不会破坏它。
Play 2.3.0
发布日期:2014 年 5 月 30 日
- 介绍 activator 命令。您可以像使用 play 一样使用 activator,但 Activator 还带来了新功能。(有关 Activator 更改的更多信息。)
- 用于静态资产的更好工具。Play 现在使用 sbt-web,它提供更快的资产处理、更多功能和更好的可扩展性。
- 支持 Java 8(并继续支持 Java 6 和 7)。
- 更好的 Java 性能。简单的 Java 控制器可提高 40-90% 的吞吐量。(感谢 YourKit 赞助许可证。)
- 支持 Scala 2.11(并继续支持 Scala 2.10)。
- Anorm 增强功能:SQL 字符串插值、多值参数、新类型等等。
- Web 服务增强功能:独立客户端、SSL 配置等等。
- Play 模板已成为 Twirl 模板:独立项目、新的 sbt 插件,仍然与 Play 完美集成
- 用于 WebSockets 的 Actor
- 用于 HTTPS 的自定义 SSLEngine
- 资产性能:更快的服务、更好的缓存。
- 一个 Result 统治所有:所有在 2.2 中弃用的结果类型现在都消失了,只剩下 Result。
- 大量错误修复。
Play 2.2.5
发布日期:2014 年 10 月 7 日
- 3471 确保 AddCsrfToken 提供原始上下文。
Play 2.2.4
发布日期:2014 年 7 月 21 日
- 2747 支持高级 TCP 套接字选项,例如保持活动。
Play 2.2.3
发布日期:2014 年 5 月 1 日
漏洞已修复
- WebSockets Netty WebSocket 拒绝服务漏洞
其他更改
- 2508 通过返回 400 错误优雅地处理请求中的错误 URI。
- 2499 当 Java 表单验证失败时,不要渲染重复的重复元素。
- 2535 确保由 JUnit 抛出的异常被记录。
- 2509 使 WS SSL 请求默认使用主机名验证器。
- 2683 WebSockets 的延续帧处理
Play 2.2.2
发布日期:2014 年 3 月 1 日
亮点
- 修复了我们遇到的 sbt-eclipse 集成问题
- 增量编译器改进
- 修复了当使用 GZip 过滤器时阻止 New Relic 工作的问题
- 修复了在项目的最小化输出中重复 javascript 资产的问题
- sbt 本机打包程序更新
- 围绕丢弃连接的 Bonecp 问题解决
- 更新至 Scala 2.10.3
- 修复了多个 bug
2.2.2 版本修复的完整列表可以在 GitHub 上找到
Play 2.2.1
发布日期:2013 年 10 月 31 日
- 830 - 集成测试现在可以在 Eclipse 中直接运行
- 1159 - OAuth 计算器不再忽略查询字符串
- 1704 - 修复了 Play 2.2 中 SQL 查询性能下降的问题
- 1722 - 接受所有 WebSocket 子协议
- 1734 - 在 CSRF 过滤器中恢复自定义令牌生成器功能
- 1737 - 确保 CSRF 过滤器可以在没有运行应用程序的情况下实例化
- 1750 - 修复了 Promise.timeout 异常处理
- 1778 - 修复了 505 响应体发送错误
- 1786 - 修复了 Windows 上的 closure 编译器 - 使 CommonJs 功能可选
- 1815 - 确保在 play run 完成后不会禁用 echo
- 1819 - 在缓存操作中缓存结果,而不是迭代器
- 1841 - 确保测试结果传播到测试运行器
- 1856 - 确保在没有找到处理程序时执行过滤器
- 1898 - 将 bonecp 升级到 0.8.0.RELEASE
升级说明
- CSRFFilter 构造函数的签名已更改。任何以前使用此构造函数的代码仍然是源代码兼容的,但可能需要重新编译。
- 使用 JavaScript 编译器时,CommonJS 模块支持以前默认提供。由于其在 Windows 上的支持存在问题,因此不再默认提供。可以通过为 JavaScript 编译器使用
commonJs
选项重新启用 CommonJS 模块支持。
Play 2.2.0
发布日期:2013 年 9 月 20 日
- Java 和 Scala 的新结果结构
- 更好地控制缓冲和保持活动
- 新的动作组合和动作构建器方法
- 改进的 Java Promise API
- Iteratee 库执行上下文传递
- 支持 SBT 0.13
- 新的阶段和 dist 任务
- 内置 gzip 支持
Play 2.1.5
发布日期:2013 年 9 月 20 日
漏洞已修复
- 20130920-XmlExternalEntity XML 外部实体漏洞
其他更改
Play 2.1.4
发布日期:2013 年 9 月 11 日
漏洞已修复
- 20130911-XmlExternalEntity XML 外部实体漏洞
其他更改
- 1440 用于监控工具集成的 Play 运行钩子
- 1451 修复了 junit 测试并添加了一个测试以确保 junit 测试运行
- 1055 可配置的 HTTP 请求参数 - 最大请求长度、最大标头大小、块大小
- 1498 防止设置空 cookie 值
- 1496 允许覆盖 ehcache.xml
Play 2.1.3
发布日期:2013 年 8 月 6 日
漏洞已修复
其他更改
- 1329 使 If-None-Since 和 If-Modified-Since 互动规范符合
- 1332 修复了 SSE 断开连接未检测到的回归
- 1346, 1360 修复了 Expect: 100-continue 的竞争条件
- 1347 将 URL 路径段编码更改为遵循规范,而不是使用查询字符串编码
- 1359 删除了对 Akka 2.1 的二进制依赖;现在可以使用 Akka 2.2
- 1361 修复了在错误的 ExecutionContext 中运行 Actions 的回归
- 1370 减少了管道时的内存使用
- 1402 修复了开发模式下应用程序重新加载时的内存泄漏
- 1406 将 junit-interface 升级到 0.10
Play 2.1.2
发布日期:2013 年 7 月 5 日
- 810 - 修复 XPath.selectText 回归
- 820, 1229 - 使 Accept-Language 标头匹配符合规范
- 839 - 确保应用程序加载不在 Netty 线程上进行
- 851 - 确保 Java 操作使用正确的上下文类加载器
- 924 - 允许字符集参数带引号
- 945 - 修复 HTTP 管道支持
- 959 - 确保分块和流结果终止
- 978 - 安全处理编码不正确的 URL 路径
- 984 - 在开发模式下支持 config.resource 系统属性
- 1050 - 切换到 Scala ForkJoin 池
- 1090 - 性能改进
- 1152 - 修复 100-continue 支持
Play 2.1.1
发布日期:2013 年 4 月 13 日
- 恢复对 multipart/form-data API 的更改,以便可以轻松检测到未提交的任何文件
- 反向路由器现在对字符串路径参数进行转义
- 查询字符串和路径中的无效转义组合现在返回 400 错误
- 仅包含包含的路由文件现在可以编译
- Javadoc 生成现在正在工作
- 编译后的资产不再是监视源的一部分
- 修复了 Windows 上的一些编译问题
- 改进路由助手实现
- 884 Play 现在可以再次处理大于 2GB 的文件上传(这是 Netty 的一个回归,通过升级到 3.6.3 修复)
- 889 Scala 中 JSON 序列化性能/并发瓶颈修复
- 888 修复 Javascript 反向路由器默认值
- JSON 宏修复和改进
Play 2.1.0
发布日期:2013 年 2 月 6 日
- 迁移到 Scala 2.10
- 迁移到 Scala 并发 Future
- Play 本身的模块化
- 路由文件模块化
- Java 项目中更好的线程管理和 HTTP 上下文传播
- 托管控制器实例化
- 新的 Scala JSON API
- 新的过滤器 API,内置 CSRF 保护
- RequireJS 支持
- 内容协商
- 改进的 Iteratee API
- 在我们的问题跟踪器中解决了 182 个错误和改进
Play 2.0.8
发布日期:2013 年 9 月 20 日
漏洞已修复
- 20130920-XmlExternalEntity XML 外部实体漏洞
Play 2.0.7
发布日期:2013 年 9 月 11 日
漏洞已修复
- 20130911-XmlExternalEntity XML 外部实体漏洞
其他更改
Play 2.0.6
发布日期:2013 年 8 月 6 日
漏洞已修复
Play 2.0.5
发布于 2013 年 8 月 1 日
- 修复了 100-continue 行为
- 删除了损坏的 Jaxen 依赖项
- 升级到 Fluentlenium 0.8
- 修复了在回滚版本时处理 If-None-Match
- 为 WS API 配置了超时和重定向
- 以相反的顺序停止插件以启动
- 删除了开发模式 ClassLoaders 中的循环依赖
Play 1.7.1
发布于 2022 年 6 月 13 日
- #1397: 第三方依赖项更新 20220403
- #1399: [1.7.0] 回归:
play idealize
由于UnboundLocalError: local variable 'playHome' referenced before assignment
而死亡 - #1400: 修复了 #1399 "UnboundLocalError: local variable 'playHome' referenced before assignment
- #1401: 模块操作中的 Python3 不兼容性
- #1402: [#1401] 🐛 修复模块操作代码中的 python3 不兼容性
- #1403: Groovy 模板的临时类直接输出到应用程序目录下
- #1405: 1.7.0: 并发修改异常
- #1406: [#1403] 🐛 修复尝试在 applicat… 中写入的 Groovy 编译单元
- #1408: #1405: 将 HashMap 替换为 ConcurrentHashMap
- #1409: 更新 java 版本检查
- #1411: 不要覆盖系统属性 net.spy.log.LoggerImpl -> 1.7.1
- #1413: #1405: 将 HashMap 替换为 ConcurrentHashMap
- #1414: 由于 log4j 更新,Memcached 实现已损坏
Play 1.7.0
发布于 2022 年 4 月 3 日
- #1355: 将 Play 脚本升级到 Python 3
- #1372: 更新依赖项并允许支持 JDK 17 源代码
- #1377: [#1371] 在推送事件上运行
- #1383: 能够在数据源基础上禁用数据库演变
- #1384: [#1383] 🆕 能够在数据源基础上禁用数据库演变
- #1385: [#1331] 🆕 添加新的参数 jpda.address 支持
- #1387: 将默认 jdk 设置为 11
- #1391: 将 hibernate 更新到 5.6.5
- #1393: [#1383] ♻ 支持命令行操作的禁用演变
- #1394: [#1353, #1355] 更新 python 3
- #1353: python3 支持或解决方法
- #1371: 切换到 GitHub Actions,Travis 将被移除
- #1376: #1371 添加 github-actions.yml
- #1378: #1371 移除 travis 徽章
- #1343: GitHub 问题 #1278: 在 1.5.x 的简化 JPA 查询中支持 OrderBy
- #1344: MultiDb: 额外文档
- #1352: 将 hibernate 更新到 5.4.30.Final 及其依赖项
- #1354: 模板的临时类直接输出到应用程序目录下。
- #1357: 清理代码
- #1370: #1367 将 log4j-1.2.17 更改为 log4j-2.17.1
- #1373: 更新依赖项
- #1374: 修复 travis 构建
- #1375: #1374 travis 修复
- #1379: 修复拉取请求 Pr/1238
- #1380: #1367 将 log4j-1.2.17 更改为 log4j-2.17.1
- #1382: 修复了“play idea”现在对 WSL 运行 GitHub Action 在 win 上正确,并修复了 Windows 的测试
- #1386: 删除未使用的依赖项
- #1389: 清理代码
- #1395: [#1278, #1343] 在 1.5.x 中简化 JPA 查询的 OrderBy 支持
- #1396: [1.7.0] 添加 releasenotes-1.7.0.textile
Play 1.6.0
发布日期:2021 年 3 月 15 日
- #1308: 为 play deps 命令添加退出代码
- #1313: #1313 升级已弃用的 MySQL 驱动程序
- #1314: #1313 升级已弃用的 MySQL 驱动程序
- #1320: * Java8 日期/时间绑定器支持
- #1181: 避免在每个请求中多次恢复闪存和会话
- #1297: 自定义 SessionStore 抛出 ClassNotFoundException
- #1306: 更新文档 URL
- #1309: 升级 java mail 和 commons email
- #1310: #1309: 升级 java mail 和 commons email
- #1311: #1297 使用 Play.classloader 加载会话存储
- #1312: [#1312] stylesheet.tag 在文档中缺少尾部斜杠
- #1317: [#1316] 将逗号替换为逗号
- #1322: [#4098] 如果 javadoc 失败,则使“play javadoc”失败
- #1324: JDK 13/14 支持
- #1325: JDK 13 支持
- #1327: [#1935] 不要为未使用的端口创建 CPU*2 个“新 I/O 工作线程”
- #1332: 与 JDK 13 和 14 的兼容性
- #1338: 更新到最新的 Eclipse JDT Core v3.23 以启用 JDK 14 源代码
- #1339: 在 /samples-and-tests/customJars/example 中将 junit 从 4.11 提升到 4.13.1
- #1340: 更新 junit 依赖项
- #1341: [31340] 将 jnit 从 4.11 更新到 4.13.1
Play 1.5.3
发布日期:2019 年 4 月 8 日
- #1279: [#1262] 允许使用空命名空间覆盖默认快速标签
- #1290: hibernate 5.4 更新
- #1292: Java 11 (JDT 更新)
- #1293: HikariCP:添加了用于初始化连接 sql 的配置属性
- #1156: [#2128] 功能:模块命令的帮助
- #1221: [#2155] 单元测试 PluginCollectionTest#skipsDuplicatePlugins 中的静默或抑制错误
- #1222: [#2155] 单元测试 PluginCollectionTest#skipsDuplicatePlugins 中的静默或抑制错误
- #1262: Play1.4.3 及更高版本不允许使用 @FastTags.Namespace("") 覆盖默认 FastTag.class(空命名空间)
- #1281: Lighthouse#2273:停止 Fixtures 尝试设置静态(Map)字段
- #1287: 将 JPA 版本修复为与 Hibernate 5.3+ 支持的版本匹配。
- #1294: 在连接 URL 上默认 MySQL 字符集和排序规则属性没有意义
- #1295: 删除 MySQL 连接字符集属性默认值
- #1298: SslHttpServerContextFactory 不支持仅私钥 PEM 内容
- #1299: #1298:仅处理来自 PEM 的私钥信息
- #1300: 定义“X-HTTP-Method-Override”中使用的允许方法
- #1301: [#1300] 功能:定义“X-HTTP-Method-Override”中使用的允许方法
- #2128 : 模块命令的帮助,如核心命令没有标签
- #2155 : 单元测试 PluginCollectionTest#skipsDuplicatePlugins 中的静默或抑制错误
Play 1.5.2
发布日期:2018 年 10 月 30 日
- #1239: 功能/使 play 停止等待 Java 进程完成
- #1242: 添加对使用命名空间导航 XML 的支持。
- #1250: 依赖升级
- #1252: 更新 Play 源代码以支持 JDK9+ 的构建兼容性
- #1259: [#1849] 恢复 TransactionalJPATest 中意外删除的检查(PR 1246)
- #1260: [#1252] 将方法恢复为静态方法。修复对已弃用的“_”方法的调用
- #1263: 将 hibernate 升级到 5.3.x
- #1266: 针对问题 #1263 的示例升级
- #1269: 添加 BigInteger 绑定
- #1198: 1197 支持非静态依赖
- #1204: 允许向“play.plugins.descriptor”添加多个文件
- #1212: 针对内容类型“application/x-www-form-urlencoded”的错误请求体解码
- #1213: [#1212] 修复 UrlEncodedParser 中非拉丁字符的解码
- #1217: [play 1.5] 缺少文档
- #1230: [#2170] 从错误模板访问操作上下文
- #1241: [#2086] 修复 Promise.onRedeem() 中的竞争条件,该条件导致“callback”被调用两次
- #1245: fix(tests): 问题 #1200,添加了对 jdk9+ 的测试兼容性
- #1246: [#1849] 控制器中的异常在 FunctionalTests 中未被检测到
- #1247: 将 javassist 升级到 3.23.1-GA 以抑制 JDK9+ 的警告
- #1248: PR https://github.com/playframework/play1/pull/1246 的补充
- #1254: #1250 依赖升级
- #1255: fix(tests): 问题 #1200,添加了对 jdk9+ 的测试兼容性
- #1256: [#1245] 通过删除在最新版本的 javassist 中已修复的解决方法,修复了使用 Javassist 进行的公共/受保护测试
- #1257: [#1239] 使 play 停止等待 java 进程完成
- #1258: [#1849] 为测试提供更细粒度的控制,以控制它们期望的异常
- #1270: 发布 1.5.2?
- #1275: [#1270] doc(release): 添加 play 1.5.2 的文档
Play 1.5.1
发布于 2018 年 7 月 17 日
- #2173: 添加 LocalDateTime 绑定器
- #1133: 允许自定义 @CacheFor 缓存键
- #1186: [#2138] 增强注入器功能(添加可注入接口)
- #1193: 更新 select.tag 以支持具有“showEmpty: true”属性的 select 的“null”选项
- #1232: 将 HikariCP 更新到 2.7.9
- #1233: [#1232] feat(libs)/ 将 hikari CP 从 2.6.3 更新到 2.7.9
- #1158: [#1896] 修复 play 守护进程在 [重新] 启动-停止时的堆栈跟踪
- #1166: 允许自定义 @CacheFor 缓存键
- #1192: 更新 Configuration.java
- #1208: [#2140] 使 FunctionalTest 与 Response.writeChunk() 兼容
- #1219: [#2154] 修复 @On 注解上的 NPE
- #2154: 修复 @On 注解上的 NPE
- #1220: [#2154, #1219] 修复 @On 注解的 NPE
- #1223: [#1823] 修复 play.exceptions.CompilationException(修复 #786 的修复)
- #1224: [#1823] 修复 play.exceptions.CompilationException(修复 #786 的修复)
- #1225: PlayController 已实现
- #1226: #1237 对安全页面使用安全 Websocket 协议
- #1228: 修正拼写错误(runing -> running)
- #1229: 1228 修正拼写错误
- #1237: 不允许混合内容 WebSockets
- #1910: 使用现有 pid 但没有进程运行 play start 时的堆栈跟踪
- #1896: play 守护进程 [重新] 启动-停止(python 回溯)
- #2140: 分块响应无法通过 FunctionalTest 测试
- #1244: 准备发布 1.5.1
Play 1.5.0
发布日期:2017 年 9 月 29 日
- #1113 : 将 Hibernate 升级到 5.x
- #1100 : 添加对非静态 @Before 和 @After 方法的支持
- #1142 : 使模块名称简短(不带版本号)
- #994 : 使用 HikariCP 代替 c3p0 连接池改进
- #1162 : Play 应该在应用程序路径中搜索 play.plugins 描述符
- #1145, #1126 : 修复模块安装问题
- #1137 : 使得从单个
play.plugins
加载插件成为可能 - #1115 : 修复 javadoc 警告文档
- #1112 : 允许限制整个请求的大小或请求中单个上传文件的大小。
- #1111 : Websockets 文档
- #1105 : Play 调用父类中的操作方法而不是子类中的操作方法
- #1103 : 使得在开发模式下排除 DocViewer 成为可能
- #1097 : 支持 Java8 参数,而不是在 LocalvariablesNamesEnhancer 中进行缓慢的额外增强。
- #1096 : 放弃对低于 1.8 版本的 java 版本的支持文档
- #1095 : 允许自定义实现基本控制器
- #1043 : 使用
-parameters
编译器选项代替增强类 - #2122 : FastTagsTest: 比较失败:差异仅在行分隔符测试中
- #2125 : testLogLevelsAndLog4jConfig 超时 waitFor 'I am a debug message' 测试
- #2089 : 升级依赖项依赖库
- #2124 : 导入错误:没有名为 unittest 的模块 python
- #1188, #2126 : MessagesTest.class testMessageInAnotherLanguage 测试测试运行器测试
- #2123 : framework\build.xml:264: 执行失败:java.io.IOException: 无法运行程序“python”:CreateProcess 错误=2 python
- #2130 : 从自动测试日志中删除烦人的日志消息测试
- #2131 : 更新 travis 以用于新的 worker 测试测试
- #2079 : 如果 yml 定义了相同依赖文件的源和目标,则在 Windows 上安装依赖项会失败
- #1191 : 修复 deps 文档
- #1190 : 为
play.mvc.results.Forbidden
创建一个默认构造函数 - #2123, #1187 : 无法运行程序“python”: CreateProcess 错误=2
- #1180 : 使更改会话存储实现成为可能
- #1159, #2089 : 升级 bouncycastle
- #1155 : 修复从 #1114 加载的 hibernate 中的实体类
- #1152 : 也在预编译文件夹中查找类
- #1144 , #1142 : 使用“application.statusKey”代替“application.secret”
- #2121 : JPABase.equals() 在检查 null/ref 等式之前调用 _key()
- #2120 : 通过 application 添加对(特殊)hibernate 属性的支持
- #1138 : 使从单个
play.plugins
文件加载插件成为可能
Play 1.4.6
发布日期:2019 年 4 月 8 日
- #1301: [#1300] 功能:定义“X-HTTP-Method-Override”中使用的允许方法
Play 1.4.5
发布日期:2017 年 9 月 29 日
Play 1.4.4
发布于 2017 年 1 月 24 日
- #1007 计算模板渲染时间,以便可以记录/分析
- #983 feat(DependenciesManager): sync 选项默认应为 ON。
- #2072 添加方法 Binder.unregister()
- #2071 预编译其他模板
- #1007 计算模板渲染时间,以便可以记录/分析
- #1005 feat(fixture): 在加载 fixture 文件时抛出异常时,在日志中添加 id/type
- #1009 fix(templates): 在使用非 GroovyInlineTag 编译模板时,不要记录错误和异常
- #1014 chore(travis): 修复缓冲区溢出异常
- 修复 h2.jar 二进制文件
- #995 使用 hamcrest-all 1.3 而不是 hamcrest-core 1.3
- #1011 升级到 cglib 3.2.4
- #1008 fix(ConfigurationChangeWatcherPlugin): 在应用程序启动时初始化 configLastModified
- #2066 修复模块 500 错误页面上的打开文件
- #998 fix(router): 允许在路由中定义静态参数时使用空格
- #1025 fix(DB): 检测使用 jndi: 前缀的 JNDI 数据源的更改
- #2068 chore(lib): 依赖升级:joda-time (2.9.4 -> 2.9.5)
- #1024 将 application.path 默认设置为工作目录
- #1090 修复类加载器中的性能问题
- #2074 依赖升级:joda-time (2.9.6 -> 2.9.7)
- #1067 test(tag): 添加 #{set} 和 #{get} 使用的演示和测试
- #1090 添加方法 RenderJson.getResponse()
- #1070 避免反射并使默认增强器列表可覆盖
- #1040 避免反射并使默认增强器列表可覆盖
- #1064 [#1064] fix(messages): 在参数上添加一些测试以避免 NullpointerException
- #1064 尽早初始化 play 静态字段
- #1061 用
@Catch(Throwable.class)
标记的方法会捕获所有Results
- #1058 提高 RenderJson 的性能
- #1056 为所有
Result
子类添加 getter - #1051 Play 依赖项会静默地解析未找到的依赖项
- #1033 添加禁用生成 getter/setter 的可能性
- #1025 检测使用 jndi: 前缀的 JNDI 数据源的更改及其文档
- #2066 避免正则表达式匹配器中的 NPE
- #1919 修复在 Windows 下路径中包含空格的模块构建失败
- #2066 修复(路由): 允许在路由中定义静态参数时包含空格
- #998 修复模块 500 错误页面上的打开文件问题
- #2066 修复模块 500 错误页面上的打开文件问题
- #1005 在加载 fixture 文件时抛出异常时,在日志中添加 id/type
- #998 路由“分配静态参数”仅适用于第一个参数
- #985 Play 不应该在每次代码更改后清除缓存
Play 1.4.3
发布日期:2016 年 8 月 16 日
- #2040 GroovyTemplateCompiler.endTag 中的 ConcurrentModificationException
- #2042 升级依赖项
- #2044 支持验证错误中的空值
参数 - #2049 一些结果集在 Evolutions 中未关闭,导致一些泄漏
- #2050 更新 netty 和 async-http 的依赖项
- #2051, #1667 避免使用 http 请求直接调用 @Util 和 @Catch 控制器方法
- #2055 升级依赖项 joda-time(从 2.9.2 到 2.9.4)
- #2056 将 Groovy 升级到 2.4.7
- #2057 删除对 commons-collections 的依赖
- #2052 session.put() 对 null 对象的处理不正确
- #2058 KeyError: ‘disable_random_jpda’ in application.check_jpda
- #984 Play 框架应该在应用程序每次重启时记录日志(在开发模式下)
- #982
play build-module
命令如果构建失败应该退出并返回错误代码 - 修复 UnexpectedException.getErrorDescription():在任何情况下都写入错误消息
- #2059 重做文档发布说明的位置
- 升级 Apache Ant 1.9.6 -> 1.9.7
- #987 不要在绑定器中吞掉异常
- #2048 升级到 cglib 3.2.2
- #986 将 selenium 更新到 2.53
- #2053 flash 方法应该将值作为键消息处理
Play 1.4.2
发布日期:2016 年 3 月 16 日
漏洞已修复
- 20160301-XssSecureModule Secure 模块登录页面中的 XSS 漏洞。
其他更改
- #2008 绑定 EnumSet 时出错
- #2011 支持在演化脚本中使用“双分号”转义
- #2007 预编译应用程序的 JPA 类加载器问题
- #2014 安全模块中的消息显示不正确
- #1939 chore(lib): 将 groovy 从 2.3.9 更新到 2.4.5
- #1934 feat(controller): 支持非静态控制器方法 - 它们更容易进行模拟/单元测试
- #2009 在“附件”中检测字段名称
- #2017 使用 StringBuilder 代替 StringBuffer
- #2016 “XForwardedOverwriteDomainAndPort” 设置的默认值应为 false
- #1979 提高 Play! 的性能
- #2021 优化 StringBuilder 的使用
- #2022 添加缺失的 @Override 注解
- #2020 避免多次创建新的数组/映射
- #2029 升级到 groovy 2.4.6
- #2027 缓存 Lang.getLocale() 方法
- #2015 i18n 标签只恢复第一个 % 字符
- #2034 添加 hibernate-ehcache.jar 以便能够使用 ehcache 作为二级缓存
- #2026 Blob:缺少实现以支持(二级)缓存的方法
- #1947 Job::withinFilter 只调用它找到的第一个 PlayPlugin 过滤器。(Invoker 调用所有过滤器)
- #1948 Invoker.Invocation::run 针对每个插件执行一次操作
- #2035 MakeWS.getString() 在每次调用时返回相同的结果
- #2019 使方法 Cache.clear() 为空安全
- #2018 添加类缓存
- #2036 强制安全反向路由配置
- #2039 更新一些库
Play 1.4.1
发布日期:2015 年 12 月 30 日
漏洞已修复
其他更改
- 添加 PATCH 支持
- 更新到 htmlUnit v 2.19
- 添加定义启用 ssl 协议的能力
- 使 DB 属性可配置
- 修复将属性放入客户 DB 配置
- 添加方法 Plugin.onActionInvocationFinally()
- 修复 javadoc 工具错误
Play 1.4.0
发布日期:2015 年 10 月 30 日
- 兼容 Java 7。不再支持 Java 6
- 升级到 async-http-client v1.9.31
- 升级到 netty 3.10.4
- 更新 HtmlUnit 到 v2.16
Play 1.3.4
发布日期:2016 年 3 月 16 日
漏洞已修复
- 20160301-XssSecureModule Secure 模块登录页面中的 XSS 漏洞。
其他更改
- #2008 绑定 EnumSet 时出错
- #2011 支持在演化脚本中使用“双分号”转义
- #2007 预编译应用程序的 JPA 类加载器问题
- #2014 安全模块中的消息显示不正确
- #1934 feat(controller): 支持非静态控制器方法 - 它们更容易进行模拟/单元测试
- #2009 在“附件”中检测字段名称
- #2017 使用 StringBuilder 代替 StringBuffer
- #2016 “XForwardedOverwriteDomainAndPort” 设置的默认值应为 false
- #1979 提高 Play! 的性能
- #2021 优化 StringBuilder 的使用
- #2022 添加缺失的 @Override 注解
- #2020 避免多次创建新的数组/映射
- #2027 缓存 Lang.getLocale() 方法
- #2015 i18n 标签只恢复第一个 % 字符
- #2034 添加 hibernate-ehcache.jar 以便能够使用 ehcache 作为二级缓存
- #2026 Blob:缺少实现以支持(二级)缓存的方法
- #1947 Job::withinFilter 只调用它找到的第一个 PlayPlugin 过滤器。(Invoker 调用所有过滤器)
- #1948 Invoker.Invocation::run 针对每个插件执行一次操作
- #2035 MakeWS.getString() 在每次调用时返回相同的结果
- #2019 使方法 Cache.clear() 为空安全
- #2018 添加类缓存
- #2036 强制安全反向路由配置
Play 1.3.3
发布日期:2015 年 12 月 30 日
漏洞已修复
其他更改
- 添加定义启用 ssl 协议的能力
- 使 DB 属性可配置
- 修复将属性放入客户 DB 配置
- 添加方法 Plugin.onActionInvocationFinally()
- 修复 javadoc 工具错误
Play 1.3.2
发布日期:2015 年 10 月 30 日
- 添加在 testRunner 模块中定义超时时间的能力
- 添加手动设置 WS 的 VirtualHost 的能力
- 提高 Router.reverse() 的性能
- 允许上传 0B 文件
- 在 install 命令中添加 ‘–server’ 参数,使用 python 命令为模块安装指定一个自定义仓库
- 修复在 apache 后面重定向到错误的域名和端口
- 通过传递 Gson 序列化器对象 json render 自定义 JSON 渲染
- 在类 DataParser dataparser 中出现静态初始化死锁
- 允许零长度 blob 绑定器
- 在某些情况下,OpenID 发现会在 1.3.x 中失败 openid
- 运行特定测试 selenium testrunner 测试时出现问题
- 500.html 模板渲染问题
- play.libs.image.crop 不会关闭 OutputStream image
Play 1.3.0
发布日期:2015 年 1 月 15 日
- 修复多个延续/等待错误
- 修复多个测试错误(自动测试/异步/htmlunit)
- 大量库升级(例如 netty、hibernate 等)
- 大量 i18n 修复
- 实验性 java 8 支持(但是,hibernate 不支持它,所以一些边缘情况可能无法正常工作)
- 改进 intellij 支持
- 多个数据库支持
- 可定制的 netty 管道
- 可定制的模板名称解析
- 在插件 API 中引入过滤器
- 开发模式下的项目文档查看器
- 改进的作业支持 - 添加了 afterRequest() 支持
- 改进的邮件发送器
迁移说明
- 不再支持 Java 1.5
- 模块依赖关系解析从 https://www.playframework.org 更改为 https://playframework.com.cn
- 运行“play deps”以确保您的依赖项是最新的
已知问题
- Cobertura 不起作用
Play 1.2.6.2
发布日期:2015 年 12 月 30 日
漏洞已修复
Play 1.2.5.6
发布日期:2015 年 12 月 30 日
漏洞已修复