# EPT-AND版本更新日志

>
> 部门：智能应用项目部
>
> 作者：baoxl
>

---

## 版本v2.4.8

- [+] RFCardReader模块的寻卡和激活监听器新增getCardType接口，获取寻卡成功得到的卡片类型；
- [*] 修复EMVL2Process新增接口：setEMVOptimization/manageCAPubKey/manageSMCAPubKey调用报错误的问题；
- [*] 修复UsbHidDevice模块ModeValue枚举类型常量值单词拼写错误的问题；


## 版本v2.4.7

- [+] EMVKernel和EMVL2Process（EMV轻内核模块）新增非接交易100ms流程优化接口：setEMVOptimization/manageCAPubKey/manageSMCAPubKey；
- [+] 补充UartDevice/BRScanner/Scanner/Channel模块错误码和通道的文档说明；


## 版本v2.4.6

- [*] 修复UartDevice模块默认都使用第一次传入的设备名称为参数打开设备的问题；
- [+] WIFI底座和底座以太网模块补充pair和setEthernetInfo两个接口的错误码，用于表示配对/设置成功但重连底座失败的错误；


## 版本v2.4.5

- [*] 修复UartDevice设备模块未兼容适配蓝牙底座的问题；


## 版本v2.4.4

- [+] PINPAD模块新增setPinEntryExtraConfig接口，更新pinpad jar包；


## 版本v2.4.3

- [*] 修复SystemInfomation模块getDevelopState获取的开发状态错误的问题，并新增getDeviceMode接口；
- [*] Scanner模块适配兼容WIFI和蓝牙底座串口外接条码枪设备（CDC模式），新增initChannel接口切换串口通信通道；
- [*] BRScanner适配兼容WIFI和蓝牙底座串口外接BR200或DCS20扫描设备；
- [+] 新增串口设备模块UartDevice，支持物理有线连接和无线底座连接串口；
- [+] 新增虚拟USB-CDC和USB-HID设备模块接口；
- [+] PINPAD模块新增建造者模式（Builder）构造PINPAD对象；
- [*] 修复蜂鸣器模块调用新增调频蜂鸣接口会影响旧蜂鸣接口的蜂鸣频率的问题；


## 版本v2.4.2

- [+] 蜂鸣器模块软件模拟和硬件蜂鸣都支持蜂鸣调频入参，支持既定几种蜂鸣频率设置；



## 版本v2.4.1

- [*] 修复底座以太网模块返回的底座以太网信息内容显示乱码问题；
- [+] 参数文件模块新增isParameterExist/addParameter/modifyParameter接口；
- [*] 修正DockPort模块clearBuffer注释；


## 版本v2.4.0

- [+] 接触式IC卡模块新增exchangeApduExtend同步和异步接口，以支持扩展卡APDU指令交互功能；
- [*] 调整双屏控制模块服务绑定和结果通知方式，去掉服务断开自动重绑定机制；
- [+] 新增智能一体秤J10闪光灯控制模块（FlashLight）；
- [+] 蜂鸣器模块新增调频蜂鸣器接口；
- [*] 注释说明EthernetInfo配置中innerIp为预留参数；


## 版本v2.3.14

- [+] PINPAD模块新增startDukptVerifyPin接口；
- [*] 修复MagAuthMode接口注释说明错误的问题；
- [*] 修复磁卡读卡器模块searchAuthCard接口刷2磁道为空磁道磁卡时，返回的ICFlag为-48的问题；


## 版本v2.3.13

- [*] 修复磁卡读卡模块searchAuthCard接口返回加密的第1磁道数据为乱码的问题；
- [+] 蜂鸣器模块新增enableBeep和setBeepTone两个JNI接口；
- [*] 修复ByteUtils模块bcd2Ascii接口对边界值转换错误的问题；
- [*] 修复PINPAD模块loadPlainTextKey/loadWorkKey接口载入人脸数据加密密钥的密钥配置可导出属性配置错误的问题；
- [*] 修复SerialPort模块write/read接口传入非法入参造成运行时异常问题；
- [+] 非接读卡模块ioctl接口补充错误码定义；
- [*] 磁卡读卡器模块IO控制接口更名为ioctl，原接口magIOControl标记为废弃；
- [+] 非接读卡器模块新增异步ioctl接口，已有的同步IO控制接口更名为ioctl，旧接口标记为废弃；


## 版本v2.3.12

- [+] PINPAD模块loadPlainTextKey和loadWorkKey接口新增下载人脸数据加密密钥的支持；
- [*] 修复图片格式转换模块不支持8位位图格式图片转换的问题；


## 版本v2.3.11

