2016 年 4 月 LeanCloud 更新汇总

4 月份在存储方面我们尝试推出了 API 性能统计菜单,实时通信发布了 系统广播功能 ,云引擎完成了整体升级,并且 Python 云引擎也支持了 Python 3。

在客户端,iOS SDK 全面支持了 bitcode。JavaScript 的实时通信 SDK 发布了 3.0 beta 版本,我们重新设计了 API,让其规范与其他 SDK 保持基本统一,并且加入了单点登录、未读消息模式等新特性,详见 新版开发指南 。JavaScript SDK 发布了 1.0.0 rc8 版本,包含有诸多改进,最大的变化是增加了 disableCurrentUser 选项来禁止全局变量 AV.User.current,以及使用标准的 RESTFul API 协议,遵循跨域 CORS 请求。

另外很重要的是,我们开始定期为所有应用进行安全检查。第一次安全检查结果已经通过邮件发送至应用开发者,请大家根据我们的建议进行检查和修正。同时我们也推荐大家阅读 数据与安全 文档,完善自己的应用安全措施。

各功能模块的详细更新如下。

网站

  • 云引擎实名认证发布,请使用云引擎网站托管的用户尽快完成认证步骤,我们将在 本月关停未认证用户的云引擎二级域名
  • 存储 API 统计增加性能统计和慢查询统计。
  • 存储创建 Class 时可选择设置 ACL 模板。
  • 实时消息新增发送消息数、发送时间统计。

存储

  • 修复在使用 Class 绑定共享时应用内搜索新增数据没有被索引的 bug,感谢用户反馈。
  • 修复严格查询模式选项无效的 bug。
  • 新增应用选项「查询 include 引入的 Pointer 类型数据时校验 ACL 权限」,控制查询的 include 行为。
  • 修复 fetchWhenSave 在文件类型上返回错误类型的 bug。

实时通信、推送和短信

  • 上线系统广播功能,详见 文档
  • 推送的大量稳定性改进,应用隔离、文件队列、APNs HTTP 2.0 协议等等。
  • 改进聊天记录存储。
  • 改善短信详单查询性能。

云引擎

  • 绝大多数应用的云引擎环境已统一升级到 最新版本
  • 发布新版云引擎的统计界面。
  • 发布新版云引擎开发指南。
  • 改进 LeanCache 备份和容灾措施。
  • 改进云引擎部署,提高稳定性。
  • Python 云引擎支持 Python 3。

iOS SDK

  • 修复 client 登录时报错误代码为 1001 的问题。
  • 修复 IM 1.0 中,聊天室成员的加入和离开无法回调的问题。
  • 作废 +[AVObject objectWithoutDataWithObjectId:]+[AVObject objectWithoutDataWithClassName:objectId:],以适应 Swift 语法。
  • 修复应用内搜索中,sid 过期导致应用崩溃的问题。
  • 在 IM 的错误回调中,暴露由云引擎返回的 detail 和 appcode 字段。
  • 修复在重复保存对象时,子对象的更新会发送两次的问题。
  • 将推送通知相关的 API 移到基础模块中。
  • 支持 APNs 的 HTTP2 推送协议,如果需要使用新的推送协议,请升级到该版本。
  • 全面支持 bitcode。

Android SDK

  • 修复在部分情况下实时通讯因为重连而导致回调不能被执行的问题。
  • 修复大于 4 MB 的文件在上传后与原文件不一致的问题。
  • AVIMConversationQuery 支持 whereExistsaddAscendingOrderaddDescendingOrder 查询。
  • 修复主动设置了 URL 的文件类型的消息上传失败的问题。
  • 修复实时通信 SDK 在消息回调过程中有可能造成的 NPE 的问题。
  • 修复在特殊情况下有可能造成的推送消息会被别的进程收到的问题。
  • AVIMConversationQuery 支持 whereDoesNotExist 查询。
  • 修复部分手机有可能因为 InstallationId 重复导致的连接被断开的问题。
  • 修复实时通信 SDK 在部分情况下 onMemberJoinedonMemberLeft 不能被执行的问题。
  • 修复实时通信 SDK 在部分情况下 AVIMCient.open 回调不能被执行的问题。

JavaScript SDK

发布了 1.0.9-rc8 版本。这个版本会引入一些不兼容的修改,仍然在使用 0.x 版本的用户不受影响;云引擎默认使用 0.x 版本,我们预计将在本月尝试为其升级。

  • (BREAKING) 添加了 AV.init 方法,该方法接收一个名为 options 的参数字典,废弃 AV.initialize 方法。
  • (BREAKING)AV.Object#save 方法的 options 参数添加了 fetchWhenSave 选项,废弃 AV.Object#fetchWhenSave 方法。
  • (BREAKING) 添加了 disableCurrentUser 选项(可在 AV.init 方法中设置),当开启时:
    • AV.User.currentAV.User.currentAsync 打印警告并返回 null。
    • signUplogInfetchbecome 等方法不再写入全局状态。
  • 发起请求时不再向服务器发送 installationId。
  • AV.File 不再会自动设置 owner,请在 data 参数中传入 owner 选项(AV.User 对象)。
  • 为所有会发起网络请求的操作(save 等)的 options 参数添加了 sessionToken 选项,可通过传入该选项指定请求所使用的 sessionToken。
  • 添加了 AV.User.getSessionToken 方法。
  • 添加了 AV.User#logOut 这个实例方法(之前只有类方法)。
  • AV.Object#save 方法的 options 参数添加了 query 选项,该次更新操作在对象最新状态满足 query 时才会执行。
  • 修正了在某些错误情况下返回值格式不正确的错误。
  • 使用了更加安全的鉴权机制,以降低 App Key 在传输过程中泄露的风险。
  • 移除了特殊跨域兼容实现,现在遵循标准 CORS。

JavaScript 实时通信 SDK

发布了 3.0 beta 版本,请参考 新版开发指南

  • (BREAKING) 重新设计了 API,主要改进有:
    • 提供了面向对象的,与其他平台 SDK 统一的 API。
    • Promise 化的异步 API
    • 新的事件模型
    • 完善的异常机制
    • 可扩展的消息类型系统
  • 新增对以下特性的支持:
    • 单点登录
    • 「未读消息通知」模式
    • 对话查询条件构造器
  • 增强了断线重连的可靠性
  • 采用了二进制协议,减少了传输消息时的流量消耗。
  • (BREAKING) 停止对 IE10 及以下版本的支持。如果需要支持这些运行环境请使用 2.x 版本。

Python SDK

发布了 1.4.2 版本:

  • User.set_password 支持设置 password 字段属性。
  • Relation.query 设置为属性。
  • 支持 X-LC-UA CORS HTTP 头。
  • 使用美国区的时候,上传文件到 Amazon s3。

发表评论

电子邮件地址不会被公开。 必填项已用*标注