Releases: PaddlePaddle/PaddleNLP
Releases · PaddlePaddle/PaddleNLP
PaddleNLP v2.4.3
New Features
Prompt API
- Template String 新增支持关键字
prefix
和options
,新增position
,token_type
,length
,encoder
,hidden_size
等7个属性 #3724 - 新增支持 PrefixTemplate
- 解除
InputExample
和InputFeatures
对输入数据关键字的限制
问答
- 新增无监督问答pipelines,pipeline运行示例和说明文档 #3605
- 新增节点QAFilter、AnswerExtractor、QuestionGenerator、AnswerExtractorPreprocessor、QAFilterPostprocessor
- 新增pipeline QAGenerationPipeline
- FastAPI后端代码,承接ElasticSearch ANN检索库、QAGenerationPipeline和SemanticSearchPipeline
- 无监督问答WEB可视化系统,功能如下:问答检索、在线问答对生成、在线更新索引库、文件上传并自动生成和载入问答对、问答对生成可选择过滤、问答检索可选择返回答案数量和最大检索数量
Trainer
- 新增sharding支持,目前支持sharding stage1、stage2。 #3352
- 新增bf16训练支持,可支持单卡、多卡训练。完善了pure_fp16训练支持。
- 新增IterableDataset支持,支持传入Iterable的数据集。
- 新增Seq2SeqTrainer,支持seq2seq任务训练。
FasterGeneration
- 解除 Transformer FFN 中间隐层维度是
d_model
4 倍的限制,新增导入model_state
方式加载模型 #3592
FastTokenizer
- AutoTokenizer新增
use_fast
参数,指定使用fast_tokenizer
完成高性能分词。目前ERNIE
,BERT
,TinyBert
以及ERNIE-M
可开启该选项。#3746 - 发布高性能分词工具FastTokenizer 1.0.0 正式版,包含C++预编译包以及Python包 #3762
基础底座
- UNIMO 新增支持获取中间输出选项和支持输入 label 并自动计算 loss #3450
- CodeGen 新增支持获取中间输出选项和支持输入 label 并自动计算 loss #3465
- UnifiedTransformer 新增支持获取中间输出选项和支持输入 label 并自动计算 loss #3459
- BART 新增支持获取中间输出选项和支持输入 label 并自动计算 loss #3436
- MBART 新增支持获取中间输出选项和支持输入 label 并自动计算 loss #3436
- T5 支持直接输入 encoder & decoder embedding 结果 #3668
- 新增paddlenlp cli工具 #3538
- 添加 7 个 P1 级别模型的单测 #3462
UIE
- 新增 UIE 量化训练和部署 #3496
Neural Search
- 新增Gradicent Cache和Recompute支持单卡超大batch size的训练。 #3697
Text Classification
PPDiffusers
- 将diffusers_paddle重命名为ppdiffusers。#3601
- 修复bug支持中文Stable Diffusion, 发布ppdiffusers0.6.1。 #3663
- 发布ppdiffusers0.6.2 #3737
- 增加laion400m文生图训练脚本。#3693 #3772
- 支持 EulerAncestralDiscreteScheduler 和 DPMSolverMultistepScheduler #3708 #3764
- 增加fid计算代码。#3685
- 增加ldm超分的pipeline。 #3710
- 增加ppdiffusers推理pipeline使用代码。 #3759
- 添加 ppdiffusers CD workflow #3604
Bug Fix
- 修复 FasterEncoder 预测结果异常问题 #3606
- 修复 FasterGeneration PrefixLM 类模型在 beam search 解码策略下显存分配问题 #3662
- 修复Windows平台下载社区模型失败的问题 #3670 #3640
- Pipelines修复文件重复上传的问题。#3568
- Pipelines修复word文档解析异常的问题。#3645
- PIpelines修复批量预测异常的问题。#3712
- 修复问题生成模版相关的bug .#3646
- TIPC中gpt动转静。#3586
- 添加CLIPText,CLIPVision进入auto/modeling,支持AutoModel加载,修改CLIP的默认NEG INF为-1e4,这样fp16 O2不会异常。 #3789
- 修复 pypi 自动化发包流程配置 #3626
PaddleNLP v2.4.2
New Features
Text summarization应用
- 增Pegasus中文文本摘要应用,支持Taskflow一键调用,支持FasterGeneration高性能推理,训练推理部署全流程打通。#3275
Question generation
- 新增问题生成解决方案,提供基于UNIMO-Text和T5的通用问题生成预训练模型,支持Taskflow一键调用,支持FasterGeneration高性能推理,训练推理部署全流程打通。 #3410 #3438 #3560
Machine Translation
- FasterMBart 支持动转静导出 #3367 #3356
- MBart tokenizers 升级重构,支持最新 tokenizer 所有功能 #3323
- 分离
MBartTokenizer
和MBart50Tokenizer
,MBart50Tokenizer
支持AutoTokenizer
,MBartTokenizer
和MBart50Tokenizer
支持自定义 sentence piece 参数 #3323
Pipelines
Taskflow
- 优化Taskflow定制模型使用体验,增加模型参数文件的更新检查机制。 #3506
Bug Fix
- 修复 MBart 限制模型本身翻译语言的问题 #3356
- 修复 CodeGen 生成时未使用 token type ids 的问题 #3348
- 修复 CodeGen 自适应生成 attention mask 错误 #3348
- 修复 T5 在
use_cache=False
情况下解码出错问题 #3115 - 修复文本摘要taskflow不能加载自定义模型的bug #3533
- 修复问题生成预测时的bug #3524
- 修改uie训练代码中utils.py文件中result变量未定义的问题 #3490
- FAQ Finance修复Paddle Serving 在windows上的bug。#3491
- 修复Pipelines解析docx文档,文本和图片出现在同一个paragraph的情况。 #3546
- 修复语义索引的文本分类的数据说明。#3551
Others
- 新增 T5 对 gated-silu 支持 #3115
- 升级 T5Tokenizer 以支持 PaddleNLP 最新功能 #3115
- 新增 T5 对 4D attention mask 支持 #3115
- 新增 T5 支持以字典形式返回 #3370
- FasterGeneration 支持 PaddlePaddle 2.4.0-rc0 及以上版本编译 #3545
- UnifiedTransformer 支持自适应生成
position_ids
,token_type_ids
,attention mask
等功能 #3177 - UNIMO-Text 支持自适应生成
position_ids
,token_type_ids
,attention mask
等功能 #3349
PaddleNLP v2.4.1
New Features
ERNIE-Layout 文档智能大模型
- 新增多语言跨模态文档预训练模型ERNIE-Layout,新增Benchmark及基于ERNIE-Layout的各类下游任务的微调及部署示例。#3183
- 新增DocPrompt文档抽取问答模型,支持Taskflow一键调用。#3183
Pipelines 更新
- 新增Docker cuda11.2镜像,并提供Docker编译教程。#3315
- 新增Pipelines批量处理数据。 #3432
- 新增一些用户反馈的FAQ和README文档的优化。 #3237
- 新增Milvus 2.1的支持。#3283
Question Generation
Compression API
Prompt API
- 新增 Prompt API 使用文档。#3362
Bug Fix
- 修复了小样本文本分类中的失效链接以及在 windows 平台上推理时的数据类型问题。#3339 #3426
- FAQ Finance 的Milvus升级为2.1版本,文档优化。#3267 #3430
- 基于检索的文本分类代码简化和README优化。 #3322
- Neural Search的文档优化。#3350
- 修复了UIE的Dataloader在加载数据时可能导致内存溢出的问题。#3381
- 修复DuEE序列标注代码导包错误。#2853
- 修复Pillow warning问题。 #3404 和 #3457
- 更新artist模型的激活函数,修复dallebart中的warning,#3106
- 修复Ernie tokenizer当中模型名称类型缺失的问题 #3423
- 修复Bert单测中CI没检测到的Bug #3422
- 修复动转静过程中对OrderedDict数据类型不支持的问题 #3364
- 修复 bigru_crf 推理随机hang的问题。 #3418
Others
PaddleNLP v2.4.0
New Features
NLP Pipelines流水线工具
PaddleNLP Piplines旨在提升NLP模型上线效率,将NLP复杂系统的通用模块抽象封装为标准组件,支持快速组合复杂NLP系统应用
插拔式组件设计
- 支持文档存储灵活节点配置,支持Faiss、Milvus高性能向量搜索引擎
- 支持文档级别前处理节点配置,支持PDF、图片级别文档信息提取
飞桨SOTA模型快速串联
- 支持飞桨中文SOTA预训练模型,ERNIE 3.0 系列轻量化快速集成到Pipelines中
- 支持 RocketQA 语义索引模型,快速提升语义索引、FAQ系统效果
低门槛一键部署
- RocketQA DuReader语义提取模型一键调用,通用场景无需进行语义模型训练
- Docker和Docker-compose两种方式一键部署,减少环境安装成本
产业范例库升级
文本分类
文本分类全流程应用,支持预训练模型、小样本、语义索引方案,通过TrustAI来快速调优模型
#3087 #3184 #3104 #3180 #2956 #3011
文本分类方案全覆盖
- 支持多分类、多标签、层次分类算法
- 支持预训练微调、小样本Prompt tuning微调方式、以及语义索引分类方案
- 底座模型支持ERNIE 3.0 全系列模型,适配不同的使用场景
高效模型调优
- TrustAI模型可解释性工具,快速定位稀疏数据、脏数据问题,进一步提升模型效果
- 接入数据增强工具,多种数据增强方法,可快速对稀疏数据进行增强
产业级全流程方案
- 支持数据标注、模型训练、模型压缩、模型预测部署全流程
信息抽取
- 新增多语言模型UIE-M-Base和UIE-M-Large,支持中英文混合抽取及Taskflow一键调用。#3192
- 新增基于封闭域模型GlobalPointer的UIE数据蒸馏方案,支持Taskflow一键部署。#3136
语义索引
- 新增RocketQA的CrossEncoder模型,并支持加载到pipelines中。#3196
- Neural Search的召回模型换成 基于ERNIE3.0的RocketQA模型,并支持加载到Pipelines中。 #3172
AIGC内容生成
CodeGen代码生成
PaddleNLP 2.4版本发布CodeGen代码生成全系列SOTA模型,可快速一键调用代码生成模型
#2641 #2754 #3017
效果领先
- 集成代码生成SOTA模型CodeGen
- 集成12个CodeGen不同规模的代码生成模型,支持多编程语言代码生成模型
简单易用
- 支持通过Github Copilot调用模型,同时支持Taskflow一键调用模型
- 支持FasterGeneration打造高性能推理,毫秒级响应
文图生成
文图生成目前是AIGC一个重要方向,PaddleNLP 2.4发布众多有趣的文图生成模型,可一键调用模型快速趣玩文图生成模型
#2917 #2968 #2988 #3040 #3072 #3118 #3198
超多潮流文图生成
- 支持 DALL-E-mini 、CLIP + Disco Diffusion 、CLIP + Stable Diffusion、ERNIE-ViL +Disco Diffusion等模型
简单易用
- 支持Taskflow一键调用图文生成模型
- 支持FasterGeneration打造高性能推理,打破图文生成性能瓶颈
文本摘要
文本摘要是目前NLP场景中高频场景,此次发版新增中文文本应用,支持文本摘要定制化训练 #2971
- 新增文本摘要Application,支持定制化训练,打通高性能推理部署,支持Taskflow一键调用
框架升级
模型自动压缩Compression API
- 新增 模型压缩 API,支持基于 PaddleSlim 的裁剪和静态离线量化功能,快速加速文本分类、语义匹配、序列标注、阅读理解任务 #2777
- 模型压缩API可以快速调用模型裁减、模型量化功能,大幅降低模型压缩使用成本
小样本学习 Prompt API
- 新增Prompt Learning训练框架,支持PET、P-Tuning、RGL等经典模型的快速实现 #2894
- 文本分类场景中使用Prompt Learning训练框架快速提升小样本训练效果 #2894
Transformers 预训练模型
基础 API
- BERT、ERNIE、RoBERT 等模型接口新增获取 attention score 和所有中间层输出功能,可以轻松使用满足蒸馏等需求 #2665
- BERT、ERNIE、RoBERT 等模型接口新增对 past_key_values 输入支持,通过该输入可以进行 prefix-tuning #2801
- BERT、ERNIE、RoBERT 等模型接口新增输入 label 返回 loss 支持,简化使用方式,无需再拆分label和额外定义损失函数 #3013
- BERT、ERNIE、RoBERT 等模型接口支持输出支持以 dict 形式返回,可以用更清晰的方式从返回内容中获取需要的输出内容 #2665
- 系统批量完善预训练模型接口单测,保障功能稳定性
模型权重
- 新增XLM模型 #2080
- 转换Langboat/mengzi-t5-base-mt权重,并新增Zero Shot使用样例 #3116
- 新增Roformer-sim,支持复述生成,可以生成相似句做数据增强 #3049
Bug Fix
- 批量新增模型
model_max_input_size
配置字段 #3127 - 修复 FasterGeneration 部分模型Sampling解码出core的问题。#2561
- 修复 UNIMOText 在不使用加速特性情况下生成出错问题 #2877
- 修复 FasterGeneration 在基于采样解码策略下性能不稳定的问题 #2910
- 修复 BART tokenizer 获取
bos_token_id
出错问题 #3058 - 修复 BART tokenizer 无法设置
model_max_length
问题 #3018 - 修复 Taskflow的文本相似度在Windows上dtype引起的预测失败问题 #3188
Others
- 支持FasterGPT的word_embeddings 和 lm_head.decoder_weight的权重不共享 #2953
- 重构RoFormer,新增RoFormerForCausalLM类,支持roformer-sim相似句生成 #3049
- 更新ERNIE模型,当type_vocab_size=0时,表示不使用token_type_id #3075
- 新增ERNIE-Tiny模型的benchmark #3100
- 更新BERT预训练时混合精度的配置,AMP level改为O2 #3080
- FasterBART支持动转静和高性能推理。#2519
- FasterGeneration 预测库联编支持 ONNX 依赖引入 #3158
- Generation API 支持
logits_processor
、get_decoder_start_token_id()
#3018 - BART 模型支持
get_input_embeddings()
和set_input_embeddings()
方法获取 embeddings #3133 - GPT 模型支持
get_vocab()
、 0/1 attention mask、add bos token 等新增接口功能 #2463
New Contributors
New Contributors
- @Spico197 made their first contribution in #2170
- @sandyhouse made their first contribution in #2190
- @qingqing01 made their first contribution in #2188
- @RicardoL1u made their first contribution in #2299
- @Intsigstephon made their first contribution in #2285
- @sljlp made their first contribution in #2398
- @zche4846 made their first contribution in #1845
- @tianberg made their first contribution in #2461
- @lidanqing-intel made their first contribution in #2468
- @fightfat made their first contribution in #2499
- @LiYuRio made their first contribution in #2504
- @FeixLiu made their first contribution in #2523
- @ArtificialZeng made their first contribution in #2537
- @freeliuzc made their first contribution in #2543
- @taixiurong made their first contribution in #2556
- @westfish made their first contribution in #2423
- @sneaxiy made their first contribution in #2660
- @lastrei made their first contribution in #2671
- @WenmuZhou made their first contribution in #2695
- @littletomatodonkey made their first contribution in #2732
- @piotrekobi made their first contribution in #2730
- @Liujie0926 made their first contribution in #2829
- @buchongyu2 made their first contribution in #2817
- @GuoxiaWang made their first contribution in #2846
- @zhiyongLiu1114 made their first contribution in #2875
- @veyron95 made their first contribution in #2879
- @BasicCoder made their first contribution in #2977
- @dongfangshenzhu made their first contribution in #3046
- @Haibarayu made their first contribution in #2694
Full Changelog: v2.3.0...v2.4.0
PaddleNLP v2.3.6
New Features
- 新增基于ERNIE 3.0的RocketQA召回模型,包含rocketqa-zh-base(12-layer, 768-hidden)、rocketqa-zh-medium(6-layer, 768-hidden)、rocketqa-zh-mini(6-layer, 384-hidden),rocketqa-zh-micro(4-layer, 384-hidden)和rocketqa-zh-nano(4-layer, 312-hidden)5个语义检索召回模型,在Dureader Retrieval数据集上达到中文最佳效果。 #3033
- 新增基于ERNIE 3.0的RocketQA排序模型。 包含rocketqa-base(12-layer, 768-hidden)、 rocketqa-medium(6-layer, 768-hidden)、rocketqa-mini(6-layer, 384-hidden)、rocketqa-micro(4-layer, 384-hidden)和rocketqa-nano(4-layer, 312-hidden)5个语义检索排序模型,在Dureader Retrieval数据集上达到中文最佳效果。 #3019
- 新增VI-LayoutXLM文档多模态模型,推理速度与精度超越LayoutXLM。#2935
- NLP流水线系统Pipelines新增RocketQA轻量化模型,端到端响应速度显著提升。 #3078
Unit Test
- 新增Ernie-Gram模型单测 #3059
- 新增TinyBert模型单测 #2992
- 新增Roformer模型单测 #2991
- 新增ERNIE-M模型单测 #2964
- 新增Skep模型单测 #2941
- 新增Electra和XLNet模型单测 #3031
- 新增RoBERTa、ALBERT 和 ERNIE模型的单测 #2972
Bug Fix
- 修复BART tokenizer获取
bos_token_id
出错问题 #3058 - 修复BART tokenizer无法设置
model_max_length
问题 #3018 - 修复Pipelines的随机问题生成按钮报错问题和搜索问题回退到上一个搜索结果的问题。 #2954
- 修复Pipelines在Python3.7上利用FAISS抽向量引起的问题。 #2965
- 修复Tokenizer
resize-token-embeddings
错误 #2763 - 修复OPT示例代码 #3064
- pointer_summarizer支持xpu和多卡 #2963 #3004
New Contributors
- @veyron95 made their first contribution in #2879
- @BasicCoder made their first contribution in #2977
- @dongfangshenzhu made their first contribution in #3046
- @Haibarayu made their first contribution in #2694
Full Changelog: v2.3.5...v2.3.7
PaddleNLP v2.3.5
New Features
代码生成
UIE
- 新增UIE英文版本,支持Taskflow一键调用。 #2855
Neural Search
小样本学习
- 新增小样本模型RGL的实现。#2651
文本分类
文本匹配
- 新增无监督语义向量模型DiffCSE。 #2643
Bug Fix
- 修复pipelines未传入max_seq_len的问题。#2736
- 修复pipelines的faiss-cpu依赖,新增乱码处理的FAQ。 #2709
- 修复neural search的预测时dropout引起的结果不一致的错误,新增对ANN索引的FAQ。#2710
- 修复ERNIE tokenizer的 get_offset_mapping 错误。#2857 #2897
- 修复 model 中间 output 输出导致的 UNIMOText 原生生成失败问题。 #2877
其他
New Contributors
- @lastrei Add pet static model export script and inference code #2875
- @zhiyongLiu1114 Add the get_speical_token_mask for the ernie tokenizer #2671 #2690
Full Changelog: v2.3.4...v2.3.5
PaddleNLP v2.3.4
New Features
Taskflow
- 新增三个UIE小模型:UIE-Mini(6-layer, 384-hidden)、UIE-Micro(4-layer, 384-hidden)、UIE-Nano(4-layer, 312-hidden)。#2604
- 新增基于中文词类知识的信息抽取工具WordTag-IE。 #2540
更多预训练模型
- 开源 ERNIE Tiny 预训练模型,效果、精度领先于HFL、UER、Huawei-Noah 同等规模下开源中文模型。
- 新增CodeGen代码生成模型。#2641
基础体验优化
- Trainer 支持 constant、cosine、linear三种学习率调度策略。 #2511
- FasterBART支持动转静和推理。#2519
- FasterGeneration 支持使用带有 onnx 的预测库的编译。#2463
CLUE Benchmark
- 支持 CLUE 10 个任务的训练、评估、预测,支持用户产出预测结果提交至 CLUE 榜单,并提供 Grid Search 工具供用户一键训练,最终获取最优评估结果。
文本分类
生态模型
- 新增XLM模型。#2080
Bug Fix
- 修复UIE同类别嵌套的评估问题。 #2558
- 修复UIE prompt为英文时,prompt与文本的offset重叠的问题。#2453
- 修复BERT Tokenizer调用get_offset_mapping出错的问题。 #2508
- 修复FasterGeneration部分模型Sampling解码出core的问题。#2561
- 修复PretrainedTokenizer和PretrainedModel 中from_pretrained中的潜在问题。 #2521 #2578 #2424
- 修复LukeTokenizer当中的字段缺失导致保存时报错的问题。 #2631
- 修复ChineseBertTokenizer由于Tokenizer机制更新导致expect parameter的问题。 #2625
- 修复 PretrainedTokenizer special token 设置被覆盖及遗漏的问题 #2534 #2629
- 修复 albert pad token id 缺失问题 #2495
- 修复 ERNIE-1.0 预训练使用amp 02时,加载checkpoint错误问题 #2479
- 移除RandomGenerator的is_init_py属性 #2658
其他
- BERT 支持 fused_ffn、fused_attention进行fuse #2523
Full Changelog: v2.3.3...v2.3.4
PaddleNLP v2.3.3
Bug Fix
- 修复
AutoModel
模型选择 bug 导致从本地目录加载ernie-1.0
等模型失败的问题 #2426 - 修复 tokenizer 从本地目录加载时由于文件检查 bug 导致失败的问题 #2424
- 修复 Taskflow 依存分析输出的类型问题 #2422
- 修复 UIE 中 doccano 标注数据转换脚本的 split 检查问题;并完善
Task
使用 ONNX 预测的报错方式 #2417 - 修复代码中的 data 拼写问题 #2410
- 修复 PaddleNLP/README 中的 UIE 链接 #2419
Full Changelog: v2.3.2...v2.3.3
PaddleNLP v2.3.2
New Features
更快的推理部署
- UIE 推理加速:支持 UIE 模型 CPU、GPU 设备上高性能推理能力,显著提升 UIE 推理速度。
- ERNIE 3.0 模型支持 Triton Inference Server服务化部署。
更多预训练模型
- 新增 4 个 文心 ERNIE 3.0 系列中文模型 :包含 3 个小模型 ERNIE 3.0-Mini (6-layer, 384-hidden)、ERNIE 3.0-Micro (4-layer, 384-hidden)、ERNIE 3.0-Nano (4-layer, 312-hidden),1 个20层模型 ERNIE 3.0-XBase(20-layer, 1024-hidden)。
- 开源 ERNIE 2.0 中文模型:包括 ERNIE 2.0-Base(12-layer, 768-hidden)、ERNIE 2.0-Large(24-layer, 1024-hidden)。
基础体验优化
- ERNIE-M 模型支持多项选择式阅读理解任务。
- 新增支持 XLNet 模型动转静能力。
- BART
Tokenizer
兼容性优化。
生态模型
- 新增 GAU-alpha 生态模型。
Bug Fix
- 修复
ElectraTokenizer
缺失do_lower_case
属性问题。#2263 - 修复 CLUE Benchmark 评估 CHID 任务日志 Bug。#2298
- 修复语义检索 Application、FAQ System 在 Windows 系统数据类型报错问题。#2381
- 修复基于
AutoTokenizer
加载 ERNIE 模型报错问题。#2315 - 修复
load_dataset
函数报dict_keys
错误问题。#2364 - 修复文本生成 example Windows 平台数据类型报错问题。#2351
- 修复 ERNIE 3.0 ONNX Runtime 推理 Bug。#2386
- 修复 DDParser 针对 1-D Array 的 Padding 问题。#2333
New Contributors
- @RicardoL1u made their first contribution in #2299
- @Intsigstephon made their first contribution in #2285
- @sljlp made their first contribution in #2398
Full Changelog: v2.3.1...v2.3.2
PaddleNLP v2.3.1
Improvements
BugFix
- 新增基于 FAISS ANN 引擎一键运行语义检索系统示例。#2180
- 修复 PaddleNLP 智能文本产线示例 CPU 运行报错问题。#2201
- 修复 GPT 编译报错问题。#2191
- 修复 GPT 预训练数据流未传入
max_seq_len
参数问题。#2192 - 修复 GPT-3 静态图混合并行,预训练报错问题。#2190 #2223 #2195
- 修复 tokenizer 非兼容升级导致 NPTag 解码错误问题。#2199
- 修复Taskflow UIE Schema 重复构建的问题。#2170
- 兼容 NER 标注任务 doccano 多种导出格式的数据转换。#2187
- 修复 NPTag 解码问题。#2233
- 修复 DuUIE
max_seq_len
报错问题。#2207 - 修复 Windows 系统默认编码非 UTF8 时的编码报错问题。#2209
- 修复 AlbertForQuestionAnswering import 报错问题。#2216
- 修复 CLUE Benchmark 预测结果格式问题。#2215
- 修复死链问题。#2231 #2230 #2235 #2240 #2241
New Contributors
- @Spico197 made their first contribution in #2170
- @sandyhouse made their first contribution in #2190
- @lugimzzz made their first contribution in #2196
- @qingqing01 made their first contribution in #2188
Full Changelog: v2.3.0...v2.3.1