- [+] Pinpad模块新增对西班牙密钥注入需求的支持，涉及改动的接口有loadPlainTextKey,loadWorkKey和generateKey接口；
- [*] 更新pinpad.jar包；


## 版本v2.3.10

- [+] MagCardReader模块新增对日本JIS-II型磁条卡的支持；
- [+] RFCardReader模块新增rfcardIOControl非接IO控制接口；


## 版本v2.3.9

- [+] PINPAD模块新增对PIN_BLOCK_FORAMT.BLOCK_CUSTOM_FMT_1格式的支持；
- [+] 底座模块新增WIFI底座USBDevice常量定义；
- [+] MagCardReader模块新增magIOControl入参CMD常量定义；
- [+] MagCardReader模块新增magIOControl接口返回错误码常量定义；


## 版本v2.3.8

- [*] 更新pinpad.jar包，pinpad模块新增signData和loadEncKeyC6接口，loadPlainTextKey接口支持RSA密钥下载；
- [+] 轻EMV内核模块新增updateCallback接口，以支持两个应用之间多次的EMV流程转移操作；
- [*] 更新算法模块AES接口的注释说明；


## 版本v2.3.7

- [*] 修复InsertCardReader模块未赋值传入的deviceName参数问题；



## 版本v2.3.6

[+] 主控核心模块新增listenServiceDeath接口，用于监听主控服务死亡通知；



## 版本v2.3.5

- [*] 修复WifiDocker模块addNetwork接口参数传输类型错误的问题；
- [*] 调整Dock各模块的状态码、错误码的常量定义，以及各模块的接口说明；


## 版本v2.3.4

- [*] Docker模块权限改为公共可访问，DockPort模块删除256000bps波特率常量定义；
- [+] RFCardReader模块新增pollCard非接同步寻卡接口；
- [*] Fiscal模块补充一些错误常量定义，完善接口说明描述；


## 版本v2.3.3

- [*] 调整Docker模块常量定义，新增addNetwork、callPairActivity和updateConfig接口；
- [*] 调整Docker底座模块类层次结构和部分接口内部实现；
- [*] 调整Scanner模块读串口数据超时时间，由1秒改为200毫秒，减少扫码返回的等待时间；


## 版本v2.3.2

- [+] BRScanner模块适配DCS20/DCS30扫码盒子；
- [*] 修复图片二值化接口在64位系统上运行时转换图片数据格式错误的问题；
- [*] Docker补充设备端口和错误码常量定义，虚拟串口补充新增的波特率定义；


## 版本v2.3.1

- [+] PINPAD模块新增对PIN BLOCK FORMAT4格式PIN加密的支持；
- [+] 新增底座设备模块Docker，以及底座串口（DockPort）模块和底座以太网（DockEthernet）模块；
- [+] 蜂鸣器模块新增模拟蜂鸣器功能；

## 版本v2.3.0

- [+] Fiscal税控模块新增获取电源状态接口；
- [+] Fiscal税控模块新增电源控制接口powerOn/powerOff；


## 版本v2.2.11

- [+] Printer模块补充3个错误码，以及错误描述；
- [*] 回调监听开放接口，可以修改回调执行的线程（默认为UI线程，可改为执行在回调RPC线程中）；


## 版本v2.2.10

- [*] EMV模块主控返回的应答数据长度错误，接口执行默认返回成功，以兼容存量应用；


## 版本v2.2.9

- [+] 磁卡读卡器模块新增磁道加密寻卡接口searchAuthCard和设置或控制磁卡相关参数或功能接口magIOControl;
- [+] 非接读卡模块RFCardReader新增非接节能接口：setPowerSave和getPowerSave，解决非接模块功耗高问题；
- [*] 修复Scanner模块应用包名为空造成异常的问题；


## 版本v2.2.8

- [+] DeviceService新增isLogin接口，查询应用登录主控服务状态；
- [+] 主控核心模块新增isClientLogin接口，用于查询应用登录主控服务的状态；
- [+] 打印机Printer模块Progress新增setCallbackRunOnIPCThread接口，设置打印回调结果运行在Binder线程；
- [*] 修复Scanner外接扫描枪模块scan接口无法连续扫描条码的问题（v2.2.0版本引入）；
- [+] Scanner外接扫描枪模块新增setDecoder接口，支持设置解码字节编码格式（扫码结果带中文字符，可能存在多种编码格式）；
- [+] Scanner外接扫描枪模块增加对0A和0D 0A两种结束符的支持；
- [*] 调整libeptand JNI层二维码图片生成接口日志输出；


## 版本v2.2.7

