Skip to content

Releases: leancloud/javascript-sdk

v3.0.1

23 Jun 06:56
Compare
Choose a tag to compare

Bug fixes

  • 修复了美国节点文件上传失败的问题。
  • 修复了 React Native 中用户登录成功会导致 crash 的问题。

v3.0.0

16 Jun 06:02
Compare
Choose a tag to compare

Highlights

  • LiveQuery:通过订阅一个 Query,在其结果发生变动时实时得到通知。详见 《LiveQuery 开发指南》
  • 新的序列化反序列化方法:针对 AV.Object 重新设计了 #toJSON 方法,并提供了一对可靠的序列化反序列化方法。
  • AV.request 方法:公开了低抽象级别的 AV.request 方法,方便开发者直接调用 LeanCloud Rest API。

Breaking Changes

  • 重新设计了 AV.Object 序列化相关的方法:

    • 如果需要将 AV.Object 中的有效信息转换成 JSON Object,请使用 AV.Object#toJSON 方法。请注意通过此方法得到的 JSON 不包含对象的元信息,因此是不可逆的(无法转换回 AV.Object)。
    • 如果需要「存储」或「传输」AV.Object,请使用新增的 AV.Object#toFullJSON(序列化)与 AV.parseJSON(反序列化)方法。

    新版中的 AV.Object#toJSON 相比于 v2 有以下区别:

    • 如果对象某个字段类型是 Pointer,并且有内容(included),新版中会递归地输出这个字段的有效信息(旧版中会输出一个 Pointer 结构)

      new AV.Query('Child').include('father').first()
        .then(child => child.toJSON().father)
        .then(console.log);
      /*
      v3: {
        objectId: "58a461118d6d8100580a0c54",
        name: "John Doe",
        createdAt: "2017-02-15T14:08:39.892Z",
        updatedAt: "2017-02-16T10:49:00.176Z"
      }
      v2: {
        objectId: "58a461118d6d8100580a0c54",
        __type: "Pointer",
        className: "Parent",
      }
    • 如果字段的类型是 Date,新版中会输出该时间的 UTC 格式字符串(旧版中会输出一个 Date 结构)

      const child = new Child().set('birthday', new Data());
      console.log(child.toJSON().birthday);
      /*
      v3: "2011-11-11T03:11:11.000Z"
      v2: {
        __type: "Date",
        iso: "2011-11-11T03:11:11.000Z"
      }

    更多背景与技术细节请参考 #453

  • 为了更好的隔离服务,我们为每个应用提供了独立的域名。对于小程序用户,请前往 《小程序域名白名单配置》 更新域名白名单。

  • 创建 Roleacl 参数不再是可选的。在 v2 中,如果不指定,SDK 会自动为其设置一个 public read-only 的默认 acl,在新版中必须显式的指定。

    // 之前的用法
    new AV.Role('admin');
    
    // 新版中等价于
    var acl = new AV.ACL();
    acl.setPublicReadAccess(true);
    new AC.Role('admin', acl);

Features

  • LiveQuery 功能允许开发者订阅一个 Query,在 Query 的结果发生变动时实时得到通知。

    • 增加了 Query#subscribe 方法,返回该 Query 对应的 LiveQuery 实例;
    • 增加了 LiveQuery 类,在 Query 结果变化时 SDK 会在 LiveQuery 实例上派发 createupdateenterleavedelete 等事件。
  • 开放了低抽象级别的 AV.request 方法,方便开发者直接调用 LeanCloud Rest API。

  • 增加了 AV.setServerURLs 方法,允许单独配置云函数等服务的域名以进行本地调试。

    AV.setServerURLs({
      engine: 'http://localhost:3000',
    });
  • 支持在 Node.js 中通过 Stream 构建 AV.File(仅支持中国节点)。

    const fs = require('fs');
    const readStream = fs.createReadStream('sample.txt');
    const file = new AV.File('filename', readStream);

Bug Fixes

  • 修复了在中国节点 Node.js 中上传文件会阻塞当前线程的问题。

v3.0.0-beta.3

02 Jun 10:58
Compare
Choose a tag to compare
v3.0.0-beta.3 Pre-release
Pre-release

Features

  • LiveQuery

Miscellanies

  • 包含了 v2.3.0-v2.4.0 的新特性与修复。

v2.5.0

01 Jun 05:35
Compare
Choose a tag to compare

Bug Fixes

  • 修复了查询 Role 时错误的打印了 deprecation 警告的问题

Features

  • User#follow 增加了一种重载,现在可以通过 options.attributes 参数为创建的 FollowerFollowee 增加自定义属性,方便之后通过 User#followerQueryUser#followerQuery 进行查询。

v2.4.0

19 May 03:10
Compare
Choose a tag to compare

Bug Fixes

  • 可能导致不兼容 修复了 Query#get 方法在目标对象不存在的情况下会返回一个没有数据的 AV.Object 实例的问题,现在该方法会正确地抛出 Object not found 异常。这个问题是在 2.0.0 版本中引入的。

Features

  • 增加了 Conversation#broadcast 方法用于广播系统消息

v2.3.2

12 May 07:54
Compare
Choose a tag to compare

Bug Fixes

  • 修复了获取图形验证码会导致栈溢出的问题。

v2.3.0

11 May 10:27
Compare
Choose a tag to compare

Features

  • 增加了 AV.Conversation 类。现在可以直接使用 SDK 来创建、管理会话,发送消息。
  • 改进了验证码 API。增加了 AV.Captcha,可以通过 AV.Captcha.request 方法获取一个 Captcha 实例。特别的,在浏览器中,可以直接使用 Captcha#bind 方法将 Captcha 与 DOM 元素进行绑定。

v3.0.0-beta.2

27 Apr 09:33
Compare
Choose a tag to compare
v3.0.0-beta.2 Pre-release
Pre-release

Breaking Changes

  • 为了更好的隔离服务,我们为每个应用提供了独立的域名。对于小程序用户,请前往 《小程序域名白名单配置》 更新域名白名单。

  • 创建 Roleacl 参数不再是可选的。在 v2 中,如果不指定,SDK 会自动为其设置一个 public read-only 的默认 acl,在新版中必须显式的指定。

    // 之前的用法
    new AV.Role('admin');
    
    // 新版中等价于
    var acl = new AV.ACL();
    acl.setPublicReadAccess(true);
    new AC.Role('admin', acl);

Features

  • 开放了低抽象级别的 AV.request 方法

  • 增加了 AV.setServerURLs 方法,允许单独配置云函数的域名

    AV.setServerURLs({
      engine: 'http://localhost:3000',
    });

Miscellanies

  • 包含了 v2.1.3-v2.2.1 的新特性与修复。

v2.2.1

26 Apr 09:00
Compare
Choose a tag to compare

Bug Fixes

  • 修复了 User.requestLoginSmsCodeUser.requestMobilePhoneVerifyUser.requestPasswordResetBySmsCode 方法 authOptions.validateToken 参数的拼写错误。

v2.2.0

26 Apr 07:43
Compare
Choose a tag to compare

Bug Fixes

  • 修复了 Safari 隐身模式下用户无法登录的问题

Features

  • 短信支持图形验证码(需要在控制台应用选项「启用短信图形验证码」)
    • 新增 Cloud.requestCaptchaCloud.verifyCaptcha 方法请求、校验图形验证码。
    • Cloud.requestSmsCodeUser.requestLoginSmsCodeUser.requestMobilePhoneVerifyUser.requestPasswordResetBySmsCode 方法增加了 authOptions.validateToken 参数。没有提供有效的 validateToken 的请求会被拒绝。
  • 支持客户端查询 ACL(需要在控制台应用选项启用「查询时返回值包括 ACL」)
    • 增加 Query#includeACL 方法。
    • Object#fetchFile#fetch 方法增加了 fetchOptions.includeACL 参数。