Skip to content

Releases: leancloud/javascript-sdk

v2.0.0-beta.1

14 Oct 02:47
Compare
Choose a tag to compare
v2.0.0-beta.1 Pre-release
Pre-release

Features

  • 支持微信小程序 0.10.101100

v2.0.0-beta.0

30 Sep 09:29
Compare
Choose a tag to compare
v2.0.0-beta.0 Pre-release
Pre-release

Breaking Changes

  • 移除了所有 Backbone callbacks 回调风格的参数,请使用 Promise 处理异步操作的结果:

    // Backbone callback 回调风格的参数的用法
    object.save(null, {
      success: function(object) {},
      error: function(error, object) {},
    });
    
    // 需要替换为
    object.save().then(
      function(object) {},
      function(error) {}
    );
  • AV.Promise 现在是一个满足 Promises/A+ 标准的实现,所有非标准的方法已被移除,所有非标准的行为已被修正。关于标准 Promise 的更多信息推荐阅读 《JavaScript Promise 迷你书》

  • 如果你 extend 的 AV.Object 子类重写了 validate 方法,当属性无效时现在需要 throw 一个 Error(之前是 return 一个 Error)。相应的,AV.Object#set 方法如果 set 的值无效,需要通过 try catch 捕获异常(之前通过检查返回值是 false)

    // 之前的用法
    var Student = AV.Object.extend('Student', {
      validate: function(attibutes) {
        if (attributes.age < 0) return new Error('negative age set');
      }
    });
    var tom = new Student();
    if (tom.set('age', -1) === false) {
      console.error('something wrong');
    } else {
      tom.save();
    }
    
    // 现在的用法
    var Student = AV.Object.extend('Student', {
      validate: function(attibutes) {
        if (attributes.age < 0) throw new Error('negative age set');
      }
    });
    var tom = new Student();
    try {
      tom.set('age', -1);
    } catch (error) {
      console.error(error.message);
    }
    tom.save();
  • AV.Query 中的大部分 API 启用了更加严格的参数检查。特别的,对于以下 API,当指定 value 的值为 undefined 时会抛出异常(之前会直接忽略这个条件或限制)

    • 参数形如 (key, value) 类型的条件限制 API,如 AV.Query#equalTo(key, value)
    • AV.Query#limit(value)
    • AV.Query#select(value)
  • AV.Query#get 方法现在尊重 Class 的 get 权限设置(之前检查的是 find 权限)

  • AV.User#_linkWith 的第二个参数中的 options.authData 字段提升为第二个参数

    // 之前的用法
    user._linkWith('weixin', {
      authData: {
        access_token: 'access_token'
      },
    });
    
    // 现在的用法
    user._linkWith('weixin', {
      access_token: 'access_token'
    });
  • 移除了 deprecated 的 API,包括:

    • AV.Object#existed
    • AV.User.requestEmailVerfiy (typo)
    • AV.useAVCloudCN
    • AV.useAVCloudUS
    • AV._ajax
    • AV._request

Bug Fixes

  • 修复了应用内社交模块的方法在未登录状态下传入了 sessionToken 仍然抛未登录异常的问题

Features

  • 对象存储功能支持微信小程序
  • 绝大部分会发起网络请求的 API(如保存一个对象)支持通过 option.useMasterKey 参数指定该次操作是否要使用 masterKey,设置了该选项的操作会忽略全局的 useMasterKey 设置

v1.5.0

23 Sep 03:38
f51ec3e
Compare
Choose a tag to compare
  • 增加了 AV.User#getRoles 方法
  • 增加了 TypeScript 定义文件
  • 修复了通过浏览器 input 上传文件 metaData.size 信息缺失的问题

v1.4.0

01 Sep 02:58
bc83d90
Compare
Choose a tag to compare

相比于 v1.4.0-beta.0:

  • 修复了 AV.File#save 方法的 onprogress 参数失效的问题

v1.4.0-beta.0

23 Aug 03:56
89ba743
Compare
Choose a tag to compare
v1.4.0-beta.0 Pre-release
Pre-release
  • 支持 ES2015 的 extends 语法来声明 AV.Object 的子类,增加了 AV.Object.register 方法用于注册声明的子类。

    class Article extends AV.Object {}
    AV.Object.register(Article);
  • AV.Query 支持查询 AV.File

  • 修复多次调用 AV.Object.extend('ClassName') 后可能导致堆栈溢出的问题

  • 修复 AV.Query#addDescending 没有返回 query 的问题,现在支持链式调用了

  • 修复 React Native 0.32 中找不到 react-native 模块的问题

v1.3.3

23 Aug 03:12
f4e1d95
Compare
Choose a tag to compare
  • 修复在 AV.Object 子类某属性的 getter 中调用 AV.Object#get 方法时调用栈溢出的问题

v1.3.2

26 Jul 07:07
1679806
Compare
Choose a tag to compare
  • 修复 A promise was resolved even though it had already been resolved 异常问题

v1.3.0

20 Jul 07:43
dafc245
Compare
Choose a tag to compare
  • 增加 AV.Object.fetchAll() 方法
  • 修复抛出的异常没有堆栈信息的问题
  • 修复在某些异常情况下,发出的请求不带域名的问题

v1.2.1

30 Jun 03:20
e1b82e9
Compare
Choose a tag to compare
  • 修复美国节点文件上传成功后 File 实例没有 id 的问题

v1.2.0

29 Jun 08:37
Compare
Choose a tag to compare
  • 增加 AV.User.associateWithAuthData() 方法
  • 修复美国节点文件上传失败的问题
  • 修复 AV.User.signUpOrlogInWithAuthData() 省略 callback 参数会报异常的问题
  • 修复 React Native 中 import leancloud-storage 抛 cannot read property "APIServerURL" for undefined 异常的问题