- [*] 修复Scanner模块setOnScanListener入参不允许为null的问题；
- [*] 修改主控核心模块回调事件处理机制，由遍历通知同一事件类型监听器改为只通知最早一个监听器，避免同一个时间监听器注册多个，造成多次通知的问题；
- [*] 修复EMVKernel模块在未调用startEMV启动EMV流程情况下，调用transferEMV抛运行时异常问题；
- [*] 修复CMEM模块jni层代码或运算符写错问题；
- [*] Algorithm算法模块常量重定义，并完善一些接口的javadoc注释说明；
- [+] EMVKernel模块补充对switchDebug接口的注释说明；
- [+] 补充Pinpad模块getErrorDescription接口错误码对应的错误描述；
- [*] 修复Pinpad模块startOfflinePinEntry接口脱机PIN输入的reactionMode与联机PIN输入不一致问题；
- [*] Printer打印机模块修复repeat接口调用异常问题，修正接口注释说明，并标记为废弃接口；
- [*] RFCardReader非接卡模块新增错误码定义，新增setTime设置卡片超时时间接口，寻卡并激活监听回调改为在主线程上回调；
- [*] SignPanel模块jbigCompression接口标注为底层未实现，功能暂不支持；
- [+] RFCardReader非接模块增加对ultralight卡支持，同时完善模块的接口注释，代码结构重构优化，减少重复代码；
- [*] 修复双屏模块DualScreenHelper对新增智能收银终端不支持的问题；
- [*] VBTSerialPort模块统一read/write/clearBuffer/close接口在设备未打开情况下的错误返回码为ERROR_HANDLE；
- [*] 修复VBTSerialPort模块close接口未判断模块打开状态问题；
- [*] 修复VBTSerialPort模块isBufferEmpty未判断设备是否打开的问题；


## 版本v2.2.6

- [*] 调整虚拟蓝牙串口模块VBTSerialPort实现机制，模拟标准串口行为，即允许多个虚拟串口同时操作一个实际的物理串口设备；
- [*] 修复轻EMVKernel模块将无返回值请求误返回错误的问题；


## 版本v2.2.5

- [+] EMVKernel模块补充EMVTag和一些证件类型常量定义；
- [*] SignPanel模块将stopSign接口标记为废弃接口；
- [*] 修复eptand_jni层TMS模块getAppInformation接口存在内存泄漏的问题；
- [*] ImageTransformer代码命名优化，SerialPort模块writeMs接口注释完善；


## 版本v2.2.4

- [+] ImageTransformer工具类新增convert1BitBmp和transformToBmpFile接口，图片转换和二值化处理实现放到JNI层，优化图片转换的效率；
- [+] JNI层新增BMP图片二值化处理和bitmap图片像素转换成RGB值；
- [+] BmpUtil类新增BMP图片二值化处理（binarizeBmpFile）和BMP图片像素转换成RGB值（convertPixel2RGB)接口；
- [*] SerialPort串口模块新增writeMs和readMs接口，与串口EA层接口对应；
- [*] Printer模块优化printImageNew和printMonochromeBmp接口图片转换和二值化处理效率；


## 版本v2.2.3

- [*] 还原Printer模块AscScale[SC2x1SP]的定义，删除有兼容性问题；
- [*] EMVL2Process模块开放manageRecCert和manageDOL两个接口，并完善这些接口的注释说明；
- [*] 轻EMV内核模块修改updateCAIndexList接口支持第二个入参为null；
- [+] VBTSerialPort模块增补接口返回错误码0xFE；


## 版本v2.2.2

- [*] 虚拟蓝牙串口模块新增错误码及调整接口返回值注释内容；
- [*] 补充Printer模块printMixStyleLine接口的注释说明，删除AscScale[SC2x1SP]无效定义；
- [*] 补充EMVL2模块setDeviceHandle接口注释说明；
- [*] 补充轻EMV内核模块addAID和manageAID接口对入参kernelId的注释说明；


## 版本v2.2.1

- [+] InnerScanner内置扫码模块新增setDevice接口，设置扫码使用的设备类型；
- [+] Printer打印机模块新增setStyle和printMixStyleLine接口，支持单条打印指令设置多样式属性以及混合文本行打印；


## 版本v2.2.0

- [+] 新增重新设计定义的EMV轻内核模块EMVKernel，解决目前EMV轻内核模块接口杂乱的问题；
- [*] 修复SystemInfomation.getDevelopState接口IO流对象未关闭造成内存泄漏问题；
- [*] 修复Digled模块getLightNumber和getLineNumber返回数量错误的问题；
- [*] 修复Scanner模块扫码内容有中文字符返回内容乱码的问题；
- [*] FileBackuper增加私有构造函数，避免该类被实例化；
- [*] Pinpad模块startPinEntry和startOfflinePinEntry接口增加入参非空检查；
- [*] 修复Fiscal模块getInstance获取到的设备对象为null的问题；
- [*] 修复生成javadoc过程中由于注释问题造成的错误警告；
- [*] 新增一些模块的错误码常量定义和格式化常量注释；


