🌌 自托管评论系统 | Your self-hosted comment system
http.proxy_header
config optiongen
cmd (#612)root_id
generation (#835)upgit
for security (#817)LiteDB
(#800)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.
[!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.
/conf/domain
endpointonConfUpdated
hookis_verified
field for comment entityctx.getApiHandlers()
to handle error responses and expose hooksbeforeSubmit
hook for editor submittingmessage
field after refactoring exception data structureshow()
after hide()
FindCreateUser
functionCheckPassword
functionCheckURLTrusted
functionua
field is optional and not required (#767)break-all
with break-word
in content el (#644)Cancel Reply
at the bottom of editor area (#644)preview
config option by default/comments/:id
endpoint (#764)db.prepare_stmt
config option (#760) (#762)pageTitle
field in the PV requestrelativeTo
parameter is providedComment
and Context
fe-api.md
notify_pending
config option (#728) (#754)watchConf()
(#755)Comment
to CommentNode
getComments
and getCommentNodes
in context (#752)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.
--build-arg
argument to skip ui buildDirectly referencing artalk.conf
and artalk.$root
is deprecated. Please use functions instead: artalk.getConf()
and artalk.getEl()
.
locale
config from zh-cn
to zh-CN
(#678)referrerpolicy
attribute for iframe (#687) (#707)Api
and User
open
buttonscrollRelativeTo
config optionpublic_path
config enables the use of full url (#659) (#664)float
to text-align
in footer part (#619)noComment
conf option for security (#624)setDarkMode
cannot save to instance config (#661)ContextApi
Api
and Context
marked
funcCountWidget
ArtalkType
import and export (#620)frontend.uaBadge
config option by defaultThe following top-level functions exported by the 'artalk' npm package have been deprecated: Artalk.update
, Artalk.reload
, and Artalk.destroy
. These methods now require invocation on an instance created by either Artalk.init
or new Artalk
. Please utilize instance-level methods instead, such as artalkInstance.update
. For more information, refer to the documentation. The update was implemented to enable the concurrent creation of multiple instances, adapting to situations where Vue components are simultaneously referenced across various pages. Initially, only a singular instance was permitted to mitigate memory leak concerns. However, this proved limiting for scenarios involving the caching of multiple component instances through 'keep-alive.' To better suit intricate SPA application needs, the choice was made to permit the creation of multiple independent instances. It's crucial to remember to manually invoke the artalk.destroy
method when releasing components to avoid memory leaks (Issue #660).