Tutorial: SDK 版本发布日志

SDK 版本发布日志

版本号major.minor.patch.temp具体规则如下:

  • major:主版本号,如有重大版本重构则该字段递增,通常各主版本间接口不兼容。
  • minor:次版本号,各次版本号间接口保持兼容,如有接口新增或优化则该字段递增。
  • patch:修订版本号,如有功能改善或缺陷修复则该字段递增。
  • temp:临时版本号, 通常是内部测试或紧急修复的版本。这个版本号可以根据需要进行更新。

注意:

  • 建议您及时更新至最新版本,以便获得更好的产品稳定性及在线支持。
  • 版本升级注意事项请参见:升级指引

Version 3.2.6.6

Feature

  • 新增二次重新加会之间设置默认间隔时长3秒,以免太频繁引发服务器的黑名单机制。且新增接口room.setRejoinInterval(rejoinInterval)设置自定义的间隔时长。

Improvement

  • 重连&重新加会逻辑重构优化。

Version 3.2.6.5

Feature

  • 新增白板授权校验功能,因客户端与服务器端都有新增PDU,客户端有做兼容老服务器版本。应用层在调用user.createBoard时,该方法变成异步方法。

Version 3.2.6.4

Feature

  • 修改sdk包名。

Improvement

  • 中性化操作
  • 优化打包后的jsdoc文档

Version 3.2.6.3

Improvement

  • 房间重连的逻辑重构。

Version 3.2.6.2

Feature

  • 添加屏幕音频类和订阅取消订阅相关逻辑。

Version 3.2.6.1

Improvement

  • 优化返回应用层的 error message, 翻译为英文。

Version 3.2.6.0

Bug Fixed

  • 加入房间连接websocket重试的逻辑修改, 修复websocket第一次连接时间戳不能初始化导致直接跳出重试的逻辑。

Version 3.2.5.9

Feature

  • 房间级别添加状态属性roomJoinState
    • 新增设置websocket超时时长和连接次数的接口setConnectNumAndTimeoutForSocket

Improvement

  • 加入房间连接websocket逻辑增加出错时根据应用层设置的超时时长和次数进行重连的逻辑
    

Version 3.2.5.8

Improvement

  • serverinfo与get_mcu 二个restful接口逻辑合并(取消调用get_mcu),但需要兼容老版本的服务器.另打印服务器版本相关信息

Version 3.2.5.7

Improvement

  • websocket连接异常时将错误信息抛给应用层
    

Version 3.2.5.6

Bug Fixed

  • socketManager收到白板时new Board内参数顺序和web sdk保持一致,修复收到ios和android白板时outputWidth变成description的问题

Version 3.2.5.5

Feature

  • room对象上新增接口joinEfficient(serverURI, accessToken, userId, userName, userData, password),用于合并avdEngine.init()和room.join()的功能,减少应用层异步调用的次数。

Improvement

  • 白板批注初始化传入参数类型变更,之前只需传入canvas-id,改为需要传入CanvasContext对象,原因:

    微信从基础库2.9.0版本开始已删除wx.createCanvasContext接口,只能通过wx.createSelectorQuery()查询canvas元素并获取context对象,例如:

    wx.createSelectorQuery().select('#myCanvas').context(function(res){

    ​ // 节点对应的 Context 对象。如:选中的节点是 canvas 组件,那么此处即返回 CanvasContext 对象

    ​ annotation.init(res.context);

    }).exec()

  • SDK内UUID封装成内部模块,不再依赖外部引入
    

Bug Fixed

  • 因网络原因重新加会后,原video对象的ownerId属性为空导致重新加会的自动订阅取不到相应的用户,引发video的对象不会触发Enum.UserCallback.subscrible_camera_result回调,应用层可能取到的拉流地址为空

Version 3.2.5.4

Improvement

  • 操作系统版本及手机型号等信息上报给服务器

Version 3.2.5.3

Feature

  • 新增媒体流推送保活功能

    ​ * 新增媒体流推送失败通知: app.data.getAvdSDK.room.addCallback(app.data.getAvdSDK.Enum.RoomCallback.stream_keep_alive_timeout_notify, this.onStreamKeepAliveTimeoutNotify);

    ​ * 新增设置媒体流推送的保活时长(单位为毫秒),不设置默认为15000毫秒:app.data.getAvdSDK.advEngine.setDefaultMediaPublishKeepAliveTime(keepAliveTime);

    ​ * 新增设置当前流推送的保活时长(单位为毫秒):

    ​ video.setPublishKeepAliveTime(keepAliveTime);

    ​ audio.setPublishKeepAliveTime(keepAliveTime);

    ​ screen.setPublishKeepAliveTime(keepAliveTime);

Version 3.2.5.2

Improvement

  • 重新加会时,原应用层设置的视频流名称依然有效,不需要应用层再次设置
  • 控制台日志打印逻辑重构,允许设置日志级别,见avdEngine.setLog(app.data.getAvdSDK.Enum.LogLevel.debug);
  • 日志内容通过应用层提供的函数进行上报

Version 3.2.5.1

