Skip to content
This repository has been archived by the owner on Feb 28, 2023. It is now read-only.

Releases: ArtalkJS/ArtalkGo

v2.3.0

03 Feb 15:59
v2.3.0
e2674a2
Compare
Choose a tag to compare

⚠️ 注意:该页面已过时

版本发布页面已移动到 ArtalkJS/Artalk 代码仓库(新版正在开发中,请留意更新,该版本 v2.3.0 并不是最新版本)

Changelog

管理功能强化

  • 97898c5 feat(api/admin): 新增账户管理 API
  • f85c200 feat(api/comment): 新增评论搜索功能

部署流程简化

  • 6fe8375 feat: 新增独立登录页面
  • 9e01dc2 feat(api/login): 登录 API 支持选择同邮箱不同名的账户
  • ac87f46 feat(cmd): 命令行新增 admin 命令创建管理员账户
  • 13e2bab feat(conf): 当配置文件不存在时自动生成配置文件

BUG 修复

  • 8c95417 fix(artransfer): 修复导入错误读取评论 IsPinned 字段 (#49)
  • 0539487 feat(email-tpl): 邮件模版增加 IP 变量
  • 0fe3121 fix(config): 将 Viper 替换为 Koanf 让配置文件的 keys 支持大小写 (#47)

功能优化

  • 1c095c3 perf(conf): 合并前端配置获取请求,将前端配置放入第一页评论获取的数据中
  • 4494e53 refactor: 重构 HTTP Origin 跨域检测功能

Full Changelog: v2.2.0...v2.3.0

前端更新

请升级前端到 v2.4.3+

⚠️ 前端目前已默认将 useBackendConf 设置为 true,这将默认引用来自后端 API 提供的配置:你在前端代码中编写的配置将会被覆盖。

new Artalk({
  useBackendConf: true // 新版默认此项为 true
})

你可在控制台“设置”界面修改前端配置项,若有需要可将 useBackendConf 设置为 false

(详情见文档:在后端控制前端)

补充更新 x1 (v2.3.0/3d1cbae)

  • 3d1cbae fix(api/comment_get): 修复后端 fronted.pagination.pageSize 配置无效问题
  • 0cab1cc fix: 修复后端 frontend 未配置时程序崩溃问题

补充更新 x2 (v2.3.0/e2674a2)

  • e2674a2 feat(conf): 新增 admin_notify.email.mail_tpl 配置项指定管理员专用邮件模板
  • 19c6c9e fix(api/get): 修复潜在高并发导致的 map writes 错误

更新后执行 ./artalk-go version 应为 v2.3.0/e2674a2

v2.2.0

09 Oct 09:02
v2.2.0
eb58cac
Compare
Choose a tag to compare

Changelog

  • 326d9b3 chore(version): 升级前端版本至 2.4.1
  • a694ee8 feat(api): 新增设置 API 接口,提供编辑配置文件的图形化界面
  • ff96cd9 fix(api): 修改跨域检测策略,仅 API 路径启用跨域检测
  • 171c17e fix(importer): 导入功能默认“关闭”域名自动拼接 (URL Resolver),保留原始相对路径

Full Changelog: v2.1.10...v2.2.0

补充更新 x1 (v2.2.0/eb58cac)

更新后执行 ./artalk-go version 应为 v2.2.0/eb58cac

v2.1.10

17 Jun 11:12
v2.1.10
dfba394
Compare
Choose a tag to compare

Changelog

  • 8329bee feat: 优化跨域非法请求拦截 & 支持 cookie 身份验证 (目前默认关闭)
  • 1f5494e refactor(api): 优化 admin_comment_edit 评论编辑逻辑

前端请更新到 v2.3.4+,本次更新提高了安全性,建议升级

v2.1.9

09 Jun 13:05
v2.1.9
af132d0
Compare
Choose a tag to compare

Changelog

  • 1666681 feat(comment): API 评论数据增加 content_marked 字段后端 Markdown 解析
  • bac1271 fix(trusted_domains): 可信域名配置自动去除 URL path 部分 & 优化 Referer 拦截器 (#36)
  • fc69bf7 fix(time): 在 Windows 二进制文件中内嵌 IANA 时区数据库,解决 Windows 时区问题 (#35)
  • 0f87730 fix(api/stat): 随机评论接口自适应多种数据库的 RAND 函数 (#34)
  • 7dee18c feat(gen): 命令 gen 支持 -f 参数强制覆盖文件
  • 546ebee fix(docker): 仓库 docker-compose.yml 文件增加 build 镜像构建配置
  • 346595f refactor(docker): 配置文件移动到容器挂载目录,不再挂载单个配置文件 (#37)

Docker 用户升级

本次升级为平滑过渡,脚本自动执行,无需手动操作 [ 关联: 346595f | #37 | moby#15793 ]

不再推荐挂载单个配置文件 ./conf.yml,配置文件将被自动移到 ./data/ 目录中。

之后你可以手动编辑 Docker 容器配置,去掉 ./conf.yml 文件挂载:

version: "3.5"
services:
  artalk:
    volumes:
      - ./data:/data
-     - ./conf.yml:/conf.yml

解释:由于 Linux 的设计和一些编辑器的策略 (如 Vim),当文件保存时,Vim 并不是直接修改文件,而是会创建一个新文件并将其复制到原位,这会导致文件 inode 的改变,而容器是基于文件 inode 的绑定挂载,会使得容器无法获取更新后的配置文件。故 ArtalkGo 不再建议使用 Docker 挂载单个配置文件的方式,转而使用挂载的一整个目录 ./data/ 来保存配置文件。

注:非 Docker 用户无需关心该问题,常规升级。

补充更新 x1 (v2.1.9/60ed699)

  • a244286 fix(trusted_domains): 修复可信域名白名单关闭无效问题

补充更新 x2 (v2.1.9/af132d0)

更新后执行 ./artalk-go version 应为 v2.1.9/af132d0

v2.1.8

23 May 10:29
v2.1.8
ed54720
Compare
Choose a tag to compare

Changelog

  • 默认待审模式审核通过后重新发送通知 (#31)
  • ed54720 feat(notify): 多元推送支持自定义 WebHook (#32)
  • d5b67a2 feat(notify): 支持多元推送自定义模版 (#29)
  • 5334763 feat(conf): 新增 admin_notify.email.enabled 配置项 (#29)
  • 2af6e3e feat(conf): 新增 admin_notify.noise_mode 配置项 (#30)
  • 37112f9 chore(conf): 更新 FrontendConf 为前端提供的配置
  • e04f2eb fix(utils): SplitAndTrimSpace 函数默认去除空项
  • /api/stat API 新增随机获取评论 / 页面,修复 BUG (#27)

Full Changelog: v2.1.7...v2.1.8

⚠️ 配置文件变动

弃用配置项 notify 变更为 admin_notify,参考配置如下:

# 管理员多元推送
admin_notify:
  # 通知模版
  notify_tpl: "default"
  noise_mode: false
  # 邮件通知管理员
  email:
    enabled: true # 当使用其他推送方式时,可以关闭管理员邮件通知
    mail_subject: "[{{site_name}}] 您的文章「{{page_title}}」有新回复"

弃用 email.mail_subject_to_admin 变更为通过配置 admin_notify.email.mail_subject 来指定管理员邮件标题

详情参考:https://artalk.js.org/guide/backend/notify.html

v2.1.7

21 May 10:51
v2.1.7
c478608
Compare
Choose a tag to compare

Changelog

  • 3bba263 feat(api): 新增统计数据 API /api/stat (#27)
  • f39e857 chore(version): 升级前端版本到 v2.3.0

补充更新 x2

  • 8924afd fix(api/stat): 默认站点使用 /api/stat 接口的支持
  • c478608 fix(cache): 当删除评论后再次回复发生评论重复的问题

Full Changelog: v2.1.6...v2.1.7

v2.1.6

04 May 17:29
v2.1.6
2f012d9
Compare
Choose a tag to compare

Changelog

  • 2f012d9 feat(go): 升级 Golang 版本到 v1.18.1
  • a16977d fix(frontend-conf): 修复 frontend 配置项读取问题
  • e60c4a6 fix(importer): 导入默认关闭 UrlResolver 相对路径不自动添加域名

v2.1.5

03 May 14:29
v2.1.5
2cb8e40
Compare
Choose a tag to compare

Changelog

缓存优化

8db752f fix(cache): Use SingleFlight to avoid Cache breakdown.

多站点优化

02b3173 feat(multi-site): Isolate admin users among sites
9a8b979 feat(user): Admin email sending isolation between sites.

BUG 修复

8d7e5ca fix(cors): Import cors domains from db site urls.
2cb8e40 fix(transfer): Importer boot param parse.
12bd0b5 fix: Prevent unsafe svg image uploads

代码重构

fcd44bc refactor(api): Remove unnecessary parameter of ParamsDecode method
a03e985 refactor(api_get): Comments get api.

v2.1.4

27 Apr 06:22
v2.1.4
3120b81
Compare
Choose a tag to compare

Changelog

05ad1c4 feat(conf): 支持在后端控制前端的配置,详情参考:官方文档
231a6b3 feat(upgrade): upgrade 命令增加 -f 参数可忽略版本号检查

前端更新

需要升级前端到 v2.2.8+ 版本

补充更新 x2

d03534f fix(importer): 当数据太多,导入失败的问题
2ad6864 fix(validator): URL 合法性判断问题
3120b81 fix(cache): Type conversion issue in Captcha part when using redis.

重新拉取 Docker 镜像或者执行 artalk-go upgrade -f,升级后 artalk-go version 版本号应为 v2.1.4/3120b81

v2.1.3

23 Apr 16:58
v2.1.3
fd1be63
Compare
Choose a tag to compare

Changelog

增加缓存性能优化

性能优化,大幅提高 QPS,支持 BigCache (内建默认)、Redis、Memcache

# 缓存
cache:
  type: "builtin" # 支持 redis, memcache, builtin (自带缓存)
  expires: 30     # 缓存过期时间 (单位:分钟)
  warm_up: false  # 程序启动时预热缓存
  server: ""      # 连接缓存服务器 (例如:"localhost:6379")

d1986c4 feat(cache): Almost full cache coverage
72d205f feat(cache): Support redis & memcache
5cd0129 feat(cache): Replace built-in json lib with vmihailenco/msgpack to speed up
ff03509 fix(admin_edit): Remove cache before admin_edit
3f1313a fix(cache): ChildCommentCacheSave repeatedly cache while exist
dcde2b4 feat: FindCommentChildren query db while cache miss
9ab36c6 fix: Add lock in ChildCommentCacheSave
323455c fix: Add lock prevent query db repeatedly while cache miss
0ab5d1f fix: Cache add mutex lock
11d107e feat(api_admin_cache): Add api handle cache

提升数据库兼容性

支持 SQLite, MySQL, Postgres, SQLServer

# 数据库
db:
  type: "sqlite" # 支持 sqlite, mysql, pgsql, mssql
  file: "./data/artalk-go.db" # sqlite 数据库文件
  name: "artalk"     # 数据库名
  host: "localhost"  # 地址
  port: "3306"       # 端口
  user: "root"       # 账号
  password: ""       # 密码
  charset: "utf8mb4" # 编码格式
  table_prefix: ""   # 表前缀 (例如:"atk_")

0529746 feat(conf): 配置文件增加数据库配置项
9ca2a80 feat(db): 支持设置表前缀
a27b015 fix(db): Fix query syntax error & importer vote recover.
5a1b361 fix(db): Support postgres database.
fd1be63 fix(db): Time type field use pointer to solve 0000-00-00 issue.

其他

177ca04 feat(importer): 导入功能优化,加快速度,修复 bug
446213b fix(conf_admins): 不再删除数据库中,不存在于配置文件的管理员账户
95e387f feat(upgit): 增加 img_upload.upgit.del_local: true 配置项上传后删除本地图片

配置文件变动

新增 cache 配置项,db 配置项发生较大变化。

参考:https://github.com/ArtalkJS/ArtalkGo/blob/master/artalk-go.example.yml

该版配置文件向下兼容,原文件无需修改,cache 使用默认配置。