## 版本v2.1.9

- [*] fiscal模块默认设备名称改为"fiscal"；
- [*] 修改VBTSerialPort虚拟蓝牙串口isBufferEmpty实现；
- [*] 修复FelicaReader/Fiscal/InsertCardReader模块实例化对象时，未按传入的设备名称实例化，造成设备名称都为默认值的问题；
- [*] 修复客户端登出主控服务时，未移除虚拟蓝牙串口设备对象实例的问题；


## 版本v2.1.8

- [*] 修复EmvRequestExecutor对返回值的判断造成传统EMV内核actionAnalysis接口出参未赋值的问题；
- [*] 修复VBTSerialPort设备除open接口外其他接口未下送设备名称造成接口调用失败问题；


## 版本v2.1.7

- [*] 修复Digled模块getLightType接口调用抛出空指针异常问题；
- [*] 更新轻EMV内核transfer接口说明；


## 版本v2.1.6

- [*] NFCRFCardReader模块的closeDevice接口还原成void类型返回值，解决无法兼容旧版本问题；
- [*] 修复Digled/EMVL2/FelicaReader/Fiscal/IDCardReader/InnserScanner/InsertCardReader/MagCardReader/NFCRFCardReader/Printer/PSamCard/RFCardReader/SignPanel模块删除实例对象(removeInstance)接口调用会抛出并发修改的异常问题；
- [*] 修复NFCRFCardReader模块重构造成startPoll结果回调失败的问题；
- [*] 修复登出客户端时未移除psam实例对象的问题；
- [*] 修复轻EMV内核模块传入应用包名为null抛出运行时异常问题；


## 版本v2.1.5

- [*] 修复主控核心模块setTaskID和runOnIPC接口包名未做转换造成请求执行失败问题；
- [*] 修复轻EMV内核模块setTLV接口不支持传入value参数为空的问题(传入value为空表示清空该TAG设置)；


## 版本v2.1.4

- [*] 修复CashBox模块构造函数入参顺序传反的错误；


## 版本v2.1.3

- [*] 修复轻EMV内核模块clearDriver接口调用失效问题；


## 版本v2.1.2

- [*] 修复客户端登出主控时调用removeInstance接口删除客户端关联的设备实例对象报错问题；
- [*] 修复Printer模块printImage接口传入的打印图片路径不在造成应用运行时崩溃问题；
- [*] 统一各接口对byte[]类型入参参数合法性检查标准，只检查是否为空指针，不判断数组是否为空；


## 版本v2.1.1

- [*] 修复FelicaReader/Fiscal/InsertCardReader/NFCRFCardReader/SignPanel/VBTSerialPort等模块removeInstance可能删除不完全匹配应用设备的问题；
- [*] Pinpad模块在close关闭设备时情况PIN输入监听器引用，修复监听器可能造成的调用方内存泄漏问题；
- [*] NFCRFCardReader模块代码重构优化；
- [+] 虚拟蓝牙串口模块增加错误码说明和接口注释说明；
- [*] 重构Digled数码管模块代码，减少重复代码；
- [*] 重构SignPanel模块代码，减少重复代码；
- [*] CStruct解析主控返回数据增加边界校验，避免主控返回数据错误造成ept崩溃的问题；
- [*] 修复EMV内核模块与主控交互接口未处理错误返回值的问题；


## 版本v2.1.0

- [+] 新增虚拟蓝牙串口设备模块VBTSerialPort;
- [*] 优化SignPanel、RFCardReader、NFCRFCardReader、InsertCardReader、Fiscal、Felica等设备模块单例对象的管理实现，由两个Map表改为一个Map表存储管理。
- [+] 完善FelicaReader模块和Pinpad模块注释说明；
- [*] 修复Pinpad模块loadEncMainKey接口对传入KCV为null仍执行校验的问题；

## 版本v2.0.2k

- [+] 完善HSM模块的注释说明；
- [+] 完善EMV轻内核的接口注释说明；
- [*] 整理和补充EMV轻内核模块的常量定义；
- [*] 轻EMV内核模块开放管理AID参数接口manageAID，以支持部分选择所需的入参类型；
- [*] 修复RFCardReader模块activate接口未检查入参有效性问题；
- [+] 设备模块检查构造设备对象时传入的应用包名和设备名称参数，对于无效入参抛出运行时异常错误；
- [*] 各设备模块的removeInstance方法改成私有，禁止用户掉用该内部使用接口；
- [+] jni层接口调用增加底层接口调用失败日志输出；