Feature

  • 新增masterServer中实现removeBoardMsg
    

Version 3.2.5.0

Feature

  • 新增加入房间时,SDK支持房间密码验证

Improvement

  • 版本从1.3.2直接升到3.2.5.0的原因: 以前上报给服务器的版本号一直是写死的一个值3.2.0.0, 为了版本兼容而升到这么高的版本,后续上报给服务器的版本都会更新

Version 1.3.2

Feature

  • 新增关于restful接口返回值的日志

Improvement

  • ssrc的长度由5位改成10位

Bug Fixed

  • restfulServer.js中去掉getMiniProgramAccessToken 及getMiniProgramwxacode, 否则会影响小程序发布审核失败.

Version 1.3.1

Improvement

  • socketManager中onError,onClose事件逻辑优化

Bug Fixed

  • 修复第一次重新加会失败后不再重新加会的问题

Version 1.3.0

Feature

  • gulpfile.js中在执行task的任务上添加gulp.series方法以适配gulp4

Improvement

  • annotation中添加undoArray及相关方法,调整批注撤销逻辑
  • socketManager中几个地方StreamStatus改成Enum.StreamStatus
    

Bug fixed

  • 当A、B用户都在房间时,B用户网络不好重新加会,这时A收到812后离开房间,等B用户重新加会成功后room.getParticipants()中还能查到A用户信息

Version 1.2.9

Improvement

  • messageManager中收到公聊和私聊getMessage内时间戳逻辑调整,使用服务器时间戳

Version 1.2.8

Improvement

  • 白板清除的逻辑优化,之前的算法索引有问题导致可能删除不彻底
  • 删除批注时添加到annotation2BoardId中逻辑改为从该map中删除

Version 1.2.7

Improvement

  • 网络不好重新加会成功后,原共享的白板及相关批注等逻辑优化

     1.  切换到鼠标状态原画笔还存在
    
     2.  橡皮擦不能连续擦除
    
     3.  关闭白板再重新打开,不能恢复之前没被擦掉的批注
    
     4.  断线重连后,关闭再打开白板,之前的批注擦不掉
    
  • 白板橡皮擦逻辑针对对号、错号、固定箭头判断区域做了增大处理

Version 1.2.6

Improvement

  • 关闭房间回调及踢人回调等逻辑优化
  • 橡皮擦由点击改为拖动擦除

Version 1.2.5

Feature

  • 新增支持白板功能

Version 1.2.1

Feature

  • user对象新增二个接口:remotecmdMuteMicrophone(userId),remotecmdUnmuteMicrophone(userId)

  • 支持微信小程序插件
    
  • 从该SDK1.2.1版本开始,小程序应用层调用调整如下:

    • //avdSDK是引用小程序SDK的全局变量,请保证变量名不变,改成 
      

      ​ getAvdSDK: null, //名字可以自定义

    • app.js中引入公司SDK,
      
      •  	var avdSDK = require('/lib/cn.tee3.wxavd1.2.0.js');
        

        ​ self.data.avdSDK.restfulServer = new avdSDK.RestfulServer();

        ​ self.data.avdSDK.avdEngine = new avdSDK.AVDEngine();

        ​ self.data.avdSDK.client = new avdSDK.Client();

        ​ self.data.avdSDK.signalClient = self.data.avdSDK.client;

        ​ self.data.avdSDK.Enum = avdSDK.Enum;

        ​ self.data.avdSDK.Util = avdSDK.Util;

        改成
        

        ​ var avdSDK = require('./lib/cn.tee3.wxavd1.2.1.min.js');

        ​ var pluginStore = new avdSDK.PluginStore();

        ​ self.data.getAvdSDK = pluginStore.getAvdSDK();

    • app.js中 this.data.avdSDK 全改成this.data.getAvdSDK

    • pages中的所有js文件中,app.data.avdSDK 全改成 app.data.getAvdSDK
      

Version 1.2.0

Feature

  • 新增回调onMediaPlayStartedNotify,onMediaPlayStopedNotify

Version 1.1.9

Feature

  • 新增打开/关闭远端用户的音视频,同时接受被远端用户打开/关闭自己的音视频

Version 1.1.8

Feature

  • 摄像头数据更改接口video.updateCameraData(level, description);

Version 1.1.7

Feature

  • mqtt中,client.login做了超时机制
    
  • 方法出错,抛出的错误参数统一为:error.code, error.messag

Version 1.1.5

Feature

  • 支持MQTT 信令
  • lib/mqtt.min.js定制过,支持多webstocket连接:socketTask = wx.connectSocket({

Version 1.1.0

Feature

  • proto/weichatPb/EventEmitter.js 新增了 delete方法
  • room.js 新增了 offCallback 方法
    
  • 应用层新增一个全局的 taskId

Improvement

  • 重复调用 addCallback 时候 使用的 orderId 删除了原有的随机数模式,变为 taskId递增方式。
  • addCallback 的参数 后面加上orderId作为标识
  • callback回调 成功,失败,或者超时的时候,调用 offCallback 删掉已经执行过的callback