Releases: ArtalkJS/Artalk
🧪 Nightly Version
nightly (2024-05-11)
Bug Fixes
- ui/types: remove marked dependency in dts (#868)
Note
The Nightly version, automatically built based on the latest code, is not yet released and may be unstable. Please use it with caution. Docker user can run docker pull artalk/artalk-go:nightly
to get the nightly build.
v2.8.6
v2.8.6 (2024-05-09)
Features
- auth: user accounts merge tool (#854)
- auth: social login api endpoints (#854)
- ci: include frontend dist files in release (#860)
- i18n: add incremental updates feature for i18n code scan tool
- multi_push/lark: add card mode for lark push (#839)
- sync: add keyed mutex
- ui/auth: plugin-auth for integrating social login (#854)
- ui/img_lazyload: add support for lazy loading images (#850)
Bug Fixes
- api/pv: add mutex for page pv record endpoint
- cache/user: user id cache from email lookup not cleared
- comments_get: include
site_name
for isolation in associated query for comment's page - dao: ensure find and create functions thread safe (#845)
- db/migrate: fix root_id migrate for database lacking recursive CTE support (#848) (#846)
- db_migrate: drop
fk_comments_user
foreign key constraint of the users table - sidebar/site: unable to edit the new site urls
- ui/dark_mode: add support for configuring dark mode in backend (#790)
- ui/dark_mode: unable to toggle dark mode for sidebar in auto mode
- ui/height_limit: height limit not working while loading images (#849)
- ui/marked: optimize same origin link judgment logic
Documentation
- update introduction document
- auth: add social login feature (#854)
- i18n: add translation for Korean and Russian
v2.8.5
v2.8.5 (2024-04-24)
Features
- ci/build: add nightly build workflow
- conf/http: add
http.proxy_header
config option - go: upgrade golang to v1.22.2 and some deps
Bug Fixes
- cmd/gen: ensure directory before saving in
gen
cmd (#612) - dao: prevent potential infinite loop in
FindCommentRootID
- db/migrate: issue with root id generation
- db/migrator: remove foreign key constraints and better
root_id
generation (#835) - log: improve log system and fix memory leaks (#843)
- transfer: retrieve root_id for imported comment data
- ui/comment: missing reply comment data when inserting (#838)
- ui/comment: incorrect reply comment data in nested mode (#771) (#837)
- ui/lifecycle: keep root element during destroy (#810)
- ui/sidebar: user list not refresh when data is modified
- ui/upload: unable to upload image when file extension is uppercase
- upload: add config option to solve request entity too large issue (#834)
Performance Improvements
- conf/upgit: disallow custom executable path of
upgit
for security (#817) - db: optimize N+1 query in comment list (#799)
- i18n: add translation for 'parameter is required'
- ui/pkg: add shorter export names (#821)
- ui/version_check: beautify version upgrade notice
Code Refactoring
- comments_get: reduce api complexity by introducing
LiteDB
(#800) - ui/prettier: add prettier code formatter
Documentation
BREAKING CHANGE
For UpGit users: Due to security reasons, Artalk no longer allows configuring the executable file path (img_upload.upgit.exec) for upgit. Please add it to system environment variables instead.
v2.8.3
v2.8.3 (2024-03-04)
Features
- api/auth: invalidate old auth tokens after changing password
- api/domain: add GET
/conf/domain
endpoint - app: add
onConfUpdated
hook - comment: add
is_verified
field for comment entity - ui/api: add
ctx.getApiHandlers()
to handle error responses and expose hooks - ui/editor: add
beforeSubmit
hook for editor submitting - ui/plugins: support dynamic loading of ui plug-in scripts (#774)
Bug Fixes
- captcha/image: unable to display image captcha on initial load
- conf: skip patching IP region conf if disabled
- exception: missing
message
field after refactoring exception data structure - sidebar/login: cannot select a name with the same email upon login (#781)
- ui/layer: ensure immediate operation when calling
show()
afterhide()
Performance Improvements
- ui/editor: improve the icon details for editor
Code Refactoring
- dao: validate the args of the
FindCreateUser
function - entity/user: extract
CheckPassword
function - origin: extract
CheckURLTrusted
function
v2.8.2
v2.8.2 (2024-02-05)
Bug Fixes
- api/comments:
ua
field is optional and not required (#767) - style: replace style
break-all
withbreak-word
in content el (#644)
Performance Improvements
- ui/editor: optimize editor styles for narrow-width screens
- ui/editor: modify editor plug-in text buttons to icons for brevity
- ui/editor: place
Cancel Reply
at the bottom of editor area (#644) - ui/lite: disable ArtalkLite
preview
config option by default
v2.8.1
v2.8.1 (2024-02-04)
Features
- api: add GET
/comments/:id
endpoint (#764) - config: add
db.prepare_stmt
config option (#760) (#762) - ui/goto: improved solution of navigating to comment via link hash (#693) (#765)
Bug Fixes
- api/comments: counting comments issue in PostgreSQL db (#760) (#761)
- cmd/admin: update user role to admin if already exists
- ip_region: unable to output the IP region correctly (#760)
- ui/list: unable to reply or delete comments after switching pagination
- ui/no_comment: always appears when creating comment
- ui/pv: missing
pageTitle
field in the PV request - ui/scroll: scroll into view issue when
relativeTo
parameter is provided
Performance Improvements
- style/sidebar: improve some detail in sidebar
Code Refactoring
- ui/comment: loose coupling between
Comment
andContext
- ui/list: refactor the list layout manager
Documentation
- supplement and refine
fe-api.md
v2.8.0
v2.8.0 (2024-01-31)
Features
- go: upgrade golang to v1.21.5 and some deps
- notify: add
notify_pending
config option (#728) (#754) - ui/admin: add logout button in admin panel (#488) (#753)
Bug Fixes
- cache: unable to change admin list after caching (#748) (#750)
- i18n: sidebar language cannot be changed
- ui/editor: prevent propagation of click event in editor (#734)
- ui/layer: unexpected behavior with multiple items when closing
- ui/lite: correct the instance name for compiling ArtalkLite (#740)
- ui/no_comment: flickering when clearing list before fetch
- ui/pagination: auto load list when scroll reaches bottom
- ui/sidebar: incorrectly increasing pv count in sidebar (#724)
- ui/sidebar_layer: sidebar still displays when login is required
Performance Improvements
- ui/conf: support for watching partial changes in config with
watchConf()
(#755) - ui/i18n: refine some translation (#743)
- ui/pagination: replace the prev/next text on pagination buttons with icons (#743)
- ui/sidebar: prevent potential token leakage by clearing query in iframe url
Code Refactoring
- api: update swagger file of API v2
- api: refactor HTTP API to version 2 (#735)
- transfer: normalize transfer payload parameter name
- ui: optimize init and update lifecycle events
- ui/comment: rename class
Comment
toCommentNode
- ui/ctx: add
getComments
andgetCommentNodes
in context (#752)
Documentation
- update multi-sites manual (#747)
BREAKING CHANGE
For Developers: The HTTP API has now been updated to version v2, with a lot of adjustments made, such as changing to Restful API style, request type, request body, response body, etc. data structure, adding error response codes. You can refer to #735 or https://artalk.js.org/http-api Please update all your existing clients to adapt to the new v2 server. The new base path is /api/v2/
. The UI package's HTTP client has been implemented to auto-generate based on Swagger.json
, and there have been a lot of adjustments to the artalk.ctx.getApi()
related code. In addition, the HTTP API no longer enforces checks on the header's Origin
and Referer
(to implement strict isolation of different sites) but still maintains the original CORS origin check.
For General Users: Now all administrators have the same level of authority (there is no longer super admin authority), the function of assigning sub-administrators with independent scope authority to individual sites has been removed, which can simplify the HTTP server maintenance and implementation. Upgrading only requires updating the client and server application at the same time, and there are no additional operations.
v2.7.3
v2.7.3 (2023-12-28)
Features
- ci: add dry-run mode for build workflow
- cmd: support cli flag for creating admin account
Bug Fixes
- ui/init: stack overflow when merging with config defaults (#717)
Performance Improvements
- ui/build: better dts generation (#689)
Code Refactoring
- ci: better release workflow
- docker: add
--build-arg
argument to skip ui build - test/ui: add more ui api tests
- ui: refactor directory structure (#712)
- ui/conf: better handling of mutable config (#722)
- ui/test: add vitest for unit testing
Documentation
- update ui api documentation
BREAKING CHANGE
Directly referencing artalk.conf
and artalk.$root
is deprecated. Please use functions instead: artalk.getConf()
and artalk.getEl()
.
v2.7.2
v2.7.2 (2023-12-20)
Features
- patch
locale
config fromzh-cn
tozh-CN
(#678)
Bug Fixes
- sidebar: sidebar language switch and config save issue (#708)
- ui: add
referrerpolicy
attribute for iframe (#687) (#707) - ui/dark-mode: potential memory leak issue in auto mode (#688)
- ui/pagination: auto switch page by url hashtag issue (#693)
- ui/sidebar: refactor settings and fix save issue (#677) (#706)
Code Refactoring
- ui: move window references into function scope (#675)
- ui/api: losing coupling between
Api
andUser
- ui/user: user class no longer globally singleton
Documentation
- i18n: add translation for
open
button - refactor: organize the pkgs and fix some issues (#702)