Releases: ArtalkJS/Artalk
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)
v2.7.1
v2.7.0
v2.7.0 (2023-12-17)
Features
- ui: support
scrollRelativeTo
config option - ui/test: add end-to-end (e2e) testing using Playwright
Bug Fixes
- api/img-upload:
public_path
config enables the use of full url (#659) (#664) - lifecycle: create multi-instances at the same time (#660) (#663)
- notify_pusher: panic when admin ids array is empty (#634)
- style/list: replace
float
totext-align
in footer part (#619) - ui: scroll to the center of the viewport issue
- ui/conf: sanitize
noComment
conf option for security (#624) - ui/dark-mode:
setDarkMode
cannot save to instance config (#661) - ui/editor: fix position of the comment box when replying (#643) (#648)
Performance Improvements
- cache: implement GC feature for simple_cache pkg (#656)
Code Refactoring
- editor: refactor editor plugin manager (#609)
- editor: refactor plug kit and events (#613)
- ui: reduce coupling with
ContextApi
- ui: separate standalone admin-only-elem checker
- ui/api: loose coupling between
Api
andContext
- ui/conf: loose coupling between config and list fetch
- ui/event: refactor core event manager (#611)
- ui/layer: better layer implements and independence (#662)
- ui/list: separate list into standalone components (#618)
- ui/marked: separate markdown related codes
- ui/marked: loose coupling with
marked
func - ui/plugin: further divide functionality into plugins (#615)
- ui/stat: losing coupling of
CountWidget
- ui/types: better
ArtalkType
import and export (#620)
Documentation
- revise and add more examples
- provide clearer and more detailed instructions in CONTRIBUTING.md
- conf: disable
frontend.uaBadge
config option by default - deploy: add deployment guide for render.com (#649)
- import: update the examples in import-framework.md (#665)
BREAKING CHANGE
The 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).
v2.6.4
v2.6.4 (2023-10-12)
Features
- go: upgrade golang to v1.21.3 and some deps
Bug Fixes
- editor: fix duplicate event binding when update conf (#605)
- email: sender not initialized correctly
- style: fix copyright text overlay on send button (#607)
Code Refactoring
- anti_spam: refactor anti_spam pkg and add unit test (#589)
v2.6.3
v2.6.3 (2023-09-20)
Features
- config: add
db.ssl
to enable db ssl mode (#587)
Bug Fixes
- notify_tpl: fix template render result in notify case
Performance Improvements
- config: add error message for timezone setting (#586)
Code Refactoring
- renderer: abstract func of template renderer for multi-cases (#585)
Documentation
- new landing page
v2.6.2
v2.6.1
v2.6.0
v2.6.0 (2023-09-01)
Features
- config: support load env variables as config (#564)
- go: upgrade golang to v1.21.0 and some deps (#543)
- hook: add hook pkg
- simple_cache: a simple thread-safe cache with sync.Map
- utils: add common random utils
Bug Fixes
- cache: child comment ids store after comment updated
- cmd: fix parse root cmd global flags
- config: fix ip region patch
- db: fix dsn strings for mysql connections (#541)
- limiter: limiter log ignore options method req
- limiter: fix limiter always mode
- log: add missing log for web server listen func (#556)
- ui: fix plug cannot disable issue (#563)
Performance Improvements
- cmd: support command mini boot mode
Code Refactoring
- CI: replace using
docker/metadata-action
for the docker push (#545) - CI: replace renovate with github dependabot (#546)
- anti_spam: refactor anti_spam pkg
- artransfer: refactor artransfer pkg
- cache: remove cached fields in struct to save memory (#555)
- cache: cache code tidy-up
- cache: refactor cache pkg
- cache: refactor cache pkg
- cache: refactor cache pkg
- captcha: refactor captcha pkg
- cloud: refactor cloud pkg
- cmd: refactor cmd pkg
- conf: better config.NewFromFile with error handle
- config: refactor config pkg
- core: refactor core pkg
- core: better AppService func with error handle
- cors: refactor cors middleware
- dao: refactor dao pkg
- dao_cache: add dao_cache pkg
- db: refactor db pkg
- email: refactor email pkg
- i18n: refactor i18n pkg
- ip_region: refactor ip_region pkg
- limiter: add limiter pkg
- log: create common log pkg
- main: refactor main.go
- notify: add notify_pusher pkg
- server/common: refactor server/common pkg
- server/handler: refactor server/handler pkg
- server/middleware: refactor server/middleware pkg
- test: create common test pkg
Documentation
- extras: add deploy guide for fly.io (#520)
v2.5.5
v2.5.5 (2023-05-11)
Features
- build: add embedded fe lite and i18n scripts (#493) (#505)
- go: upgrade golang to v1.20.4 and some deps (#506)
- gravatar: add
gravatar.params
config option (#508)
Bug Fixes
- api: comment IP data loss after editing (#504)
- editor: prevent editor reset on comment failure (#507)
BREAKING CHANGE
The gravatar.default
config option has been removed. Please use gravatar.params
instead. The default value for gravatar.params
is now "d=mp&s=240"
.