## 版本v2.0.2j

- [*] 修复打印机模块printText入参为null造成崩溃问题；
- [*] 减少打印机模块的缓存数据拷贝次数，优化打印效率；
- [*] 主控核心模块修复重复login主控造成异步接口调用无法收到回调通知的问题；
- [+] RequestCode增加请求码与文本描述映射表，方便日志输出查看；
- [*] 修复接触式卡模块和Mifare卡模块对入参为null检查方式不一致问题；


## 版本v2.0.2i

- [*] 主控核心模块login/logout调整，允许重复login和logout操作，不再先判断客户端当前登录或登出状态；
- [+] 新增证书管理与加密模块Hsm，提供证书的存取功能；
- [-] 删除无用的dependece模块代码及相关依赖的代码；
- [+] 轻EMV内核模块新增switchDebug日志开启切换接口；

## 版本v2.0.2h

- [*]异步回调接口统一对入参监听器非空的检查，为null则抛出运行时异常；
- [*]修复多应用情况下，应用logout未清空异步调用接口监听器造成再次login执行异步调用无效的问题；
- [*]MasterController模块login、setTaskId接口不再判断是否已登录主控，允许多次登录；
- [+]DeviceService新增init接口，执行SDK初始化操作；

## 版本v2.0.2g

> 版本日期：2018/6/28

- [*] AT1604卡模块修复setCardType未更新cardType的问题，新增个人化熔断接口blow;
- [+] EMVL2内核模块新增设置设备句柄接口setDeviceHandle；
- [+] 各设备模块异步调用接口增加执行失败错误日志输出，方便后续问题排查；
- [*] 串口设备模块初始设备句柄值改为-1，修复默认句柄为0，设备未打开也能写入成功的问题；

## 版本v2.0.2f

> 版本日期：2018/6/12

- [+]At1604Driver模块增加卡类型常量定义以及设置卡类型接口setCardType；
- [+]At24CxxDriver模块补充128和256两种卡类型常量定义；
- [+]M1卡模块增加request/anticoll/select三个接口；
- [+]卡驱动工厂增加AT24C128和AT24C256两种卡类型驱动支持；
- [+]RFCardReader模块增加openDevice/closeDevice接口；


## 版本v2.0.2_20180428

> 版本日期：2018/04/28

- [+]SystemInfomation工具类增加isModuleExist和getConfig接口，用于获取系统模块配置情况；
- [*]修复ProcessRestrict标志位判断错误问题；
- [+]优化EPT层回调事件输出日志，将错误码改为对应的事件名称输出，便于调试；


## 版本v2.0.1_20180416

> 版本日期：2018/04/16

- [*]修复FelicaReader模块felicaCommand异步接口未设置设备名称造成一直回调onError问题；
- [*]修复EMVL2处理限制接口中ProcessRestrict类标志位索引指定错误的问题；


## 版本v2.0.1_20180413

> 版本日期：2018/04/13

- [+]Pinpad模块增加交行公网主密钥下载方案接口：checkAndSaveBocomPk，更新injectBocomRemoteKey接口增加入参；
- [*]更新pinpad.jar以支持新增的交行公网主密钥下载接口；


## 版本v2.0.0_20180409

> 版本日期：2018/04/09

- [+]新增Felica卡读卡设备模块；
- [+]签名板SignPanel模块增加stopSign接口；
- [+]轻EMV内核增加对transfer接口调用检查判断，确认转移应用是否存在；
- [+]传统EMV内核新增setRandSelectionData接口，以及startQPBOC失败增加onFinish回调通知；
- [*]修复银联直连版本打印交易明细不全的问题；
- [*]各单例设备对象，在客户端logout时清除异步接口注册的回调监听器，避免内存泄漏问题；
- [*]修复TerminalConfiguration对象未提供设置hashValue属性的问题；
- [*]主控request接口判断应用如果未登录，则抛出异常；
- [*]Pinpad模块open接口实现调整，每次open都重新打开设备对象；getKapMode接口增加创建kap处理；
- [*]修改异步回调接口监听器设计，不再在ServiceVariable中保存监听器对象，而是改为保存监听器的ID，避免应用忘记注销监听器造成内存泄漏的问题；


## 版本v2.0.0_20180328

> 版本日期：2018/03/28

- [*]修复打印机模块获取可打印有效宽度失败时，造成图片打印失败的问题；

Pinpad模块：
- [*]修复open接口返回失败时，未设置错误码的问题；
- [+]PINPAD模块新增实现PINELABS定制的远程密钥下载方案的四个接口：generatePineLabsRsa、loadPineLabsRootPK、updatePineLabsPKCertifacate和loadPineLabsSignedKey；

> 版本日期：2018/03/01

Pinpad模块：
- [+] 新增获取交行远程密钥相关数据接口（getBocomRKLData）；
- [+] 新增注入交行远程密钥接口（injectBocomRemoteKey）；
- [+] 新增联迪RKISv2远程密钥下载接口：initRemoteKeyLoadProc、authKMSCrt、checkCIDandSignData和loadRKISv2RemoteKey；


## 版本v2.0.0_20180226

> 版本日期：2018/02/26

Pinpad模块：
- [+] Pinpad模块新增aukCalcData和loadTkEncKey接口，实现AUK对数据实现加解密运算和使用TK下载密文密钥的功能；
- [+] pinpad模块增加非PIN输入功能接口(startKeyPadEntry)，实现电话号码和卡号等输入；
- [*] 修复pinpad模块calcKCV(final int keyid, final int expectKcvLen)接口实现调用接口错误的问题；

设备模块：
- [+]RFCardReader模块新增非接设置参数常量值定义；
- [*]修复打印机模块不支持GB18030-2000字符集编码的问题，打印机模块支持GB18030-2000字符集编码；
- [*]修复同步卡模块中密码校验、读卡片状态、卡片授权验证等接口底层返回失败时，未赋值卡片错误次数的问题；
- [*]修复modem模块检测振铃音底层接口调用错误问题，和读数据接口未判断底层接口返回值问题；
- [*]修复CStruct中setBytes接口对未限制入参数组长度造成拷贝过程数组越界的问题；
- [*]一维扫码库采用动态调用，解决存量终端无一维扫码驱动加载eptand_jni库报错的问题；
- [+]eptand_jni动态库新增两张BMP图片拼接成一张BMP图片接口，满足一行打印两个二维码图片的应用开发需求；

## 版本v2.0.0_20171114

> 版本日期：2017/11/14

设备模块：
- [+]新增NFCRFCardReader模块， 实现NFC二代证读取模块接口，需要与二代证后台配合实现二代证读取和解码功能；
- [+]新增外接S160密码键盘签名板SignPanel模块接口，实现签名获取和jbig编码和解码功能；
- [+]eptand_jni新增一维码编码生成接口，实现一维码各种编码图片数据生成；
- [+]打印模块新增一维码条码打印接口printBarCode，支持传入一维码数据对象为打印参数；
- [+]新增一维码数据对象OdCode，实现一维码各种格式编码生成BMP格式图片数据；
- [+]钱箱模块(CashBox)新增使能/禁用钱箱控制键接口（setCashBoxKey）；
- [*]Pinpad模修复encryptMagTrack接口使用SM4算法时，输出缓存不够大造成返回数据比预期少2个字节的问题；

EMVL2模块：
- [+]新增内核日志选项常量定义；
- [+]新增AMEX卡交易流程接口；
- [+]新增接触式IC卡读取到PAN信息回调事件通知；
- [+]新增读PAN后处理选项接口；
- [+]新增清空EMV事件监听器接口；
- [+]新增AMEX交易模式常量定义；
- [+]新增接口判断卡片是否支持QPBOC联机ODA功能接口：isSupportOnlineODA；
- [+]新增Dicover模块下脱机数据认证接口：dpOfflineAuth；
- [*]修改获取amex交易结果接口amexGetTransResult的返回数据结构体；
- [+]新增闪卡处理接口：qFailRedo；

轻EMV内核模块：
- [+]新增设置和清除卡驱动接口(setDriver/clearDriver)；
- [+]设置公钥接口setCAPubKey支持清空密钥；
- [*]按轻EMV内核文档修正内核输出消息ID的常量定义；
- [*]修复多次回调通知内核事件的问题；
- [+]新增addAID接口，支持传入kernelId参数；

安全算法：
- [+]安全算法模块增加SM2国密算法相关的接口；

其他：
- [+]非接模块新增去激活接口：deactivate;
- [+]eptand_jni的TMS模块新增获取模块配置信息接口；
- [*]BytesUtil工具类增加入口参数为空判断，避免空指针异常问题；
- [*]修复TLV模块解析TLV字符串标签长度解析错误的bug；
- [+]libeptand JNI算法模块增加对SM2算法相关接口的支持；
- [*]修复TLVList中数据内容为空时，toString()接口返回的字符串不为空的bug；
- [*]修复算法模块中，从私钥提取公钥接口(obtainPublicKey)中公钥指数赋值错误的问题；


## 版本v2.0.0_20170906beta

> 版本日期：2017/09/12

主控核心模块：
- [*]修复request接口中未对是否支持IPC标志构造请求parcel对象(IPC请求只传actionCode，非IPC请求需传应用包名+actionCode)，造成轻EMV内核模块非接交易流程无法继续执行和脱机PIN验证失败等问题。

设备模块：
- [+]非接读卡模块：RFCardReader增加外置非接读卡器寻卡和激活接口：searchCardAndActivate(OnSearchAndActivateListenerEx listener);
- [+]传统EMV内核增加脱机PIN验证常量标识：KERNOPT_NEW_OFFPIN；
- [*]Pinpad模块的计算MAC接口检查传入参数是否为null校验；
- [+]系统信息模块增加一个重载的系统时间设置接口：setCurrentDateTime(String packageName, Date dateTime)，支持传入应用包名；


## 版本v2.0.0_20170901beta

> 版本日期：2017/09/04

设备模块：
- [*]修复未登录主控就先实例化设备对象，造成调用设备接口报应用未登录问题；
- [*]修复打印机模块appendCache接口操作对象错误，造成继承使用该接口的银联直连程序打印结果不正确的问题；
- [+]打印机模块新增C10打印机切刀相关的错误码：ERROR_CUTERROR、ERROR_OPENCOVER、ERROR_CUTCLEAN和ERROR_CUTFAULT；
- [+]新增SDK内部日志输出模块Logger，用于管理SDK内部的日志输出；

双屏模块：
- [+]新增客屏强制同显主屏的接口setMirrorMainScreenByForce；
- [*]修复双屏服务连接回调Handler不是主线程Looper造成运行异常的问题；

数码管模块：
- [+]新增C10客屏数码显示模块接口(Digled)；

BR200扫描枪模块：
- [*]修改扫码结果回调接口，返回扫码结果类型由String改为byte数组类型，解决扫码返回结果为中文造成乱码的问题；

EMVL2模块：
- [*]修复AIDInfo类对AID长度计算错误，造成调用setTermAIDList设置AID列表内核返回参数错误的问题；



## 版本v2.0.0_beta

>版本日期：未发布

更新内容：

*整合eptapilibrary以同时支持单应用主控（版本号低于2.0.0）与多应用主控（版本号高于2.0.0）。*

设备模块：
- [+]新增BR200外接扫码模块，支持C10外置BR200扫描枪扫码；
- [+]新增支持C10双屏显示接口模块，支持C10双屏显示功能;
- [+]新增日志模块，用于sdk内部调试日志输出及管理；

EMVL2模块：
- [+]新增传统内核脱机PIN校验功能；
- [*]修复公钥结构体PublicKeyInfo和CAPKey中返回公钥模长度错误的问题；


## 版本v1.3.1

> 版本日期：2017/05/23

HSM模块：
- [+]新增A8迷你付应用开发接口CMem类；

PINPAD模块：
- [+]新增查询当前PIN输入流程信息接口：getPinEntryInfo；
- [+]新增获取所有PINPAD物理设备信息接口：getAllPinpadsInfo；
- [+]新增配置当前关联的PINPAD逻辑设备接口：setPinpadConfig；
- [+]新增计算MAC的重载接口：calcMAC，允许指定算法、填充模式和IV向量；
- [*]修复PIN输入超时设置无效问题；
- [*]修复计算TKKCV返回缓存太大问题；
- [*]修复PIN输入状态错误的问题；
- [*]修复完整PIN输入超时时间默认值不正确问题；
- [+]新增setPinEntryTimeout和setTimeoutBetweenPinKeys接口，可分别设置完整PIN输入超时时间和两个PIN按键输入超时时间；
- [+]新增startPinEntry和startOfflinePinEntry接口，允许调用者自己配置PIN输入各种属性参数；

安全算法模块：
- [+]新增对数据进行SMS4加密或解密的接口：SMS4；
- [+]新增使用SM4规范计算MAC的接口：SMS4CalculateMac；
- [+]新增对指定数据进行SMS3求杂凑接口：SM3；
- [+]公钥和私钥类增加各属性设置接口；
- [*]修复Algorithm模块公、私钥结构体公钥和指数长度定义错误的问题；
- [+]增加resetPinpad，loadPlainTextKey和loadEncKey支持配置的接口；
- [*]安全算法模块的输出参数类型由byte数组改为BytesBuffer对象，方便应用层调用；
- [*]安全算法模块，对SM4算法的参数mode类型改为long，同时增加传入参数检查；

EMVL2模块：
- [*]修复设置paypass和黑名单回调监听器无法接收到回调通知的问题；
- [+]QPBOC增加读取交易货币代码；
- [+]增加是否强制检查非接交易限额设置接口；

公共模块：
- [+]增加获取银联终端唯一识别号TUSN的接口；


## 版本v1.3.0

> 版本日期：2017/03/13

- [+]轻EMVL2内核模块增加开发指南新增的常量定义;
- [+]EMVL2模块增加获取非接错误码接口；
- [*]修复EMVL2模块多次注册EMVL2EventListener的问题;
- [+]接触式CPU卡增加带返回值的卡片下电接口;
- [*]修复RFCardReader模块getLastCardSerialNo接口未按规则解析卡片序列号的问题;
- [+]Printer模块增加单色bmp图片打印接口printMonochromeBmp;
- [+]打印机模块增加printImageNew接口，支持jpg和png等格式图片打印；printMonochromeBmp接口支持jpg和png格式图片打印;
- [*]工具类修复TLV接口对BRETLV长度解析错误的问题;
- [+]增加ImageTransformer类，实现bitmap图片转单色bmp图片;
- [*]修复Android5.1.1系统下JNI调用更严格，造成Modem模块获取状态调用setBytesBufferData崩溃问题;

PINPAD模块:
- [+]支持regionId和keySystem的配置, 新增多密钥体系，包括MK/SK、DUKPT和FIXED_KEY的支持;
- [*]修复载入密钥时，指定KAPID密钥区未创建的问题;
- [+]增加RKIS远程密钥下载相关接口;
- [+]新增获取银联唯一终端号TUSN的接口;
- [+]新增KAP校验、获取等相关接口;


## 版本v1.2.32

> 版本日期：2017/01/10

EMVL2模块：
- [+]增加黑名单匹配回调事件通知及匹配结果设置接口；
- [+]增加paypass事件通知消息；
- [+]轻EMVL2内核模块增加开发指南新增的常量定义；

安全算法（Algorithm）模块：
- [+]增加安全算法模块，支持获取随机数、TDES加解密、AES加解密、MAC计算、SHA1/SHA256/SHA512计算以及RSA公私钥生成及计算；

PINPAD模块：
- [+]增加对国密算法的支持；
- [+]增加一些算法和长度的常量定义；

Printer模块：
- [+]增加设置打印机打印格式接口；
- [+]增加支持大数据量打印的接口execute，解决ept和主控进程间Binder通讯对Parcel传递数据量限制的问题；


## 版本v1.2.31

> 版本日期：2016/12/15

EMVL2模块：
- [+]增加QVSDC的CVM获取接口；

文件模块：
- [+]增加黑名单文件模块，实现黑名单数据管理接口；


## 版本v1.2.30

> 版本日期：2016/10/12

非接卡：
- [+]主控增加对内外置非接同时挥卡的支持，依赖rfcard驱动版本1.2.0；

接触式IC卡：
- [+]CPU卡增加卡片APDU数据透传接口：outgoingApdu和incomingApud;

20160929:
- [*]修复RFCpuCardDriver模块halt接口关闭外置非接设备失效的问题； 
- [*]RFCardReader增加一个halt接口，方便调用关闭设备;


## 版本v1.2.29

> 版本日期：2016/08/16

设备部分：
- [*]解决RFCardReader和InsertCardReader两个模块getOtherInstance接口实现的bug;
- [*]Printer模块修复打印图片接口的问题，当打印图片宽度大于等于384像素时，transformImage接口边界未处理好，造成数组访问越界;
- [*]修复SystemInfomation获取终端设备序列号为13位时，接口调用异常的问题；

QPBOC部分：
- [+]QPBOC增加设置是否启用国密和支持国密公钥下载;

EMVL2部分：
- [+]EMV内核增加Paypass、Discover和JCB/Speedy内核调用接口;

EMV轻内核部分：
- [+]增加setUDOL和getUDOL两个缺失的接口;


## 版本v1.2.28

> 版本日期：2016/07/07

磁卡模块：
- [+]增加设置是否输出磁道控制字符的接口;
- [+]新增searchCard接口和OnSearchTrackListener回调，用于在卡磁道数据错误的情况下也能返回其他磁道数据;

- [*]printer修复打印图片时右侧会多出一竖的问题;
- [*]修复轻内核模块getECLog接口调用异常的问题；
- [+]SystemInfomation增加读取硬件设备序列号的接口;
- [+]BytesUtil工具函数增加bcd与ascii转换接口、字符串与字节数组转换接口;
- [+]MifareInterface接口添加所有接口的同步调用接口，由MifareDriver类实现;

PINPAD模块：
- [*]修复calcMAC接口对传入mode参数解析处理错误的问题;
- [*]修复calcMAC接口对传入加密数据长度超过1024字节报错的问题;
- [+]增加getPinpadInfo接口，获取pinpad物理键盘信息;
- [+]增加loadEncryptMainKey接口，支持载入加密主密钥的功能;
- [+]设置pinpad的用户序列号接口setPinpadSerialNum;
