<?xml version="1.0" encoding="UTF-8"?>
<otherdata xmlns="http://linux.duke.edu/metadata/other" packages="5">
<package pkgid="f58814efee9e3fea26cc43fdcf09a2f529ec88c29025ff4fb167842a494880a4db351b0feffc847ce2ff6b710d96448a2811fea6a88a77e283b0ef83466f2513" name="waylyrics" arch="aarch64">
  <version epoch="0" ver="0.4.0" rel="60.2"/>
  <changelog author="xtexchooser@duck.com" date="1707566400">- Update to version 0.2.2:
  * chore: release `v0.2.2`
  * build: Add ability to disable tests require network
  * ci: test qqmusic provider initializing
  * fix: QQMusic::init should panic on `Err()` rather than `Ok()`</changelog>
  <changelog author="xtexchooser@duck.com" date="1707912000">- Update to version 0.2.3:
  * feat: add `trans` theme [ci skip]
  * chore: release 0.2.3
  * ci: migrate to dtolnay/rust-toolchain
  * feat: allow to show origin lyric in above
  * fix: set 20ms as default lyric update interval
  * feat: set empty label explictly
  * refactor: apply clippy fix [ci skip]
  * chore: remove unreachable `title.unwrap_or()` call
  * doc: restate outdated doc of `TrackMeta`
  * doc: `lollypop`, GTK3-based local music player
  * feat: intro `is_likely_songid` for songid verification
  * doc: firefox via Plasma Integration [ci skip]
  * doc: explain more fields in `Config`
  * doc: add `osdlyrics` to alternatives [ci skip]
  * doc: play with musicfox need position fix patch
  * refactor: rename confusing `match_lyric` to `verify_lyric` [ci skip]
  * test: add unit tests for QQMusic::init</changelog>
  <changelog author="xtexchooser@duck.com" date="1708776000">- Package language files
- Update to version 0.2.11:
  * fix: show_both mode place origin to above if no translation
  * docs(changelog): update changelog
  * enhance: switch-passthrough in tray-icon without restart
  * docs(readme): remove dead `flutter-netease-music`
  * fix: hsl color format
  * docs(changelog): update changelog
  * chore: release v0.2.11
  * fix: use hsla for transparent window background
  * refactor: use `clone!` macro rather than calling upgrade/downgrade manually
  * perf: store default MainContext
  * chore: bump dependencies
  * fix: restart in tray-icon set click-through
  * ci: disable changelog on tag due to shitty failure [ci skip]
  * docs(changelog): update changelog
  * chore: release v0.2.10
  * refactor: move logic-related fields to Window::new
  * revert: "feat: (optional) select labels by translation/origin"
  * feat: (optional) select labels by translation/origin
  * feat(theme): new style
  * style(theme): format CSS with Prettier and Stylelint
  * feat: set mouse click-through in GSettings
  * feat: split popover menu to UI section and Play section
  * feat: set lyric-display-mode in GSettings
  * refactor: cleanup `set_lyric_with_mode` [ci skip]
  * docs(changelog): update changelog
  * chore: release v0.2.9
  * i18n: translate lyric align
  * feat!: set lyric align mode on run time
  * chore: clean up theme comments
  * chore: remove invalid github template
  * i18n: translate display_mode
  * feat: show icons on tray-icon menu
  * feat: only show set-lyric button when avaliable
  * i18n: translate length to 时长
  * docs(changelog): update changelog
  * ci: fix changelog ci skipped unexpectedly
  * chore: release v0.2.8
  * build(rpm): package with i18n files
  * fix: incomplete i18n in menu
  * docs(build): add gettext to dependencies
  * i18n: add translation for Simplefied Chinese
  * feat: i18n support
  * style: package_name as a constant [ci-skip]
  * build: make global theme presets optional
  * chore: remove unnessacary use of Arc&lt;dyn LyricProvider&gt;
  * ci: do not flood commit logs
  * docs(changelog): update changelog
  * build(rpm): add icon
  * docs(changelog): update changelog
  * docs(readme): update readme
  * docs(changelog): update changelog
  * feat: show tooltip for search entries
  * docs(changelog): update changelog
  * ci: update changelog on each commit
  * feat: sort search result by fuzzy-match weight
  * refactor: skip fuzzy-match in it's block
  * docs(changelog): update changelog
  * fix: changelog CI need write permission
  * ci: generate changelogs for master
  * chore: release v0.2.7
  * enhance: migrate to better dice-coefficient lib
  * feat: skip fuzzy-match if we got only title in metadata
  * log: log detailed likelihood with trace-level
  * feat: fuzzy-match lyrics with Sorensen-Dice coefficient
  * enhance: remove unnessacary global variable for PlayerId's
  * feat: restart waylyrics in tray-icon
  * chore: release v0.2.6
  * fix: missing feature gate for re-export in sync
  * feat: optionally start tray-icon service
  * feat(tray-icon): PlayAction control
  * feat: initial tray-icon support
  * todo: impl real tray-icon functions
  * feat: set lyric display mode in run time
  * refactor: remove repeated function prefix
  * chore: release v0.2.5
  * fix: repeated docs appends to commented config.toml
  * docs(config): lyric-align accepts CamelCase value
  * fix: append comments with `documented`
  * refactor: move config.rs to config/
  * feat: generate comments for config
  * build: add optional ksni dep
  * fix: remove `hide_label_on_empty_text = false` support
  * fix: do not hide below label in set_lyric
  * refactor: move search_window to crate::app
  * fix: remove `hide_label_on_empty_text = false` support
  * fix: do not hide below label in set_lyric
  * refactor: move search_window to crate::app
  * chore: release 0.2.4
  * fix: do not show lyric on `Stopped` status
  * feat: hide default text on idle
  * feat: set unsupported reason on below label
  * build: rename feature to 'action-event' rather than tray-icon
  * log: log reveiced action event
  * build: make tray-icon feature optional
  * fix: re-export play-action channel
  * fix: should re-export PlayAction
  * feat: invoke ui actions with mpsc::channel
  * refactor: rename to play_action
  * refactor: move UI-related actions to crate::app::actions
  * refactor: rename AppAction to PlayAction
  * style: remove unused Downgrade import
  * feat: invoke app actions with mpsc::channel
  * chore(dep): migrate to gtk4-rs 0.8.0
  * docs(readme): waybar supports all wlroots-based compositors
  * other(logo): white shade for text and logo
  * other(logo): make logo not so shining in dark background [ci skip]
  * docs(readme): move chat banners to center block [ci skip]
  * docs(readme): add logo and intro video [ci skip]
  * docs(contribute): introduce Conventional Commit [ci skip]</changelog>
  <changelog author="xtexchooser@duck.com" date="1709380800">- Update to version 0.2.12:
  * chore: release v0.2.12
  * feat: set Priority::HIGH for lyric_scroll
  * docs(readme): go-musicfox merged fix-position [ci skip]
  * docs(build): fix install command for schema [ci skip]
  * Update waylyrics.spec
  * Update INSTALLATION.md
  * docs(build): update packaging docs
  * chore: remove CSS stylelintrc
  * docs(install): show packaging status</changelog>
  <changelog author="xtexchooser@duck.com" date="1711195200">- Update to version 0.2.13:
  * chore: release v0.2.13
  * feat: blacklist players by name/identity
  * build(dep): update reqwest to 0.12
  * feat: fix secondary lyric will not end
  * build(deps): bump mio from 0.8.10 to 0.8.11
  * revert: "Update README.md"
  * Update README.md
  * refactor: use builder api in widget setup
  * feat: add theme no-background [ci skip]
  * docs(readme): intro listen1 [ci skip]
  * docs(readme): complain some bad support [ci skip]
  * docs(readme): list recommended players in chart [ci skip]
  * refactor: remove repeated bind-shortcut code
  * chore: fix missing bracket
  * refactor: do not set display mode manually
  * enhance: replace extension with PathBuf::set_extension
  * refactor: implement Debug for dyn LyricProvider
  * refactor: remove unneeded player_meta helper
  * docs(changelog): update changelog
  * feat: select labels by origin/translation in theme</changelog>
  <changelog author="xtexChooser &lt;xtexchooser@duck.com&gt;" date="1711800000">- Remove old rust ICE workaround</changelog>
  <changelog author="xtexchooser@duck.com" date="1712145600">- Update to version 0.2.15:
  * chore: release v0.2.15
  * feat: full mouse click-through for windows
  * docs(changelog): update changelog
  * fix: windows smtc position
  * fix: misuse of `windows-rs`
  * ci: reset pkgrel after a pkgver bump
  * docs(readme): intro windows user directories
  * chore: release v0.2.14
  * fix: do workarounds for windows-rs bug
  * fix: duplicated import
  * fix: wrong import path
  * feat: initial support for Windows SMTC
  * refactor: cleanup old code
  * docs(install): build on windows
  * build: make gettext, openssl, journald optional
  * revert: vendored -&gt; openssl
  * refactor: define OS-specified helpers in a trait
  * refactor: rename `list_player_names` to `list_players`
  * refactor: extract `try_sync_track` and `reconnect_player` from `interop::*`
  * build(deps): bump actions/checkout from 3 to 4
  * build(deps): bump orhun/git-cliff-action from 2 to 3
  * build(deps): bump actions/upload-artifact from 3 to 4
  * Update dependabot.yml
  * ci: Automatically update AUR PKGBUILD
  * build(deps): bump documented from 0.3.0 to 0.4.0
  * docs(readme): autoLyric `C/C++`
  * refactor: use `bind_shortcut` in switch-passthrough
  * chore(deps): bump dependencies
  * build: reduce binary size
  * docs(readme): musixfox-go released the required patch [ci skip]
  * Revert "feat: select labels by origin/translation in theme"
  * build(rpm): packit is no longer needed [ci skip]
  * chore: example environment is no longer required [ci skip]
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1712923200">- Update to version 0.2.17:
  * chore: release v0.2.17
  * feat: restart in tray-icon for windows
  * docs(readme): update missing translation
  * fix: gtk4 freezes on `Window::close` on windows
  * enhance: support LastUpdateTime on windows
  * chore: switch to upstream `tray-icon`
  * chore(deps): bump dependencies
  * fix: feature gate for unix should be `cfg(unix)`
  * chore: release v0.2.16
  * feat: initial tray-icon support for windows
  * chore(test): cleanup unused imports
  * build(deps): bump h2 from 0.4.3 to 0.4.4
  * docs(changelog): update changelog
  * docs(readme): the only compatible player on windows
  * build: add icon for win32 build</changelog>
  <changelog author="xtexchooser@duck.com" date="1713614400">- Update to version 0.2.18:
  * chore: release v0.2.18
  * fix: set paused as false after resumed to playing
  * log: print control status at trace level
  * feat: hide lyric on pause
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1713614401">- Update to version 0.2.19:
  * chore: release v0.2.19
  * fix(i18n): load i18n on windows
  * fix: underscore not showing in display mode menu
  * build: enable i18n for msvc build
  * docs(build): gettext-rs on windows cannot builds out-of-box with MSVC
  * fix: use '/' as splitte on searchbox creating
  * feat: use song_search_detailed in search box to apply aliases
  * enhance: apply alias for artist name on `netease`
  * enhance: make fuzzy-match weight more than length based match
  * enhance: fine-tune fuzzy match factor
  * feat: convert zh-hans/zh-hant in fuzzy match with opencc
  * chore: bump dependencies
  * build(windows): add build script
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1714132800">- Update to version 0.3.0:
  * docs(changelog): update changelog
  * chore: release v0.3.0
  * fix(ci): new schema path
  * docs(install): update packaging script
  * BREAKING CHANGE: formalize app id &amp; restructure files~
  * Fix missing wayland icon
  * Add metainfo
  * Change filenames
  * Change screenshot 1
  * Add screenshots
  * fix: set titlebar before set decorated
  * log: set time diff log level to TRACE so we will not flood debug log
  * log: mpris position delay
  * refactor: pass WeakRef&lt;Window&gt; to register_sync_task
  * fix(i18n): en_US translation
  * revert: "Translate display modes"
  * Translate display modes
  * align -&gt; alignment
  * docs(changelog): update changelog
  * chore: release v0.2.21
  * fix: stop lyric update when show_lyric_on_pause not set on pause
  * docs(changelog): update changelog
  * chore: release v0.2.20
  * build: remove git dependencies
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1714132801">- Update to version 0.3.5:
  * chore: release v0.3.5
  * feat: emit NewLyricCache signal on lyric cache update
  * feat: reload lyric from cache
  * build(test): set profile.test.debug a boolean
  * chore: release v0.3.4
  * Fix Exec in desktop file
  * chore(metainfo): use v0.3.3 tag
  * chore(metainfo): add screenshot of search window
  * chore(metainfo): fix warnings
  * chore: release v0.3.3
  * chore(desktopfile): remove action `Launch`
  * chore(metainfo): h3 tags are not supported
  * chore: release v0.3.2
  * fix: enum tuple variant cannot be destrcucted by tuple matching
  * fix(readme): broken link of desktop file
  * Use patched ksni to solve tray issue in flatpak (thanks to @taoky)
  * chore: make extracting values from tuples more readable
  * chore: use for loop to refactor items appending in ui_section &amp; play_section
  * chore: use for loop to refactor entries appending in imp.vbox
  * log(tray): do not flood start_time on smtc
  * ci: fix documents deploy CI
  * ci: remove microsoft-prod.list
  * ci: fix test.yml
  * chore: release v0.3.1
  * feat: set search-window ColumnView row padding in themes
  * docs(changelog): update changelog
  * Add replaces &amp; launchable
  * Update metainfo to v0.3.0</changelog>
  <changelog author="xtexchooser@duck.com" date="1714478400">- Update to version 0.3.8:
  * chore: release v0.3.8
  * i18n: translate 'import lyric' &amp; translated/original lyric
  * build: do not strip binary by default [ci skip]
  * chore(deps): bump dependencies [ci skip]
  * feat: import local lrc in tray &amp; csd menu
  * docs(readme): intro waylyrics-sakura-translator [ci skip]
  * chore: release v0.3.7
  * feat: emit LoadLyricCache signal on lyric cache load
  * chore: release v0.3.6
  * fix(typo): import-lrc -&gt; import-lyric
  * feat: select local LRC file to import
  * refactor: inline variable "text"
  * Avoid starting with article in summary
  * build: migrate to ksni 0.2.2
  * feat: allow LRC line that starts with [xxx] without ':'
  * fix: disable local lrc hint on `enable-local-lyric=false`
  * docs(install-en): add flatpak installation link
  * docs(install): add flatpak installation link
  * fix: missing import
  * feat: disable loading local lyric
  * refactor: Change net-test to offline-test
  * chore: add archlinuxcn in installation guide
  * feat(tray): refetch-lyric for windows
  * refactor: store dbus connection instead of gapplication</changelog>
  <changelog author="xtexchooser@duck.com" date="1716724800">- Update to version 0.3.9:
  * chore: release v0.3.9
  * fix(windows): auto connect to active player
  * fix(test): do not test time
  * build: enable import lyric feature for windows
  * docs(readme): intro musicfox, TUI music player supports SMTC [ci skip]
  * enhance: workaround for musicfox v4.4.0 [ci skip]
  * Fix Chinese translation
  * Set title for lyrics file selection dialog</changelog>
  <changelog author="xtexchooser@duck.com" date="1717588800">- Update to version 0.3.10:
  * chore: release v0.3.10
  * fix(log): i18n bind result will not be logged</changelog>
  <changelog author="xtexchooser@duck.com" date="1717675200">- Update to version 0.3.11:
  * chore: release v0.3.11
  * docs(install): user-fiendly version (#240)
  * feat: extract translated lyric from local LRC - this only affects behaviour on loading local lyric via player hint - close #241
  * feat: try load local translated lyric with ISO-639-1 code ,close #165
  * build(deps): bump toml_edit from 0.22.12 to 0.22.13
  * build(deps): bump async-channel from 2.2.1 to 2.3.1
  * build(deps): bump anyhow from 1.0.82 to 1.0.86
  * build(deps): bump mimalloc from 0.1.41 to 0.1.42
  * build(deps): bump the serde group with 2 updates
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * 修复了一些安装文档的小问题</changelog>
  <changelog author="xtexchooser@duck.com" date="1719057600">- Update to version 0.3.12:
  * chore: release v0.3.12
  * fix: extract lyric lines should compare start_time
  * fix: `extract-translated-lyric` flag is ignored
  * docs: fix typo
  * chore(log): add log for textdomain to use</changelog>
  <changelog author="xtexchooser@duck.com" date="1719662400">- Update to version 0.3.13:
  * chore: release v0.3.13
  * fix: missing import statement
  * fix: do not remove original lyric on extracting translated ones
  * docs(readme): add `ncmpcpp` via mpd-mpris
  * chore: bump dependencies</changelog>
  <changelog author="Edgar Aichinger &lt;edogawa@aon.at&gt;" date="1755691200">- remove --locked from %{cargo_[build|install]} as it's part of these macros now
- Update to version 0.3.21:
  * docs: update changelog [ci skip]
  * chore: bump version to v0.3.21
  * build: bump dependencies
  * build(deps): bump tokio from 1.43.0 to 1.43.1
  * build(deps): bump openssl from 0.10.71 to 0.10.72
  * build(deps): bump rust_decimal from 1.36.0 to 1.37.1
  * build(deps): bump async-trait from 0.1.86 to 0.1.88
  * build(deps): bump reqwest from 0.12.12 to 0.12.15
  * build(deps): bump rust_decimal_macros from 1.36.0 to 1.37.1
  * build(deps): bump the serde group with 2 updates
  * fix:.一个错误
  * fix: 手动刷新歌词时清空歌词标签缓存
  * style: :lipstick: cargo fmt
  * perf: DashMap 作为歌词标签存在性缓存
  * feat: 添加对从音乐文件元数据读取歌词的支持
  * build(deps): bump ring from 0.17.11 to 0.17.13 (#303)
  * chore: add script to export dup deps [ci skip]
  * fix(CI): remove outdated test of qqmusic api initialization [ci skip]
  * build: bump dependencies
  * docs(readme): HotLyric, alternative on windows [ci skip]
  * docs(readme): note on project status
  * build(deps): bump openssl from 0.10.68 to 0.10.70 (#301)
  * build(deps): bump serde_json from 1.0.134 to 1.0.138 in the serde group (#296)
  * build(deps): bump thiserror from 2.0.9 to 2.0.11 (#297)
  * build(deps): bump tokio from 1.42.0 to 1.43.0 (#298)
  * build(deps): bump futures-lite from 2.5.0 to 2.6.0 (#299)
  * build(deps): bump windows from 0.58.0 to 0.59.0 (#300)
  * build(deps): bump dark-light to 2.0.0
  * build(deps): bump reqwest from 0.12.9 to 0.12.12 (#291)
  * build(deps): bump the serde group with 2 updates (#290)
  * build(deps): bump gdk4-win32 from 0.9.3 to 0.9.5 (#292)
  * build(deps): bump thiserror from 2.0.6 to 2.0.9 (#293)
  * build(deps): bump glib-macros from 0.20.5 to 0.20.7 (#294)
  * rust version problem (#289)
  * enhance: switch to better tray-icon implementation for windows [ci skip]
  * build: migrate to ksni 0.3
  * chore: dedup code
  * chore: fix deepsource lints
  * refactor: extract set_by_mode
  * ci: add .deepsource.toml
  * docs(readme): add introduction [ci skip]
  * docs(readme): add alternative `lyric-for-musixfox` [ci skip]
  * docs(readme): add preview images [ci skip]
  * docs(readme): replace text with logos
  * docs: update changelog &amp; metainfo
  * chore: release v0.3.20
  * enhance: comment for sub table in config
  * log: capture panics
  * fix: check if instance name used
  * docs: update metainfo &amp; changelog
  * hotfix: build on windows
  * chore: release v0.3.19
  * chore(deps): bump dependencies
  * build(deps): bump the serde group with 2 updates (#280)
  * build(deps): bump tracing from 0.1.40 to 0.1.41 (#281)
  * build(deps): bump tray-icon from 0.19.1 to 0.19.2 (#282)
  * build(deps): bump rfd from 0.15.0 to 0.15.1 (#284)
  * build(deps): bump url from 2.5.3 to 2.5.4 (#283)
  * docs(build): check MSRV
  * chore(clippy): fix clippy warnings
  * chore: update lock file
  * fix: setCookies for QQMusicApi
  * fix: instance format
  * feat: support multi-monitor setup (#278)
  * feat: Implement color-scheme autoswitch (light/dark mode) (#277)
  * enhance: unregister latest theme
  * build(deps): bump rustls from 0.23.16 to 0.23.18 (#276)
  * fix: LazyLock is not stable yet in 1.73 rustc
  * chore: fix details URL in metainfo
  * chore: bump version to 0.3.18
  * test: search/query via lrclib
  * feat: support LRCLib provider
  * chore: apply clippy fix
  * fix: `login_qqmusic` call was not awaited
  * chore(deps): bump dependencies
  * feat: show errors from providers in search_window
  * fix: search failure dialog cannot be spawned outside GTK thread
  * docs: fix typo in filename
  * docs(i18n): translation for contribution.md and build guide ubuntu (#272)
  * fix: add artists to QQMusic keyword
  * fix(test): initialize QQMusic
  * feat: set cookies for QQMusicApi in config
  * chore: migrate to qqmusic-rs 0.2.0
  * enhance: init lyric provider with any struct
  * build(deps): bump the serde group with 2 updates (#266)
  * build(deps): bump glib-macros from 0.20.4 to 0.20.5 (#267)
  * build(deps): bump thiserror from 1.0.64 to 1.0.66 (#268)
  * build(deps): bump regex from 1.11.0 to 1.11.1 (#269)
  * build(deps): bump tray-icon from 0.19.0 to 0.19.1 (#270)
  * chore: support nix flake (#264)
  * fix: set text wrap to show very-long lyric
  * docs(readme): add alternative `lyrica`
  * chore(deps): bump once_cell to `1.20.2`
  * chore: release v0.3.17
  * fix(tray/unix): Avoid calling list_players() from tray thread (#262)
  * fix(tray): export translated lyrics
  * build(deps): bump reqwest from 0.12.7 to 0.12.8 (#261)
  * fix(win32): crash with Motrix runnig
  * i18n: Create Italian Translation  it_IT (#260)
  * chore: release v0.3.16
  * build(fix): ""desktop
  * docs(build): fix i18n part (#259)
  * chore(deps): bump dependencies
  * docs(readme): intro SPlayer [ci skip]
  * docs(readme): desktop support of desktop_lyric, #258
  * fix: build error on linux
  * refactor: dedup function signature
  * docs(readme): add alternative
  * i18n: translate tips
  * test: add test for make_lrc_line
  * build(fix): fix build with MSVC
  * feat: show error dialog if search failed
  * enhance: TrackMeta from Metadata will not fail now
  * chore: release v0.3.15
  * enhance: select output file after generation
  * fix: sec field in exported lyric
  * enhance: make import/export pormpt different
  * chore: release v0.3.14
  * i18n: update locale for 0.3.14
  * build: enable export-lyric for win build [ci skip]
  * chore(dep): bump dependencies
  * chore: disable unused warn
  * fix: build with export-lyric/import-lyric disabled
  * feat: export-lyric
  * refactor: dedup import-*-lyric
  * enhance: dedup import-lyric
  * build(deps): bump the serde group with 2 updates (#252)
  * build(deps): bump opencc-rust from 1.1.18 to 1.1.19 (#253)
  * build(deps): bump gettext-rs from 0.7.0 to 0.7.1 (#254)
  * build(deps): bump reqwest from 0.12.5 to 0.12.7 (#255)
  * build(deps): bump rust_decimal from 1.35.0 to 1.36.0 (#256)
  * build(deps): bump orhun/git-cliff-action from 3 to 4 (#257)
  * fix: build with `opencc` disabled
  * refactor: unify naming of same component in different mod
  * refactor: prefer lazy-binding rather than multiple `cfg` flag
  * docs(readme): fix broken link for DeaDBeeF plugin [ci skip]
  * build(deps): bump tokio from 1.39.1 to 1.39.2 (#248)
  * build(deps): bump serde_json from 1.0.120 to 1.0.121 in the serde group (#247)
  * docs: mark issue/workaround for Better Comments
  * fix: support new type of HWND inner
  * docs(readme): intro DeaDBeeF close #245
  * fix: migrate to window-rs 0.58
  * build(deps): bump openssl from 0.10.64 to 0.10.66 (#246)
  * refactor: migrate to new-style clone!
  * refactor: migrate to gtk4-rs clone! new style
  * chore: bump dependencies
  * build(deps): bump serde_json from 1.0.118 to 1.0.119 in the serde group (#244)</changelog>
  <changelog author="Muhammad Akbar Yanuar Mantari &lt;mantarimay@pm.me&gt;" date="1784894400">- Update to version 0.4.0
  * Added plugin architecture and SakuraLLM translation plugin
  * Added OpenCC support for Simplified/Traditional Chinese
  * Added support for custom CSS themes and style presets
  * Added auto theme switching based on light/dark mode
  * Added shortcut keys for decoration, passthrough, and search
  * Improved MPRIS and SMTC audio player integration
  * Improved TOML config handling and automatic comment updates
  * Optimized lyric search, fetch speed, and UI responsiveness
  * Fixed window passthrough state and click-through toggles
  * Updated dependencies and bumped MSRV requirement
- disable test
- fix build failed because trait GTK for macro @implements</changelog>
</package>
<package pkgid="3fe0c5d71845f4d6cf65005be3056e68f48de64718ef5ef0a9b0c19c17c3b497df2573b726b9a2b14a93f6d3c74ab35123d85209779feb597d3ccab39fd4a7e5" name="waylyrics" arch="src">
  <version epoch="0" ver="0.4.0" rel="60.2"/>
  <changelog author="xtexchooser@duck.com" date="1707566400">- Update to version 0.2.2:
  * chore: release `v0.2.2`
  * build: Add ability to disable tests require network
  * ci: test qqmusic provider initializing
  * fix: QQMusic::init should panic on `Err()` rather than `Ok()`</changelog>
  <changelog author="xtexchooser@duck.com" date="1707912000">- Update to version 0.2.3:
  * feat: add `trans` theme [ci skip]
  * chore: release 0.2.3
  * ci: migrate to dtolnay/rust-toolchain
  * feat: allow to show origin lyric in above
  * fix: set 20ms as default lyric update interval
  * feat: set empty label explictly
  * refactor: apply clippy fix [ci skip]
  * chore: remove unreachable `title.unwrap_or()` call
  * doc: restate outdated doc of `TrackMeta`
  * doc: `lollypop`, GTK3-based local music player
  * feat: intro `is_likely_songid` for songid verification
  * doc: firefox via Plasma Integration [ci skip]
  * doc: explain more fields in `Config`
  * doc: add `osdlyrics` to alternatives [ci skip]
  * doc: play with musicfox need position fix patch
  * refactor: rename confusing `match_lyric` to `verify_lyric` [ci skip]
  * test: add unit tests for QQMusic::init</changelog>
  <changelog author="xtexchooser@duck.com" date="1708776000">- Package language files
- Update to version 0.2.11:
  * fix: show_both mode place origin to above if no translation
  * docs(changelog): update changelog
  * enhance: switch-passthrough in tray-icon without restart
  * docs(readme): remove dead `flutter-netease-music`
  * fix: hsl color format
  * docs(changelog): update changelog
  * chore: release v0.2.11
  * fix: use hsla for transparent window background
  * refactor: use `clone!` macro rather than calling upgrade/downgrade manually
  * perf: store default MainContext
  * chore: bump dependencies
  * fix: restart in tray-icon set click-through
  * ci: disable changelog on tag due to shitty failure [ci skip]
  * docs(changelog): update changelog
  * chore: release v0.2.10
  * refactor: move logic-related fields to Window::new
  * revert: "feat: (optional) select labels by translation/origin"
  * feat: (optional) select labels by translation/origin
  * feat(theme): new style
  * style(theme): format CSS with Prettier and Stylelint
  * feat: set mouse click-through in GSettings
  * feat: split popover menu to UI section and Play section
  * feat: set lyric-display-mode in GSettings
  * refactor: cleanup `set_lyric_with_mode` [ci skip]
  * docs(changelog): update changelog
  * chore: release v0.2.9
  * i18n: translate lyric align
  * feat!: set lyric align mode on run time
  * chore: clean up theme comments
  * chore: remove invalid github template
  * i18n: translate display_mode
  * feat: show icons on tray-icon menu
  * feat: only show set-lyric button when avaliable
  * i18n: translate length to 时长
  * docs(changelog): update changelog
  * ci: fix changelog ci skipped unexpectedly
  * chore: release v0.2.8
  * build(rpm): package with i18n files
  * fix: incomplete i18n in menu
  * docs(build): add gettext to dependencies
  * i18n: add translation for Simplefied Chinese
  * feat: i18n support
  * style: package_name as a constant [ci-skip]
  * build: make global theme presets optional
  * chore: remove unnessacary use of Arc&lt;dyn LyricProvider&gt;
  * ci: do not flood commit logs
  * docs(changelog): update changelog
  * build(rpm): add icon
  * docs(changelog): update changelog
  * docs(readme): update readme
  * docs(changelog): update changelog
  * feat: show tooltip for search entries
  * docs(changelog): update changelog
  * ci: update changelog on each commit
  * feat: sort search result by fuzzy-match weight
  * refactor: skip fuzzy-match in it's block
  * docs(changelog): update changelog
  * fix: changelog CI need write permission
  * ci: generate changelogs for master
  * chore: release v0.2.7
  * enhance: migrate to better dice-coefficient lib
  * feat: skip fuzzy-match if we got only title in metadata
  * log: log detailed likelihood with trace-level
  * feat: fuzzy-match lyrics with Sorensen-Dice coefficient
  * enhance: remove unnessacary global variable for PlayerId's
  * feat: restart waylyrics in tray-icon
  * chore: release v0.2.6
  * fix: missing feature gate for re-export in sync
  * feat: optionally start tray-icon service
  * feat(tray-icon): PlayAction control
  * feat: initial tray-icon support
  * todo: impl real tray-icon functions
  * feat: set lyric display mode in run time
  * refactor: remove repeated function prefix
  * chore: release v0.2.5
  * fix: repeated docs appends to commented config.toml
  * docs(config): lyric-align accepts CamelCase value
  * fix: append comments with `documented`
  * refactor: move config.rs to config/
  * feat: generate comments for config
  * build: add optional ksni dep
  * fix: remove `hide_label_on_empty_text = false` support
  * fix: do not hide below label in set_lyric
  * refactor: move search_window to crate::app
  * fix: remove `hide_label_on_empty_text = false` support
  * fix: do not hide below label in set_lyric
  * refactor: move search_window to crate::app
  * chore: release 0.2.4
  * fix: do not show lyric on `Stopped` status
  * feat: hide default text on idle
  * feat: set unsupported reason on below label
  * build: rename feature to 'action-event' rather than tray-icon
  * log: log reveiced action event
  * build: make tray-icon feature optional
  * fix: re-export play-action channel
  * fix: should re-export PlayAction
  * feat: invoke ui actions with mpsc::channel
  * refactor: rename to play_action
  * refactor: move UI-related actions to crate::app::actions
  * refactor: rename AppAction to PlayAction
  * style: remove unused Downgrade import
  * feat: invoke app actions with mpsc::channel
  * chore(dep): migrate to gtk4-rs 0.8.0
  * docs(readme): waybar supports all wlroots-based compositors
  * other(logo): white shade for text and logo
  * other(logo): make logo not so shining in dark background [ci skip]
  * docs(readme): move chat banners to center block [ci skip]
  * docs(readme): add logo and intro video [ci skip]
  * docs(contribute): introduce Conventional Commit [ci skip]</changelog>
  <changelog author="xtexchooser@duck.com" date="1709380800">- Update to version 0.2.12:
  * chore: release v0.2.12
  * feat: set Priority::HIGH for lyric_scroll
  * docs(readme): go-musicfox merged fix-position [ci skip]
  * docs(build): fix install command for schema [ci skip]
  * Update waylyrics.spec
  * Update INSTALLATION.md
  * docs(build): update packaging docs
  * chore: remove CSS stylelintrc
  * docs(install): show packaging status</changelog>
  <changelog author="xtexchooser@duck.com" date="1711195200">- Update to version 0.2.13:
  * chore: release v0.2.13
  * feat: blacklist players by name/identity
  * build(dep): update reqwest to 0.12
  * feat: fix secondary lyric will not end
  * build(deps): bump mio from 0.8.10 to 0.8.11
  * revert: "Update README.md"
  * Update README.md
  * refactor: use builder api in widget setup
  * feat: add theme no-background [ci skip]
  * docs(readme): intro listen1 [ci skip]
  * docs(readme): complain some bad support [ci skip]
  * docs(readme): list recommended players in chart [ci skip]
  * refactor: remove repeated bind-shortcut code
  * chore: fix missing bracket
  * refactor: do not set display mode manually
  * enhance: replace extension with PathBuf::set_extension
  * refactor: implement Debug for dyn LyricProvider
  * refactor: remove unneeded player_meta helper
  * docs(changelog): update changelog
  * feat: select labels by origin/translation in theme</changelog>
  <changelog author="xtexChooser &lt;xtexchooser@duck.com&gt;" date="1711800000">- Remove old rust ICE workaround</changelog>
  <changelog author="xtexchooser@duck.com" date="1712145600">- Update to version 0.2.15:
  * chore: release v0.2.15
  * feat: full mouse click-through for windows
  * docs(changelog): update changelog
  * fix: windows smtc position
  * fix: misuse of `windows-rs`
  * ci: reset pkgrel after a pkgver bump
  * docs(readme): intro windows user directories
  * chore: release v0.2.14
  * fix: do workarounds for windows-rs bug
  * fix: duplicated import
  * fix: wrong import path
  * feat: initial support for Windows SMTC
  * refactor: cleanup old code
  * docs(install): build on windows
  * build: make gettext, openssl, journald optional
  * revert: vendored -&gt; openssl
  * refactor: define OS-specified helpers in a trait
  * refactor: rename `list_player_names` to `list_players`
  * refactor: extract `try_sync_track` and `reconnect_player` from `interop::*`
  * build(deps): bump actions/checkout from 3 to 4
  * build(deps): bump orhun/git-cliff-action from 2 to 3
  * build(deps): bump actions/upload-artifact from 3 to 4
  * Update dependabot.yml
  * ci: Automatically update AUR PKGBUILD
  * build(deps): bump documented from 0.3.0 to 0.4.0
  * docs(readme): autoLyric `C/C++`
  * refactor: use `bind_shortcut` in switch-passthrough
  * chore(deps): bump dependencies
  * build: reduce binary size
  * docs(readme): musixfox-go released the required patch [ci skip]
  * Revert "feat: select labels by origin/translation in theme"
  * build(rpm): packit is no longer needed [ci skip]
  * chore: example environment is no longer required [ci skip]
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1712923200">- Update to version 0.2.17:
  * chore: release v0.2.17
  * feat: restart in tray-icon for windows
  * docs(readme): update missing translation
  * fix: gtk4 freezes on `Window::close` on windows
  * enhance: support LastUpdateTime on windows
  * chore: switch to upstream `tray-icon`
  * chore(deps): bump dependencies
  * fix: feature gate for unix should be `cfg(unix)`
  * chore: release v0.2.16
  * feat: initial tray-icon support for windows
  * chore(test): cleanup unused imports
  * build(deps): bump h2 from 0.4.3 to 0.4.4
  * docs(changelog): update changelog
  * docs(readme): the only compatible player on windows
  * build: add icon for win32 build</changelog>
  <changelog author="xtexchooser@duck.com" date="1713614400">- Update to version 0.2.18:
  * chore: release v0.2.18
  * fix: set paused as false after resumed to playing
  * log: print control status at trace level
  * feat: hide lyric on pause
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1713614401">- Update to version 0.2.19:
  * chore: release v0.2.19
  * fix(i18n): load i18n on windows
  * fix: underscore not showing in display mode menu
  * build: enable i18n for msvc build
  * docs(build): gettext-rs on windows cannot builds out-of-box with MSVC
  * fix: use '/' as splitte on searchbox creating
  * feat: use song_search_detailed in search box to apply aliases
  * enhance: apply alias for artist name on `netease`
  * enhance: make fuzzy-match weight more than length based match
  * enhance: fine-tune fuzzy match factor
  * feat: convert zh-hans/zh-hant in fuzzy match with opencc
  * chore: bump dependencies
  * build(windows): add build script
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1714132800">- Update to version 0.3.0:
  * docs(changelog): update changelog
  * chore: release v0.3.0
  * fix(ci): new schema path
  * docs(install): update packaging script
  * BREAKING CHANGE: formalize app id &amp; restructure files~
  * Fix missing wayland icon
  * Add metainfo
  * Change filenames
  * Change screenshot 1
  * Add screenshots
  * fix: set titlebar before set decorated
  * log: set time diff log level to TRACE so we will not flood debug log
  * log: mpris position delay
  * refactor: pass WeakRef&lt;Window&gt; to register_sync_task
  * fix(i18n): en_US translation
  * revert: "Translate display modes"
  * Translate display modes
  * align -&gt; alignment
  * docs(changelog): update changelog
  * chore: release v0.2.21
  * fix: stop lyric update when show_lyric_on_pause not set on pause
  * docs(changelog): update changelog
  * chore: release v0.2.20
  * build: remove git dependencies
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1714132801">- Update to version 0.3.5:
  * chore: release v0.3.5
  * feat: emit NewLyricCache signal on lyric cache update
  * feat: reload lyric from cache
  * build(test): set profile.test.debug a boolean
  * chore: release v0.3.4
  * Fix Exec in desktop file
  * chore(metainfo): use v0.3.3 tag
  * chore(metainfo): add screenshot of search window
  * chore(metainfo): fix warnings
  * chore: release v0.3.3
  * chore(desktopfile): remove action `Launch`
  * chore(metainfo): h3 tags are not supported
  * chore: release v0.3.2
  * fix: enum tuple variant cannot be destrcucted by tuple matching
  * fix(readme): broken link of desktop file
  * Use patched ksni to solve tray issue in flatpak (thanks to @taoky)
  * chore: make extracting values from tuples more readable
  * chore: use for loop to refactor items appending in ui_section &amp; play_section
  * chore: use for loop to refactor entries appending in imp.vbox
  * log(tray): do not flood start_time on smtc
  * ci: fix documents deploy CI
  * ci: remove microsoft-prod.list
  * ci: fix test.yml
  * chore: release v0.3.1
  * feat: set search-window ColumnView row padding in themes
  * docs(changelog): update changelog
  * Add replaces &amp; launchable
  * Update metainfo to v0.3.0</changelog>
  <changelog author="xtexchooser@duck.com" date="1714478400">- Update to version 0.3.8:
  * chore: release v0.3.8
  * i18n: translate 'import lyric' &amp; translated/original lyric
  * build: do not strip binary by default [ci skip]
  * chore(deps): bump dependencies [ci skip]
  * feat: import local lrc in tray &amp; csd menu
  * docs(readme): intro waylyrics-sakura-translator [ci skip]
  * chore: release v0.3.7
  * feat: emit LoadLyricCache signal on lyric cache load
  * chore: release v0.3.6
  * fix(typo): import-lrc -&gt; import-lyric
  * feat: select local LRC file to import
  * refactor: inline variable "text"
  * Avoid starting with article in summary
  * build: migrate to ksni 0.2.2
  * feat: allow LRC line that starts with [xxx] without ':'
  * fix: disable local lrc hint on `enable-local-lyric=false`
  * docs(install-en): add flatpak installation link
  * docs(install): add flatpak installation link
  * fix: missing import
  * feat: disable loading local lyric
  * refactor: Change net-test to offline-test
  * chore: add archlinuxcn in installation guide
  * feat(tray): refetch-lyric for windows
  * refactor: store dbus connection instead of gapplication</changelog>
  <changelog author="xtexchooser@duck.com" date="1716724800">- Update to version 0.3.9:
  * chore: release v0.3.9
  * fix(windows): auto connect to active player
  * fix(test): do not test time
  * build: enable import lyric feature for windows
  * docs(readme): intro musicfox, TUI music player supports SMTC [ci skip]
  * enhance: workaround for musicfox v4.4.0 [ci skip]
  * Fix Chinese translation
  * Set title for lyrics file selection dialog</changelog>
  <changelog author="xtexchooser@duck.com" date="1717588800">- Update to version 0.3.10:
  * chore: release v0.3.10
  * fix(log): i18n bind result will not be logged</changelog>
  <changelog author="xtexchooser@duck.com" date="1717675200">- Update to version 0.3.11:
  * chore: release v0.3.11
  * docs(install): user-fiendly version (#240)
  * feat: extract translated lyric from local LRC - this only affects behaviour on loading local lyric via player hint - close #241
  * feat: try load local translated lyric with ISO-639-1 code ,close #165
  * build(deps): bump toml_edit from 0.22.12 to 0.22.13
  * build(deps): bump async-channel from 2.2.1 to 2.3.1
  * build(deps): bump anyhow from 1.0.82 to 1.0.86
  * build(deps): bump mimalloc from 0.1.41 to 0.1.42
  * build(deps): bump the serde group with 2 updates
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * 修复了一些安装文档的小问题</changelog>
  <changelog author="xtexchooser@duck.com" date="1719057600">- Update to version 0.3.12:
  * chore: release v0.3.12
  * fix: extract lyric lines should compare start_time
  * fix: `extract-translated-lyric` flag is ignored
  * docs: fix typo
  * chore(log): add log for textdomain to use</changelog>
  <changelog author="xtexchooser@duck.com" date="1719662400">- Update to version 0.3.13:
  * chore: release v0.3.13
  * fix: missing import statement
  * fix: do not remove original lyric on extracting translated ones
  * docs(readme): add `ncmpcpp` via mpd-mpris
  * chore: bump dependencies</changelog>
  <changelog author="Edgar Aichinger &lt;edogawa@aon.at&gt;" date="1755691200">- remove --locked from %{cargo_[build|install]} as it's part of these macros now
- Update to version 0.3.21:
  * docs: update changelog [ci skip]
  * chore: bump version to v0.3.21
  * build: bump dependencies
  * build(deps): bump tokio from 1.43.0 to 1.43.1
  * build(deps): bump openssl from 0.10.71 to 0.10.72
  * build(deps): bump rust_decimal from 1.36.0 to 1.37.1
  * build(deps): bump async-trait from 0.1.86 to 0.1.88
  * build(deps): bump reqwest from 0.12.12 to 0.12.15
  * build(deps): bump rust_decimal_macros from 1.36.0 to 1.37.1
  * build(deps): bump the serde group with 2 updates
  * fix:.一个错误
  * fix: 手动刷新歌词时清空歌词标签缓存
  * style: :lipstick: cargo fmt
  * perf: DashMap 作为歌词标签存在性缓存
  * feat: 添加对从音乐文件元数据读取歌词的支持
  * build(deps): bump ring from 0.17.11 to 0.17.13 (#303)
  * chore: add script to export dup deps [ci skip]
  * fix(CI): remove outdated test of qqmusic api initialization [ci skip]
  * build: bump dependencies
  * docs(readme): HotLyric, alternative on windows [ci skip]
  * docs(readme): note on project status
  * build(deps): bump openssl from 0.10.68 to 0.10.70 (#301)
  * build(deps): bump serde_json from 1.0.134 to 1.0.138 in the serde group (#296)
  * build(deps): bump thiserror from 2.0.9 to 2.0.11 (#297)
  * build(deps): bump tokio from 1.42.0 to 1.43.0 (#298)
  * build(deps): bump futures-lite from 2.5.0 to 2.6.0 (#299)
  * build(deps): bump windows from 0.58.0 to 0.59.0 (#300)
  * build(deps): bump dark-light to 2.0.0
  * build(deps): bump reqwest from 0.12.9 to 0.12.12 (#291)
  * build(deps): bump the serde group with 2 updates (#290)
  * build(deps): bump gdk4-win32 from 0.9.3 to 0.9.5 (#292)
  * build(deps): bump thiserror from 2.0.6 to 2.0.9 (#293)
  * build(deps): bump glib-macros from 0.20.5 to 0.20.7 (#294)
  * rust version problem (#289)
  * enhance: switch to better tray-icon implementation for windows [ci skip]
  * build: migrate to ksni 0.3
  * chore: dedup code
  * chore: fix deepsource lints
  * refactor: extract set_by_mode
  * ci: add .deepsource.toml
  * docs(readme): add introduction [ci skip]
  * docs(readme): add alternative `lyric-for-musixfox` [ci skip]
  * docs(readme): add preview images [ci skip]
  * docs(readme): replace text with logos
  * docs: update changelog &amp; metainfo
  * chore: release v0.3.20
  * enhance: comment for sub table in config
  * log: capture panics
  * fix: check if instance name used
  * docs: update metainfo &amp; changelog
  * hotfix: build on windows
  * chore: release v0.3.19
  * chore(deps): bump dependencies
  * build(deps): bump the serde group with 2 updates (#280)
  * build(deps): bump tracing from 0.1.40 to 0.1.41 (#281)
  * build(deps): bump tray-icon from 0.19.1 to 0.19.2 (#282)
  * build(deps): bump rfd from 0.15.0 to 0.15.1 (#284)
  * build(deps): bump url from 2.5.3 to 2.5.4 (#283)
  * docs(build): check MSRV
  * chore(clippy): fix clippy warnings
  * chore: update lock file
  * fix: setCookies for QQMusicApi
  * fix: instance format
  * feat: support multi-monitor setup (#278)
  * feat: Implement color-scheme autoswitch (light/dark mode) (#277)
  * enhance: unregister latest theme
  * build(deps): bump rustls from 0.23.16 to 0.23.18 (#276)
  * fix: LazyLock is not stable yet in 1.73 rustc
  * chore: fix details URL in metainfo
  * chore: bump version to 0.3.18
  * test: search/query via lrclib
  * feat: support LRCLib provider
  * chore: apply clippy fix
  * fix: `login_qqmusic` call was not awaited
  * chore(deps): bump dependencies
  * feat: show errors from providers in search_window
  * fix: search failure dialog cannot be spawned outside GTK thread
  * docs: fix typo in filename
  * docs(i18n): translation for contribution.md and build guide ubuntu (#272)
  * fix: add artists to QQMusic keyword
  * fix(test): initialize QQMusic
  * feat: set cookies for QQMusicApi in config
  * chore: migrate to qqmusic-rs 0.2.0
  * enhance: init lyric provider with any struct
  * build(deps): bump the serde group with 2 updates (#266)
  * build(deps): bump glib-macros from 0.20.4 to 0.20.5 (#267)
  * build(deps): bump thiserror from 1.0.64 to 1.0.66 (#268)
  * build(deps): bump regex from 1.11.0 to 1.11.1 (#269)
  * build(deps): bump tray-icon from 0.19.0 to 0.19.1 (#270)
  * chore: support nix flake (#264)
  * fix: set text wrap to show very-long lyric
  * docs(readme): add alternative `lyrica`
  * chore(deps): bump once_cell to `1.20.2`
  * chore: release v0.3.17
  * fix(tray/unix): Avoid calling list_players() from tray thread (#262)
  * fix(tray): export translated lyrics
  * build(deps): bump reqwest from 0.12.7 to 0.12.8 (#261)
  * fix(win32): crash with Motrix runnig
  * i18n: Create Italian Translation  it_IT (#260)
  * chore: release v0.3.16
  * build(fix): ""desktop
  * docs(build): fix i18n part (#259)
  * chore(deps): bump dependencies
  * docs(readme): intro SPlayer [ci skip]
  * docs(readme): desktop support of desktop_lyric, #258
  * fix: build error on linux
  * refactor: dedup function signature
  * docs(readme): add alternative
  * i18n: translate tips
  * test: add test for make_lrc_line
  * build(fix): fix build with MSVC
  * feat: show error dialog if search failed
  * enhance: TrackMeta from Metadata will not fail now
  * chore: release v0.3.15
  * enhance: select output file after generation
  * fix: sec field in exported lyric
  * enhance: make import/export pormpt different
  * chore: release v0.3.14
  * i18n: update locale for 0.3.14
  * build: enable export-lyric for win build [ci skip]
  * chore(dep): bump dependencies
  * chore: disable unused warn
  * fix: build with export-lyric/import-lyric disabled
  * feat: export-lyric
  * refactor: dedup import-*-lyric
  * enhance: dedup import-lyric
  * build(deps): bump the serde group with 2 updates (#252)
  * build(deps): bump opencc-rust from 1.1.18 to 1.1.19 (#253)
  * build(deps): bump gettext-rs from 0.7.0 to 0.7.1 (#254)
  * build(deps): bump reqwest from 0.12.5 to 0.12.7 (#255)
  * build(deps): bump rust_decimal from 1.35.0 to 1.36.0 (#256)
  * build(deps): bump orhun/git-cliff-action from 3 to 4 (#257)
  * fix: build with `opencc` disabled
  * refactor: unify naming of same component in different mod
  * refactor: prefer lazy-binding rather than multiple `cfg` flag
  * docs(readme): fix broken link for DeaDBeeF plugin [ci skip]
  * build(deps): bump tokio from 1.39.1 to 1.39.2 (#248)
  * build(deps): bump serde_json from 1.0.120 to 1.0.121 in the serde group (#247)
  * docs: mark issue/workaround for Better Comments
  * fix: support new type of HWND inner
  * docs(readme): intro DeaDBeeF close #245
  * fix: migrate to window-rs 0.58
  * build(deps): bump openssl from 0.10.64 to 0.10.66 (#246)
  * refactor: migrate to new-style clone!
  * refactor: migrate to gtk4-rs clone! new style
  * chore: bump dependencies
  * build(deps): bump serde_json from 1.0.118 to 1.0.119 in the serde group (#244)</changelog>
  <changelog author="Muhammad Akbar Yanuar Mantari &lt;mantarimay@pm.me&gt;" date="1784894400">- Update to version 0.4.0
  * Added plugin architecture and SakuraLLM translation plugin
  * Added OpenCC support for Simplified/Traditional Chinese
  * Added support for custom CSS themes and style presets
  * Added auto theme switching based on light/dark mode
  * Added shortcut keys for decoration, passthrough, and search
  * Improved MPRIS and SMTC audio player integration
  * Improved TOML config handling and automatic comment updates
  * Optimized lyric search, fetch speed, and UI responsiveness
  * Fixed window passthrough state and click-through toggles
  * Updated dependencies and bumped MSRV requirement
- disable test
- fix build failed because trait GTK for macro @implements</changelog>
</package>
<package pkgid="cc9c60b32cb6f7a768ba9a3b0cbb256cd6d49178769ba2f1250ab8954fbbee887851f4995bec392e6ac46df63c9a39ab9191f5a4994fab219207b904b1a98637" name="waylyrics-debuginfo" arch="aarch64">
  <version epoch="0" ver="0.4.0" rel="60.2"/>
  <changelog author="xtexchooser@duck.com" date="1707566400">- Update to version 0.2.2:
  * chore: release `v0.2.2`
  * build: Add ability to disable tests require network
  * ci: test qqmusic provider initializing
  * fix: QQMusic::init should panic on `Err()` rather than `Ok()`</changelog>
  <changelog author="xtexchooser@duck.com" date="1707912000">- Update to version 0.2.3:
  * feat: add `trans` theme [ci skip]
  * chore: release 0.2.3
  * ci: migrate to dtolnay/rust-toolchain
  * feat: allow to show origin lyric in above
  * fix: set 20ms as default lyric update interval
  * feat: set empty label explictly
  * refactor: apply clippy fix [ci skip]
  * chore: remove unreachable `title.unwrap_or()` call
  * doc: restate outdated doc of `TrackMeta`
  * doc: `lollypop`, GTK3-based local music player
  * feat: intro `is_likely_songid` for songid verification
  * doc: firefox via Plasma Integration [ci skip]
  * doc: explain more fields in `Config`
  * doc: add `osdlyrics` to alternatives [ci skip]
  * doc: play with musicfox need position fix patch
  * refactor: rename confusing `match_lyric` to `verify_lyric` [ci skip]
  * test: add unit tests for QQMusic::init</changelog>
  <changelog author="xtexchooser@duck.com" date="1708776000">- Package language files
- Update to version 0.2.11:
  * fix: show_both mode place origin to above if no translation
  * docs(changelog): update changelog
  * enhance: switch-passthrough in tray-icon without restart
  * docs(readme): remove dead `flutter-netease-music`
  * fix: hsl color format
  * docs(changelog): update changelog
  * chore: release v0.2.11
  * fix: use hsla for transparent window background
  * refactor: use `clone!` macro rather than calling upgrade/downgrade manually
  * perf: store default MainContext
  * chore: bump dependencies
  * fix: restart in tray-icon set click-through
  * ci: disable changelog on tag due to shitty failure [ci skip]
  * docs(changelog): update changelog
  * chore: release v0.2.10
  * refactor: move logic-related fields to Window::new
  * revert: "feat: (optional) select labels by translation/origin"
  * feat: (optional) select labels by translation/origin
  * feat(theme): new style
  * style(theme): format CSS with Prettier and Stylelint
  * feat: set mouse click-through in GSettings
  * feat: split popover menu to UI section and Play section
  * feat: set lyric-display-mode in GSettings
  * refactor: cleanup `set_lyric_with_mode` [ci skip]
  * docs(changelog): update changelog
  * chore: release v0.2.9
  * i18n: translate lyric align
  * feat!: set lyric align mode on run time
  * chore: clean up theme comments
  * chore: remove invalid github template
  * i18n: translate display_mode
  * feat: show icons on tray-icon menu
  * feat: only show set-lyric button when avaliable
  * i18n: translate length to 时长
  * docs(changelog): update changelog
  * ci: fix changelog ci skipped unexpectedly
  * chore: release v0.2.8
  * build(rpm): package with i18n files
  * fix: incomplete i18n in menu
  * docs(build): add gettext to dependencies
  * i18n: add translation for Simplefied Chinese
  * feat: i18n support
  * style: package_name as a constant [ci-skip]
  * build: make global theme presets optional
  * chore: remove unnessacary use of Arc&lt;dyn LyricProvider&gt;
  * ci: do not flood commit logs
  * docs(changelog): update changelog
  * build(rpm): add icon
  * docs(changelog): update changelog
  * docs(readme): update readme
  * docs(changelog): update changelog
  * feat: show tooltip for search entries
  * docs(changelog): update changelog
  * ci: update changelog on each commit
  * feat: sort search result by fuzzy-match weight
  * refactor: skip fuzzy-match in it's block
  * docs(changelog): update changelog
  * fix: changelog CI need write permission
  * ci: generate changelogs for master
  * chore: release v0.2.7
  * enhance: migrate to better dice-coefficient lib
  * feat: skip fuzzy-match if we got only title in metadata
  * log: log detailed likelihood with trace-level
  * feat: fuzzy-match lyrics with Sorensen-Dice coefficient
  * enhance: remove unnessacary global variable for PlayerId's
  * feat: restart waylyrics in tray-icon
  * chore: release v0.2.6
  * fix: missing feature gate for re-export in sync
  * feat: optionally start tray-icon service
  * feat(tray-icon): PlayAction control
  * feat: initial tray-icon support
  * todo: impl real tray-icon functions
  * feat: set lyric display mode in run time
  * refactor: remove repeated function prefix
  * chore: release v0.2.5
  * fix: repeated docs appends to commented config.toml
  * docs(config): lyric-align accepts CamelCase value
  * fix: append comments with `documented`
  * refactor: move config.rs to config/
  * feat: generate comments for config
  * build: add optional ksni dep
  * fix: remove `hide_label_on_empty_text = false` support
  * fix: do not hide below label in set_lyric
  * refactor: move search_window to crate::app
  * fix: remove `hide_label_on_empty_text = false` support
  * fix: do not hide below label in set_lyric
  * refactor: move search_window to crate::app
  * chore: release 0.2.4
  * fix: do not show lyric on `Stopped` status
  * feat: hide default text on idle
  * feat: set unsupported reason on below label
  * build: rename feature to 'action-event' rather than tray-icon
  * log: log reveiced action event
  * build: make tray-icon feature optional
  * fix: re-export play-action channel
  * fix: should re-export PlayAction
  * feat: invoke ui actions with mpsc::channel
  * refactor: rename to play_action
  * refactor: move UI-related actions to crate::app::actions
  * refactor: rename AppAction to PlayAction
  * style: remove unused Downgrade import
  * feat: invoke app actions with mpsc::channel
  * chore(dep): migrate to gtk4-rs 0.8.0
  * docs(readme): waybar supports all wlroots-based compositors
  * other(logo): white shade for text and logo
  * other(logo): make logo not so shining in dark background [ci skip]
  * docs(readme): move chat banners to center block [ci skip]
  * docs(readme): add logo and intro video [ci skip]
  * docs(contribute): introduce Conventional Commit [ci skip]</changelog>
  <changelog author="xtexchooser@duck.com" date="1709380800">- Update to version 0.2.12:
  * chore: release v0.2.12
  * feat: set Priority::HIGH for lyric_scroll
  * docs(readme): go-musicfox merged fix-position [ci skip]
  * docs(build): fix install command for schema [ci skip]
  * Update waylyrics.spec
  * Update INSTALLATION.md
  * docs(build): update packaging docs
  * chore: remove CSS stylelintrc
  * docs(install): show packaging status</changelog>
  <changelog author="xtexchooser@duck.com" date="1711195200">- Update to version 0.2.13:
  * chore: release v0.2.13
  * feat: blacklist players by name/identity
  * build(dep): update reqwest to 0.12
  * feat: fix secondary lyric will not end
  * build(deps): bump mio from 0.8.10 to 0.8.11
  * revert: "Update README.md"
  * Update README.md
  * refactor: use builder api in widget setup
  * feat: add theme no-background [ci skip]
  * docs(readme): intro listen1 [ci skip]
  * docs(readme): complain some bad support [ci skip]
  * docs(readme): list recommended players in chart [ci skip]
  * refactor: remove repeated bind-shortcut code
  * chore: fix missing bracket
  * refactor: do not set display mode manually
  * enhance: replace extension with PathBuf::set_extension
  * refactor: implement Debug for dyn LyricProvider
  * refactor: remove unneeded player_meta helper
  * docs(changelog): update changelog
  * feat: select labels by origin/translation in theme</changelog>
  <changelog author="xtexChooser &lt;xtexchooser@duck.com&gt;" date="1711800000">- Remove old rust ICE workaround</changelog>
  <changelog author="xtexchooser@duck.com" date="1712145600">- Update to version 0.2.15:
  * chore: release v0.2.15
  * feat: full mouse click-through for windows
  * docs(changelog): update changelog
  * fix: windows smtc position
  * fix: misuse of `windows-rs`
  * ci: reset pkgrel after a pkgver bump
  * docs(readme): intro windows user directories
  * chore: release v0.2.14
  * fix: do workarounds for windows-rs bug
  * fix: duplicated import
  * fix: wrong import path
  * feat: initial support for Windows SMTC
  * refactor: cleanup old code
  * docs(install): build on windows
  * build: make gettext, openssl, journald optional
  * revert: vendored -&gt; openssl
  * refactor: define OS-specified helpers in a trait
  * refactor: rename `list_player_names` to `list_players`
  * refactor: extract `try_sync_track` and `reconnect_player` from `interop::*`
  * build(deps): bump actions/checkout from 3 to 4
  * build(deps): bump orhun/git-cliff-action from 2 to 3
  * build(deps): bump actions/upload-artifact from 3 to 4
  * Update dependabot.yml
  * ci: Automatically update AUR PKGBUILD
  * build(deps): bump documented from 0.3.0 to 0.4.0
  * docs(readme): autoLyric `C/C++`
  * refactor: use `bind_shortcut` in switch-passthrough
  * chore(deps): bump dependencies
  * build: reduce binary size
  * docs(readme): musixfox-go released the required patch [ci skip]
  * Revert "feat: select labels by origin/translation in theme"
  * build(rpm): packit is no longer needed [ci skip]
  * chore: example environment is no longer required [ci skip]
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1712923200">- Update to version 0.2.17:
  * chore: release v0.2.17
  * feat: restart in tray-icon for windows
  * docs(readme): update missing translation
  * fix: gtk4 freezes on `Window::close` on windows
  * enhance: support LastUpdateTime on windows
  * chore: switch to upstream `tray-icon`
  * chore(deps): bump dependencies
  * fix: feature gate for unix should be `cfg(unix)`
  * chore: release v0.2.16
  * feat: initial tray-icon support for windows
  * chore(test): cleanup unused imports
  * build(deps): bump h2 from 0.4.3 to 0.4.4
  * docs(changelog): update changelog
  * docs(readme): the only compatible player on windows
  * build: add icon for win32 build</changelog>
  <changelog author="xtexchooser@duck.com" date="1713614400">- Update to version 0.2.18:
  * chore: release v0.2.18
  * fix: set paused as false after resumed to playing
  * log: print control status at trace level
  * feat: hide lyric on pause
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1713614401">- Update to version 0.2.19:
  * chore: release v0.2.19
  * fix(i18n): load i18n on windows
  * fix: underscore not showing in display mode menu
  * build: enable i18n for msvc build
  * docs(build): gettext-rs on windows cannot builds out-of-box with MSVC
  * fix: use '/' as splitte on searchbox creating
  * feat: use song_search_detailed in search box to apply aliases
  * enhance: apply alias for artist name on `netease`
  * enhance: make fuzzy-match weight more than length based match
  * enhance: fine-tune fuzzy match factor
  * feat: convert zh-hans/zh-hant in fuzzy match with opencc
  * chore: bump dependencies
  * build(windows): add build script
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1714132800">- Update to version 0.3.0:
  * docs(changelog): update changelog
  * chore: release v0.3.0
  * fix(ci): new schema path
  * docs(install): update packaging script
  * BREAKING CHANGE: formalize app id &amp; restructure files~
  * Fix missing wayland icon
  * Add metainfo
  * Change filenames
  * Change screenshot 1
  * Add screenshots
  * fix: set titlebar before set decorated
  * log: set time diff log level to TRACE so we will not flood debug log
  * log: mpris position delay
  * refactor: pass WeakRef&lt;Window&gt; to register_sync_task
  * fix(i18n): en_US translation
  * revert: "Translate display modes"
  * Translate display modes
  * align -&gt; alignment
  * docs(changelog): update changelog
  * chore: release v0.2.21
  * fix: stop lyric update when show_lyric_on_pause not set on pause
  * docs(changelog): update changelog
  * chore: release v0.2.20
  * build: remove git dependencies
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1714132801">- Update to version 0.3.5:
  * chore: release v0.3.5
  * feat: emit NewLyricCache signal on lyric cache update
  * feat: reload lyric from cache
  * build(test): set profile.test.debug a boolean
  * chore: release v0.3.4
  * Fix Exec in desktop file
  * chore(metainfo): use v0.3.3 tag
  * chore(metainfo): add screenshot of search window
  * chore(metainfo): fix warnings
  * chore: release v0.3.3
  * chore(desktopfile): remove action `Launch`
  * chore(metainfo): h3 tags are not supported
  * chore: release v0.3.2
  * fix: enum tuple variant cannot be destrcucted by tuple matching
  * fix(readme): broken link of desktop file
  * Use patched ksni to solve tray issue in flatpak (thanks to @taoky)
  * chore: make extracting values from tuples more readable
  * chore: use for loop to refactor items appending in ui_section &amp; play_section
  * chore: use for loop to refactor entries appending in imp.vbox
  * log(tray): do not flood start_time on smtc
  * ci: fix documents deploy CI
  * ci: remove microsoft-prod.list
  * ci: fix test.yml
  * chore: release v0.3.1
  * feat: set search-window ColumnView row padding in themes
  * docs(changelog): update changelog
  * Add replaces &amp; launchable
  * Update metainfo to v0.3.0</changelog>
  <changelog author="xtexchooser@duck.com" date="1714478400">- Update to version 0.3.8:
  * chore: release v0.3.8
  * i18n: translate 'import lyric' &amp; translated/original lyric
  * build: do not strip binary by default [ci skip]
  * chore(deps): bump dependencies [ci skip]
  * feat: import local lrc in tray &amp; csd menu
  * docs(readme): intro waylyrics-sakura-translator [ci skip]
  * chore: release v0.3.7
  * feat: emit LoadLyricCache signal on lyric cache load
  * chore: release v0.3.6
  * fix(typo): import-lrc -&gt; import-lyric
  * feat: select local LRC file to import
  * refactor: inline variable "text"
  * Avoid starting with article in summary
  * build: migrate to ksni 0.2.2
  * feat: allow LRC line that starts with [xxx] without ':'
  * fix: disable local lrc hint on `enable-local-lyric=false`
  * docs(install-en): add flatpak installation link
  * docs(install): add flatpak installation link
  * fix: missing import
  * feat: disable loading local lyric
  * refactor: Change net-test to offline-test
  * chore: add archlinuxcn in installation guide
  * feat(tray): refetch-lyric for windows
  * refactor: store dbus connection instead of gapplication</changelog>
  <changelog author="xtexchooser@duck.com" date="1716724800">- Update to version 0.3.9:
  * chore: release v0.3.9
  * fix(windows): auto connect to active player
  * fix(test): do not test time
  * build: enable import lyric feature for windows
  * docs(readme): intro musicfox, TUI music player supports SMTC [ci skip]
  * enhance: workaround for musicfox v4.4.0 [ci skip]
  * Fix Chinese translation
  * Set title for lyrics file selection dialog</changelog>
  <changelog author="xtexchooser@duck.com" date="1717588800">- Update to version 0.3.10:
  * chore: release v0.3.10
  * fix(log): i18n bind result will not be logged</changelog>
  <changelog author="xtexchooser@duck.com" date="1717675200">- Update to version 0.3.11:
  * chore: release v0.3.11
  * docs(install): user-fiendly version (#240)
  * feat: extract translated lyric from local LRC - this only affects behaviour on loading local lyric via player hint - close #241
  * feat: try load local translated lyric with ISO-639-1 code ,close #165
  * build(deps): bump toml_edit from 0.22.12 to 0.22.13
  * build(deps): bump async-channel from 2.2.1 to 2.3.1
  * build(deps): bump anyhow from 1.0.82 to 1.0.86
  * build(deps): bump mimalloc from 0.1.41 to 0.1.42
  * build(deps): bump the serde group with 2 updates
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * 修复了一些安装文档的小问题</changelog>
  <changelog author="xtexchooser@duck.com" date="1719057600">- Update to version 0.3.12:
  * chore: release v0.3.12
  * fix: extract lyric lines should compare start_time
  * fix: `extract-translated-lyric` flag is ignored
  * docs: fix typo
  * chore(log): add log for textdomain to use</changelog>
  <changelog author="xtexchooser@duck.com" date="1719662400">- Update to version 0.3.13:
  * chore: release v0.3.13
  * fix: missing import statement
  * fix: do not remove original lyric on extracting translated ones
  * docs(readme): add `ncmpcpp` via mpd-mpris
  * chore: bump dependencies</changelog>
  <changelog author="Edgar Aichinger &lt;edogawa@aon.at&gt;" date="1755691200">- remove --locked from %{cargo_[build|install]} as it's part of these macros now
- Update to version 0.3.21:
  * docs: update changelog [ci skip]
  * chore: bump version to v0.3.21
  * build: bump dependencies
  * build(deps): bump tokio from 1.43.0 to 1.43.1
  * build(deps): bump openssl from 0.10.71 to 0.10.72
  * build(deps): bump rust_decimal from 1.36.0 to 1.37.1
  * build(deps): bump async-trait from 0.1.86 to 0.1.88
  * build(deps): bump reqwest from 0.12.12 to 0.12.15
  * build(deps): bump rust_decimal_macros from 1.36.0 to 1.37.1
  * build(deps): bump the serde group with 2 updates
  * fix:.一个错误
  * fix: 手动刷新歌词时清空歌词标签缓存
  * style: :lipstick: cargo fmt
  * perf: DashMap 作为歌词标签存在性缓存
  * feat: 添加对从音乐文件元数据读取歌词的支持
  * build(deps): bump ring from 0.17.11 to 0.17.13 (#303)
  * chore: add script to export dup deps [ci skip]
  * fix(CI): remove outdated test of qqmusic api initialization [ci skip]
  * build: bump dependencies
  * docs(readme): HotLyric, alternative on windows [ci skip]
  * docs(readme): note on project status
  * build(deps): bump openssl from 0.10.68 to 0.10.70 (#301)
  * build(deps): bump serde_json from 1.0.134 to 1.0.138 in the serde group (#296)
  * build(deps): bump thiserror from 2.0.9 to 2.0.11 (#297)
  * build(deps): bump tokio from 1.42.0 to 1.43.0 (#298)
  * build(deps): bump futures-lite from 2.5.0 to 2.6.0 (#299)
  * build(deps): bump windows from 0.58.0 to 0.59.0 (#300)
  * build(deps): bump dark-light to 2.0.0
  * build(deps): bump reqwest from 0.12.9 to 0.12.12 (#291)
  * build(deps): bump the serde group with 2 updates (#290)
  * build(deps): bump gdk4-win32 from 0.9.3 to 0.9.5 (#292)
  * build(deps): bump thiserror from 2.0.6 to 2.0.9 (#293)
  * build(deps): bump glib-macros from 0.20.5 to 0.20.7 (#294)
  * rust version problem (#289)
  * enhance: switch to better tray-icon implementation for windows [ci skip]
  * build: migrate to ksni 0.3
  * chore: dedup code
  * chore: fix deepsource lints
  * refactor: extract set_by_mode
  * ci: add .deepsource.toml
  * docs(readme): add introduction [ci skip]
  * docs(readme): add alternative `lyric-for-musixfox` [ci skip]
  * docs(readme): add preview images [ci skip]
  * docs(readme): replace text with logos
  * docs: update changelog &amp; metainfo
  * chore: release v0.3.20
  * enhance: comment for sub table in config
  * log: capture panics
  * fix: check if instance name used
  * docs: update metainfo &amp; changelog
  * hotfix: build on windows
  * chore: release v0.3.19
  * chore(deps): bump dependencies
  * build(deps): bump the serde group with 2 updates (#280)
  * build(deps): bump tracing from 0.1.40 to 0.1.41 (#281)
  * build(deps): bump tray-icon from 0.19.1 to 0.19.2 (#282)
  * build(deps): bump rfd from 0.15.0 to 0.15.1 (#284)
  * build(deps): bump url from 2.5.3 to 2.5.4 (#283)
  * docs(build): check MSRV
  * chore(clippy): fix clippy warnings
  * chore: update lock file
  * fix: setCookies for QQMusicApi
  * fix: instance format
  * feat: support multi-monitor setup (#278)
  * feat: Implement color-scheme autoswitch (light/dark mode) (#277)
  * enhance: unregister latest theme
  * build(deps): bump rustls from 0.23.16 to 0.23.18 (#276)
  * fix: LazyLock is not stable yet in 1.73 rustc
  * chore: fix details URL in metainfo
  * chore: bump version to 0.3.18
  * test: search/query via lrclib
  * feat: support LRCLib provider
  * chore: apply clippy fix
  * fix: `login_qqmusic` call was not awaited
  * chore(deps): bump dependencies
  * feat: show errors from providers in search_window
  * fix: search failure dialog cannot be spawned outside GTK thread
  * docs: fix typo in filename
  * docs(i18n): translation for contribution.md and build guide ubuntu (#272)
  * fix: add artists to QQMusic keyword
  * fix(test): initialize QQMusic
  * feat: set cookies for QQMusicApi in config
  * chore: migrate to qqmusic-rs 0.2.0
  * enhance: init lyric provider with any struct
  * build(deps): bump the serde group with 2 updates (#266)
  * build(deps): bump glib-macros from 0.20.4 to 0.20.5 (#267)
  * build(deps): bump thiserror from 1.0.64 to 1.0.66 (#268)
  * build(deps): bump regex from 1.11.0 to 1.11.1 (#269)
  * build(deps): bump tray-icon from 0.19.0 to 0.19.1 (#270)
  * chore: support nix flake (#264)
  * fix: set text wrap to show very-long lyric
  * docs(readme): add alternative `lyrica`
  * chore(deps): bump once_cell to `1.20.2`
  * chore: release v0.3.17
  * fix(tray/unix): Avoid calling list_players() from tray thread (#262)
  * fix(tray): export translated lyrics
  * build(deps): bump reqwest from 0.12.7 to 0.12.8 (#261)
  * fix(win32): crash with Motrix runnig
  * i18n: Create Italian Translation  it_IT (#260)
  * chore: release v0.3.16
  * build(fix): ""desktop
  * docs(build): fix i18n part (#259)
  * chore(deps): bump dependencies
  * docs(readme): intro SPlayer [ci skip]
  * docs(readme): desktop support of desktop_lyric, #258
  * fix: build error on linux
  * refactor: dedup function signature
  * docs(readme): add alternative
  * i18n: translate tips
  * test: add test for make_lrc_line
  * build(fix): fix build with MSVC
  * feat: show error dialog if search failed
  * enhance: TrackMeta from Metadata will not fail now
  * chore: release v0.3.15
  * enhance: select output file after generation
  * fix: sec field in exported lyric
  * enhance: make import/export pormpt different
  * chore: release v0.3.14
  * i18n: update locale for 0.3.14
  * build: enable export-lyric for win build [ci skip]
  * chore(dep): bump dependencies
  * chore: disable unused warn
  * fix: build with export-lyric/import-lyric disabled
  * feat: export-lyric
  * refactor: dedup import-*-lyric
  * enhance: dedup import-lyric
  * build(deps): bump the serde group with 2 updates (#252)
  * build(deps): bump opencc-rust from 1.1.18 to 1.1.19 (#253)
  * build(deps): bump gettext-rs from 0.7.0 to 0.7.1 (#254)
  * build(deps): bump reqwest from 0.12.5 to 0.12.7 (#255)
  * build(deps): bump rust_decimal from 1.35.0 to 1.36.0 (#256)
  * build(deps): bump orhun/git-cliff-action from 3 to 4 (#257)
  * fix: build with `opencc` disabled
  * refactor: unify naming of same component in different mod
  * refactor: prefer lazy-binding rather than multiple `cfg` flag
  * docs(readme): fix broken link for DeaDBeeF plugin [ci skip]
  * build(deps): bump tokio from 1.39.1 to 1.39.2 (#248)
  * build(deps): bump serde_json from 1.0.120 to 1.0.121 in the serde group (#247)
  * docs: mark issue/workaround for Better Comments
  * fix: support new type of HWND inner
  * docs(readme): intro DeaDBeeF close #245
  * fix: migrate to window-rs 0.58
  * build(deps): bump openssl from 0.10.64 to 0.10.66 (#246)
  * refactor: migrate to new-style clone!
  * refactor: migrate to gtk4-rs clone! new style
  * chore: bump dependencies
  * build(deps): bump serde_json from 1.0.118 to 1.0.119 in the serde group (#244)</changelog>
  <changelog author="Muhammad Akbar Yanuar Mantari &lt;mantarimay@pm.me&gt;" date="1784894400">- Update to version 0.4.0
  * Added plugin architecture and SakuraLLM translation plugin
  * Added OpenCC support for Simplified/Traditional Chinese
  * Added support for custom CSS themes and style presets
  * Added auto theme switching based on light/dark mode
  * Added shortcut keys for decoration, passthrough, and search
  * Improved MPRIS and SMTC audio player integration
  * Improved TOML config handling and automatic comment updates
  * Optimized lyric search, fetch speed, and UI responsiveness
  * Fixed window passthrough state and click-through toggles
  * Updated dependencies and bumped MSRV requirement
- disable test
- fix build failed because trait GTK for macro @implements</changelog>
</package>
<package pkgid="bd21bf53bd795d2b8af7484bf4362713d8ee40d04e3051718db6546fd41890f1418623e50cb5c8f149b534299ba44297ece94f1cf8d9de4cf5fa8bda4df14efa" name="waylyrics-debugsource" arch="aarch64">
  <version epoch="0" ver="0.4.0" rel="60.2"/>
  <changelog author="xtexchooser@duck.com" date="1707566400">- Update to version 0.2.2:
  * chore: release `v0.2.2`
  * build: Add ability to disable tests require network
  * ci: test qqmusic provider initializing
  * fix: QQMusic::init should panic on `Err()` rather than `Ok()`</changelog>
  <changelog author="xtexchooser@duck.com" date="1707912000">- Update to version 0.2.3:
  * feat: add `trans` theme [ci skip]
  * chore: release 0.2.3
  * ci: migrate to dtolnay/rust-toolchain
  * feat: allow to show origin lyric in above
  * fix: set 20ms as default lyric update interval
  * feat: set empty label explictly
  * refactor: apply clippy fix [ci skip]
  * chore: remove unreachable `title.unwrap_or()` call
  * doc: restate outdated doc of `TrackMeta`
  * doc: `lollypop`, GTK3-based local music player
  * feat: intro `is_likely_songid` for songid verification
  * doc: firefox via Plasma Integration [ci skip]
  * doc: explain more fields in `Config`
  * doc: add `osdlyrics` to alternatives [ci skip]
  * doc: play with musicfox need position fix patch
  * refactor: rename confusing `match_lyric` to `verify_lyric` [ci skip]
  * test: add unit tests for QQMusic::init</changelog>
  <changelog author="xtexchooser@duck.com" date="1708776000">- Package language files
- Update to version 0.2.11:
  * fix: show_both mode place origin to above if no translation
  * docs(changelog): update changelog
  * enhance: switch-passthrough in tray-icon without restart
  * docs(readme): remove dead `flutter-netease-music`
  * fix: hsl color format
  * docs(changelog): update changelog
  * chore: release v0.2.11
  * fix: use hsla for transparent window background
  * refactor: use `clone!` macro rather than calling upgrade/downgrade manually
  * perf: store default MainContext
  * chore: bump dependencies
  * fix: restart in tray-icon set click-through
  * ci: disable changelog on tag due to shitty failure [ci skip]
  * docs(changelog): update changelog
  * chore: release v0.2.10
  * refactor: move logic-related fields to Window::new
  * revert: "feat: (optional) select labels by translation/origin"
  * feat: (optional) select labels by translation/origin
  * feat(theme): new style
  * style(theme): format CSS with Prettier and Stylelint
  * feat: set mouse click-through in GSettings
  * feat: split popover menu to UI section and Play section
  * feat: set lyric-display-mode in GSettings
  * refactor: cleanup `set_lyric_with_mode` [ci skip]
  * docs(changelog): update changelog
  * chore: release v0.2.9
  * i18n: translate lyric align
  * feat!: set lyric align mode on run time
  * chore: clean up theme comments
  * chore: remove invalid github template
  * i18n: translate display_mode
  * feat: show icons on tray-icon menu
  * feat: only show set-lyric button when avaliable
  * i18n: translate length to 时长
  * docs(changelog): update changelog
  * ci: fix changelog ci skipped unexpectedly
  * chore: release v0.2.8
  * build(rpm): package with i18n files
  * fix: incomplete i18n in menu
  * docs(build): add gettext to dependencies
  * i18n: add translation for Simplefied Chinese
  * feat: i18n support
  * style: package_name as a constant [ci-skip]
  * build: make global theme presets optional
  * chore: remove unnessacary use of Arc&lt;dyn LyricProvider&gt;
  * ci: do not flood commit logs
  * docs(changelog): update changelog
  * build(rpm): add icon
  * docs(changelog): update changelog
  * docs(readme): update readme
  * docs(changelog): update changelog
  * feat: show tooltip for search entries
  * docs(changelog): update changelog
  * ci: update changelog on each commit
  * feat: sort search result by fuzzy-match weight
  * refactor: skip fuzzy-match in it's block
  * docs(changelog): update changelog
  * fix: changelog CI need write permission
  * ci: generate changelogs for master
  * chore: release v0.2.7
  * enhance: migrate to better dice-coefficient lib
  * feat: skip fuzzy-match if we got only title in metadata
  * log: log detailed likelihood with trace-level
  * feat: fuzzy-match lyrics with Sorensen-Dice coefficient
  * enhance: remove unnessacary global variable for PlayerId's
  * feat: restart waylyrics in tray-icon
  * chore: release v0.2.6
  * fix: missing feature gate for re-export in sync
  * feat: optionally start tray-icon service
  * feat(tray-icon): PlayAction control
  * feat: initial tray-icon support
  * todo: impl real tray-icon functions
  * feat: set lyric display mode in run time
  * refactor: remove repeated function prefix
  * chore: release v0.2.5
  * fix: repeated docs appends to commented config.toml
  * docs(config): lyric-align accepts CamelCase value
  * fix: append comments with `documented`
  * refactor: move config.rs to config/
  * feat: generate comments for config
  * build: add optional ksni dep
  * fix: remove `hide_label_on_empty_text = false` support
  * fix: do not hide below label in set_lyric
  * refactor: move search_window to crate::app
  * fix: remove `hide_label_on_empty_text = false` support
  * fix: do not hide below label in set_lyric
  * refactor: move search_window to crate::app
  * chore: release 0.2.4
  * fix: do not show lyric on `Stopped` status
  * feat: hide default text on idle
  * feat: set unsupported reason on below label
  * build: rename feature to 'action-event' rather than tray-icon
  * log: log reveiced action event
  * build: make tray-icon feature optional
  * fix: re-export play-action channel
  * fix: should re-export PlayAction
  * feat: invoke ui actions with mpsc::channel
  * refactor: rename to play_action
  * refactor: move UI-related actions to crate::app::actions
  * refactor: rename AppAction to PlayAction
  * style: remove unused Downgrade import
  * feat: invoke app actions with mpsc::channel
  * chore(dep): migrate to gtk4-rs 0.8.0
  * docs(readme): waybar supports all wlroots-based compositors
  * other(logo): white shade for text and logo
  * other(logo): make logo not so shining in dark background [ci skip]
  * docs(readme): move chat banners to center block [ci skip]
  * docs(readme): add logo and intro video [ci skip]
  * docs(contribute): introduce Conventional Commit [ci skip]</changelog>
  <changelog author="xtexchooser@duck.com" date="1709380800">- Update to version 0.2.12:
  * chore: release v0.2.12
  * feat: set Priority::HIGH for lyric_scroll
  * docs(readme): go-musicfox merged fix-position [ci skip]
  * docs(build): fix install command for schema [ci skip]
  * Update waylyrics.spec
  * Update INSTALLATION.md
  * docs(build): update packaging docs
  * chore: remove CSS stylelintrc
  * docs(install): show packaging status</changelog>
  <changelog author="xtexchooser@duck.com" date="1711195200">- Update to version 0.2.13:
  * chore: release v0.2.13
  * feat: blacklist players by name/identity
  * build(dep): update reqwest to 0.12
  * feat: fix secondary lyric will not end
  * build(deps): bump mio from 0.8.10 to 0.8.11
  * revert: "Update README.md"
  * Update README.md
  * refactor: use builder api in widget setup
  * feat: add theme no-background [ci skip]
  * docs(readme): intro listen1 [ci skip]
  * docs(readme): complain some bad support [ci skip]
  * docs(readme): list recommended players in chart [ci skip]
  * refactor: remove repeated bind-shortcut code
  * chore: fix missing bracket
  * refactor: do not set display mode manually
  * enhance: replace extension with PathBuf::set_extension
  * refactor: implement Debug for dyn LyricProvider
  * refactor: remove unneeded player_meta helper
  * docs(changelog): update changelog
  * feat: select labels by origin/translation in theme</changelog>
  <changelog author="xtexChooser &lt;xtexchooser@duck.com&gt;" date="1711800000">- Remove old rust ICE workaround</changelog>
  <changelog author="xtexchooser@duck.com" date="1712145600">- Update to version 0.2.15:
  * chore: release v0.2.15
  * feat: full mouse click-through for windows
  * docs(changelog): update changelog
  * fix: windows smtc position
  * fix: misuse of `windows-rs`
  * ci: reset pkgrel after a pkgver bump
  * docs(readme): intro windows user directories
  * chore: release v0.2.14
  * fix: do workarounds for windows-rs bug
  * fix: duplicated import
  * fix: wrong import path
  * feat: initial support for Windows SMTC
  * refactor: cleanup old code
  * docs(install): build on windows
  * build: make gettext, openssl, journald optional
  * revert: vendored -&gt; openssl
  * refactor: define OS-specified helpers in a trait
  * refactor: rename `list_player_names` to `list_players`
  * refactor: extract `try_sync_track` and `reconnect_player` from `interop::*`
  * build(deps): bump actions/checkout from 3 to 4
  * build(deps): bump orhun/git-cliff-action from 2 to 3
  * build(deps): bump actions/upload-artifact from 3 to 4
  * Update dependabot.yml
  * ci: Automatically update AUR PKGBUILD
  * build(deps): bump documented from 0.3.0 to 0.4.0
  * docs(readme): autoLyric `C/C++`
  * refactor: use `bind_shortcut` in switch-passthrough
  * chore(deps): bump dependencies
  * build: reduce binary size
  * docs(readme): musixfox-go released the required patch [ci skip]
  * Revert "feat: select labels by origin/translation in theme"
  * build(rpm): packit is no longer needed [ci skip]
  * chore: example environment is no longer required [ci skip]
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1712923200">- Update to version 0.2.17:
  * chore: release v0.2.17
  * feat: restart in tray-icon for windows
  * docs(readme): update missing translation
  * fix: gtk4 freezes on `Window::close` on windows
  * enhance: support LastUpdateTime on windows
  * chore: switch to upstream `tray-icon`
  * chore(deps): bump dependencies
  * fix: feature gate for unix should be `cfg(unix)`
  * chore: release v0.2.16
  * feat: initial tray-icon support for windows
  * chore(test): cleanup unused imports
  * build(deps): bump h2 from 0.4.3 to 0.4.4
  * docs(changelog): update changelog
  * docs(readme): the only compatible player on windows
  * build: add icon for win32 build</changelog>
  <changelog author="xtexchooser@duck.com" date="1713614400">- Update to version 0.2.18:
  * chore: release v0.2.18
  * fix: set paused as false after resumed to playing
  * log: print control status at trace level
  * feat: hide lyric on pause
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1713614401">- Update to version 0.2.19:
  * chore: release v0.2.19
  * fix(i18n): load i18n on windows
  * fix: underscore not showing in display mode menu
  * build: enable i18n for msvc build
  * docs(build): gettext-rs on windows cannot builds out-of-box with MSVC
  * fix: use '/' as splitte on searchbox creating
  * feat: use song_search_detailed in search box to apply aliases
  * enhance: apply alias for artist name on `netease`
  * enhance: make fuzzy-match weight more than length based match
  * enhance: fine-tune fuzzy match factor
  * feat: convert zh-hans/zh-hant in fuzzy match with opencc
  * chore: bump dependencies
  * build(windows): add build script
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1714132800">- Update to version 0.3.0:
  * docs(changelog): update changelog
  * chore: release v0.3.0
  * fix(ci): new schema path
  * docs(install): update packaging script
  * BREAKING CHANGE: formalize app id &amp; restructure files~
  * Fix missing wayland icon
  * Add metainfo
  * Change filenames
  * Change screenshot 1
  * Add screenshots
  * fix: set titlebar before set decorated
  * log: set time diff log level to TRACE so we will not flood debug log
  * log: mpris position delay
  * refactor: pass WeakRef&lt;Window&gt; to register_sync_task
  * fix(i18n): en_US translation
  * revert: "Translate display modes"
  * Translate display modes
  * align -&gt; alignment
  * docs(changelog): update changelog
  * chore: release v0.2.21
  * fix: stop lyric update when show_lyric_on_pause not set on pause
  * docs(changelog): update changelog
  * chore: release v0.2.20
  * build: remove git dependencies
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1714132801">- Update to version 0.3.5:
  * chore: release v0.3.5
  * feat: emit NewLyricCache signal on lyric cache update
  * feat: reload lyric from cache
  * build(test): set profile.test.debug a boolean
  * chore: release v0.3.4
  * Fix Exec in desktop file
  * chore(metainfo): use v0.3.3 tag
  * chore(metainfo): add screenshot of search window
  * chore(metainfo): fix warnings
  * chore: release v0.3.3
  * chore(desktopfile): remove action `Launch`
  * chore(metainfo): h3 tags are not supported
  * chore: release v0.3.2
  * fix: enum tuple variant cannot be destrcucted by tuple matching
  * fix(readme): broken link of desktop file
  * Use patched ksni to solve tray issue in flatpak (thanks to @taoky)
  * chore: make extracting values from tuples more readable
  * chore: use for loop to refactor items appending in ui_section &amp; play_section
  * chore: use for loop to refactor entries appending in imp.vbox
  * log(tray): do not flood start_time on smtc
  * ci: fix documents deploy CI
  * ci: remove microsoft-prod.list
  * ci: fix test.yml
  * chore: release v0.3.1
  * feat: set search-window ColumnView row padding in themes
  * docs(changelog): update changelog
  * Add replaces &amp; launchable
  * Update metainfo to v0.3.0</changelog>
  <changelog author="xtexchooser@duck.com" date="1714478400">- Update to version 0.3.8:
  * chore: release v0.3.8
  * i18n: translate 'import lyric' &amp; translated/original lyric
  * build: do not strip binary by default [ci skip]
  * chore(deps): bump dependencies [ci skip]
  * feat: import local lrc in tray &amp; csd menu
  * docs(readme): intro waylyrics-sakura-translator [ci skip]
  * chore: release v0.3.7
  * feat: emit LoadLyricCache signal on lyric cache load
  * chore: release v0.3.6
  * fix(typo): import-lrc -&gt; import-lyric
  * feat: select local LRC file to import
  * refactor: inline variable "text"
  * Avoid starting with article in summary
  * build: migrate to ksni 0.2.2
  * feat: allow LRC line that starts with [xxx] without ':'
  * fix: disable local lrc hint on `enable-local-lyric=false`
  * docs(install-en): add flatpak installation link
  * docs(install): add flatpak installation link
  * fix: missing import
  * feat: disable loading local lyric
  * refactor: Change net-test to offline-test
  * chore: add archlinuxcn in installation guide
  * feat(tray): refetch-lyric for windows
  * refactor: store dbus connection instead of gapplication</changelog>
  <changelog author="xtexchooser@duck.com" date="1716724800">- Update to version 0.3.9:
  * chore: release v0.3.9
  * fix(windows): auto connect to active player
  * fix(test): do not test time
  * build: enable import lyric feature for windows
  * docs(readme): intro musicfox, TUI music player supports SMTC [ci skip]
  * enhance: workaround for musicfox v4.4.0 [ci skip]
  * Fix Chinese translation
  * Set title for lyrics file selection dialog</changelog>
  <changelog author="xtexchooser@duck.com" date="1717588800">- Update to version 0.3.10:
  * chore: release v0.3.10
  * fix(log): i18n bind result will not be logged</changelog>
  <changelog author="xtexchooser@duck.com" date="1717675200">- Update to version 0.3.11:
  * chore: release v0.3.11
  * docs(install): user-fiendly version (#240)
  * feat: extract translated lyric from local LRC - this only affects behaviour on loading local lyric via player hint - close #241
  * feat: try load local translated lyric with ISO-639-1 code ,close #165
  * build(deps): bump toml_edit from 0.22.12 to 0.22.13
  * build(deps): bump async-channel from 2.2.1 to 2.3.1
  * build(deps): bump anyhow from 1.0.82 to 1.0.86
  * build(deps): bump mimalloc from 0.1.41 to 0.1.42
  * build(deps): bump the serde group with 2 updates
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * 修复了一些安装文档的小问题</changelog>
  <changelog author="xtexchooser@duck.com" date="1719057600">- Update to version 0.3.12:
  * chore: release v0.3.12
  * fix: extract lyric lines should compare start_time
  * fix: `extract-translated-lyric` flag is ignored
  * docs: fix typo
  * chore(log): add log for textdomain to use</changelog>
  <changelog author="xtexchooser@duck.com" date="1719662400">- Update to version 0.3.13:
  * chore: release v0.3.13
  * fix: missing import statement
  * fix: do not remove original lyric on extracting translated ones
  * docs(readme): add `ncmpcpp` via mpd-mpris
  * chore: bump dependencies</changelog>
  <changelog author="Edgar Aichinger &lt;edogawa@aon.at&gt;" date="1755691200">- remove --locked from %{cargo_[build|install]} as it's part of these macros now
- Update to version 0.3.21:
  * docs: update changelog [ci skip]
  * chore: bump version to v0.3.21
  * build: bump dependencies
  * build(deps): bump tokio from 1.43.0 to 1.43.1
  * build(deps): bump openssl from 0.10.71 to 0.10.72
  * build(deps): bump rust_decimal from 1.36.0 to 1.37.1
  * build(deps): bump async-trait from 0.1.86 to 0.1.88
  * build(deps): bump reqwest from 0.12.12 to 0.12.15
  * build(deps): bump rust_decimal_macros from 1.36.0 to 1.37.1
  * build(deps): bump the serde group with 2 updates
  * fix:.一个错误
  * fix: 手动刷新歌词时清空歌词标签缓存
  * style: :lipstick: cargo fmt
  * perf: DashMap 作为歌词标签存在性缓存
  * feat: 添加对从音乐文件元数据读取歌词的支持
  * build(deps): bump ring from 0.17.11 to 0.17.13 (#303)
  * chore: add script to export dup deps [ci skip]
  * fix(CI): remove outdated test of qqmusic api initialization [ci skip]
  * build: bump dependencies
  * docs(readme): HotLyric, alternative on windows [ci skip]
  * docs(readme): note on project status
  * build(deps): bump openssl from 0.10.68 to 0.10.70 (#301)
  * build(deps): bump serde_json from 1.0.134 to 1.0.138 in the serde group (#296)
  * build(deps): bump thiserror from 2.0.9 to 2.0.11 (#297)
  * build(deps): bump tokio from 1.42.0 to 1.43.0 (#298)
  * build(deps): bump futures-lite from 2.5.0 to 2.6.0 (#299)
  * build(deps): bump windows from 0.58.0 to 0.59.0 (#300)
  * build(deps): bump dark-light to 2.0.0
  * build(deps): bump reqwest from 0.12.9 to 0.12.12 (#291)
  * build(deps): bump the serde group with 2 updates (#290)
  * build(deps): bump gdk4-win32 from 0.9.3 to 0.9.5 (#292)
  * build(deps): bump thiserror from 2.0.6 to 2.0.9 (#293)
  * build(deps): bump glib-macros from 0.20.5 to 0.20.7 (#294)
  * rust version problem (#289)
  * enhance: switch to better tray-icon implementation for windows [ci skip]
  * build: migrate to ksni 0.3
  * chore: dedup code
  * chore: fix deepsource lints
  * refactor: extract set_by_mode
  * ci: add .deepsource.toml
  * docs(readme): add introduction [ci skip]
  * docs(readme): add alternative `lyric-for-musixfox` [ci skip]
  * docs(readme): add preview images [ci skip]
  * docs(readme): replace text with logos
  * docs: update changelog &amp; metainfo
  * chore: release v0.3.20
  * enhance: comment for sub table in config
  * log: capture panics
  * fix: check if instance name used
  * docs: update metainfo &amp; changelog
  * hotfix: build on windows
  * chore: release v0.3.19
  * chore(deps): bump dependencies
  * build(deps): bump the serde group with 2 updates (#280)
  * build(deps): bump tracing from 0.1.40 to 0.1.41 (#281)
  * build(deps): bump tray-icon from 0.19.1 to 0.19.2 (#282)
  * build(deps): bump rfd from 0.15.0 to 0.15.1 (#284)
  * build(deps): bump url from 2.5.3 to 2.5.4 (#283)
  * docs(build): check MSRV
  * chore(clippy): fix clippy warnings
  * chore: update lock file
  * fix: setCookies for QQMusicApi
  * fix: instance format
  * feat: support multi-monitor setup (#278)
  * feat: Implement color-scheme autoswitch (light/dark mode) (#277)
  * enhance: unregister latest theme
  * build(deps): bump rustls from 0.23.16 to 0.23.18 (#276)
  * fix: LazyLock is not stable yet in 1.73 rustc
  * chore: fix details URL in metainfo
  * chore: bump version to 0.3.18
  * test: search/query via lrclib
  * feat: support LRCLib provider
  * chore: apply clippy fix
  * fix: `login_qqmusic` call was not awaited
  * chore(deps): bump dependencies
  * feat: show errors from providers in search_window
  * fix: search failure dialog cannot be spawned outside GTK thread
  * docs: fix typo in filename
  * docs(i18n): translation for contribution.md and build guide ubuntu (#272)
  * fix: add artists to QQMusic keyword
  * fix(test): initialize QQMusic
  * feat: set cookies for QQMusicApi in config
  * chore: migrate to qqmusic-rs 0.2.0
  * enhance: init lyric provider with any struct
  * build(deps): bump the serde group with 2 updates (#266)
  * build(deps): bump glib-macros from 0.20.4 to 0.20.5 (#267)
  * build(deps): bump thiserror from 1.0.64 to 1.0.66 (#268)
  * build(deps): bump regex from 1.11.0 to 1.11.1 (#269)
  * build(deps): bump tray-icon from 0.19.0 to 0.19.1 (#270)
  * chore: support nix flake (#264)
  * fix: set text wrap to show very-long lyric
  * docs(readme): add alternative `lyrica`
  * chore(deps): bump once_cell to `1.20.2`
  * chore: release v0.3.17
  * fix(tray/unix): Avoid calling list_players() from tray thread (#262)
  * fix(tray): export translated lyrics
  * build(deps): bump reqwest from 0.12.7 to 0.12.8 (#261)
  * fix(win32): crash with Motrix runnig
  * i18n: Create Italian Translation  it_IT (#260)
  * chore: release v0.3.16
  * build(fix): ""desktop
  * docs(build): fix i18n part (#259)
  * chore(deps): bump dependencies
  * docs(readme): intro SPlayer [ci skip]
  * docs(readme): desktop support of desktop_lyric, #258
  * fix: build error on linux
  * refactor: dedup function signature
  * docs(readme): add alternative
  * i18n: translate tips
  * test: add test for make_lrc_line
  * build(fix): fix build with MSVC
  * feat: show error dialog if search failed
  * enhance: TrackMeta from Metadata will not fail now
  * chore: release v0.3.15
  * enhance: select output file after generation
  * fix: sec field in exported lyric
  * enhance: make import/export pormpt different
  * chore: release v0.3.14
  * i18n: update locale for 0.3.14
  * build: enable export-lyric for win build [ci skip]
  * chore(dep): bump dependencies
  * chore: disable unused warn
  * fix: build with export-lyric/import-lyric disabled
  * feat: export-lyric
  * refactor: dedup import-*-lyric
  * enhance: dedup import-lyric
  * build(deps): bump the serde group with 2 updates (#252)
  * build(deps): bump opencc-rust from 1.1.18 to 1.1.19 (#253)
  * build(deps): bump gettext-rs from 0.7.0 to 0.7.1 (#254)
  * build(deps): bump reqwest from 0.12.5 to 0.12.7 (#255)
  * build(deps): bump rust_decimal from 1.35.0 to 1.36.0 (#256)
  * build(deps): bump orhun/git-cliff-action from 3 to 4 (#257)
  * fix: build with `opencc` disabled
  * refactor: unify naming of same component in different mod
  * refactor: prefer lazy-binding rather than multiple `cfg` flag
  * docs(readme): fix broken link for DeaDBeeF plugin [ci skip]
  * build(deps): bump tokio from 1.39.1 to 1.39.2 (#248)
  * build(deps): bump serde_json from 1.0.120 to 1.0.121 in the serde group (#247)
  * docs: mark issue/workaround for Better Comments
  * fix: support new type of HWND inner
  * docs(readme): intro DeaDBeeF close #245
  * fix: migrate to window-rs 0.58
  * build(deps): bump openssl from 0.10.64 to 0.10.66 (#246)
  * refactor: migrate to new-style clone!
  * refactor: migrate to gtk4-rs clone! new style
  * chore: bump dependencies
  * build(deps): bump serde_json from 1.0.118 to 1.0.119 in the serde group (#244)</changelog>
  <changelog author="Muhammad Akbar Yanuar Mantari &lt;mantarimay@pm.me&gt;" date="1784894400">- Update to version 0.4.0
  * Added plugin architecture and SakuraLLM translation plugin
  * Added OpenCC support for Simplified/Traditional Chinese
  * Added support for custom CSS themes and style presets
  * Added auto theme switching based on light/dark mode
  * Added shortcut keys for decoration, passthrough, and search
  * Improved MPRIS and SMTC audio player integration
  * Improved TOML config handling and automatic comment updates
  * Optimized lyric search, fetch speed, and UI responsiveness
  * Fixed window passthrough state and click-through toggles
  * Updated dependencies and bumped MSRV requirement
- disable test
- fix build failed because trait GTK for macro @implements</changelog>
</package>
<package pkgid="56b9d0bbc81f884a331343005e1ff49da3cfd33e4c72042b2aee70869a44432f72d0e927fede041c711991ce4b6845f003b0b85c4bbe1f3741ab308a4a37b187" name="waylyrics-lang" arch="noarch">
  <version epoch="0" ver="0.4.0" rel="60.2"/>
  <changelog author="xtexchooser@duck.com" date="1707566400">- Update to version 0.2.2:
  * chore: release `v0.2.2`
  * build: Add ability to disable tests require network
  * ci: test qqmusic provider initializing
  * fix: QQMusic::init should panic on `Err()` rather than `Ok()`</changelog>
  <changelog author="xtexchooser@duck.com" date="1707912000">- Update to version 0.2.3:
  * feat: add `trans` theme [ci skip]
  * chore: release 0.2.3
  * ci: migrate to dtolnay/rust-toolchain
  * feat: allow to show origin lyric in above
  * fix: set 20ms as default lyric update interval
  * feat: set empty label explictly
  * refactor: apply clippy fix [ci skip]
  * chore: remove unreachable `title.unwrap_or()` call
  * doc: restate outdated doc of `TrackMeta`
  * doc: `lollypop`, GTK3-based local music player
  * feat: intro `is_likely_songid` for songid verification
  * doc: firefox via Plasma Integration [ci skip]
  * doc: explain more fields in `Config`
  * doc: add `osdlyrics` to alternatives [ci skip]
  * doc: play with musicfox need position fix patch
  * refactor: rename confusing `match_lyric` to `verify_lyric` [ci skip]
  * test: add unit tests for QQMusic::init</changelog>
  <changelog author="xtexchooser@duck.com" date="1708776000">- Package language files
- Update to version 0.2.11:
  * fix: show_both mode place origin to above if no translation
  * docs(changelog): update changelog
  * enhance: switch-passthrough in tray-icon without restart
  * docs(readme): remove dead `flutter-netease-music`
  * fix: hsl color format
  * docs(changelog): update changelog
  * chore: release v0.2.11
  * fix: use hsla for transparent window background
  * refactor: use `clone!` macro rather than calling upgrade/downgrade manually
  * perf: store default MainContext
  * chore: bump dependencies
  * fix: restart in tray-icon set click-through
  * ci: disable changelog on tag due to shitty failure [ci skip]
  * docs(changelog): update changelog
  * chore: release v0.2.10
  * refactor: move logic-related fields to Window::new
  * revert: "feat: (optional) select labels by translation/origin"
  * feat: (optional) select labels by translation/origin
  * feat(theme): new style
  * style(theme): format CSS with Prettier and Stylelint
  * feat: set mouse click-through in GSettings
  * feat: split popover menu to UI section and Play section
  * feat: set lyric-display-mode in GSettings
  * refactor: cleanup `set_lyric_with_mode` [ci skip]
  * docs(changelog): update changelog
  * chore: release v0.2.9
  * i18n: translate lyric align
  * feat!: set lyric align mode on run time
  * chore: clean up theme comments
  * chore: remove invalid github template
  * i18n: translate display_mode
  * feat: show icons on tray-icon menu
  * feat: only show set-lyric button when avaliable
  * i18n: translate length to 时长
  * docs(changelog): update changelog
  * ci: fix changelog ci skipped unexpectedly
  * chore: release v0.2.8
  * build(rpm): package with i18n files
  * fix: incomplete i18n in menu
  * docs(build): add gettext to dependencies
  * i18n: add translation for Simplefied Chinese
  * feat: i18n support
  * style: package_name as a constant [ci-skip]
  * build: make global theme presets optional
  * chore: remove unnessacary use of Arc&lt;dyn LyricProvider&gt;
  * ci: do not flood commit logs
  * docs(changelog): update changelog
  * build(rpm): add icon
  * docs(changelog): update changelog
  * docs(readme): update readme
  * docs(changelog): update changelog
  * feat: show tooltip for search entries
  * docs(changelog): update changelog
  * ci: update changelog on each commit
  * feat: sort search result by fuzzy-match weight
  * refactor: skip fuzzy-match in it's block
  * docs(changelog): update changelog
  * fix: changelog CI need write permission
  * ci: generate changelogs for master
  * chore: release v0.2.7
  * enhance: migrate to better dice-coefficient lib
  * feat: skip fuzzy-match if we got only title in metadata
  * log: log detailed likelihood with trace-level
  * feat: fuzzy-match lyrics with Sorensen-Dice coefficient
  * enhance: remove unnessacary global variable for PlayerId's
  * feat: restart waylyrics in tray-icon
  * chore: release v0.2.6
  * fix: missing feature gate for re-export in sync
  * feat: optionally start tray-icon service
  * feat(tray-icon): PlayAction control
  * feat: initial tray-icon support
  * todo: impl real tray-icon functions
  * feat: set lyric display mode in run time
  * refactor: remove repeated function prefix
  * chore: release v0.2.5
  * fix: repeated docs appends to commented config.toml
  * docs(config): lyric-align accepts CamelCase value
  * fix: append comments with `documented`
  * refactor: move config.rs to config/
  * feat: generate comments for config
  * build: add optional ksni dep
  * fix: remove `hide_label_on_empty_text = false` support
  * fix: do not hide below label in set_lyric
  * refactor: move search_window to crate::app
  * fix: remove `hide_label_on_empty_text = false` support
  * fix: do not hide below label in set_lyric
  * refactor: move search_window to crate::app
  * chore: release 0.2.4
  * fix: do not show lyric on `Stopped` status
  * feat: hide default text on idle
  * feat: set unsupported reason on below label
  * build: rename feature to 'action-event' rather than tray-icon
  * log: log reveiced action event
  * build: make tray-icon feature optional
  * fix: re-export play-action channel
  * fix: should re-export PlayAction
  * feat: invoke ui actions with mpsc::channel
  * refactor: rename to play_action
  * refactor: move UI-related actions to crate::app::actions
  * refactor: rename AppAction to PlayAction
  * style: remove unused Downgrade import
  * feat: invoke app actions with mpsc::channel
  * chore(dep): migrate to gtk4-rs 0.8.0
  * docs(readme): waybar supports all wlroots-based compositors
  * other(logo): white shade for text and logo
  * other(logo): make logo not so shining in dark background [ci skip]
  * docs(readme): move chat banners to center block [ci skip]
  * docs(readme): add logo and intro video [ci skip]
  * docs(contribute): introduce Conventional Commit [ci skip]</changelog>
  <changelog author="xtexchooser@duck.com" date="1709380800">- Update to version 0.2.12:
  * chore: release v0.2.12
  * feat: set Priority::HIGH for lyric_scroll
  * docs(readme): go-musicfox merged fix-position [ci skip]
  * docs(build): fix install command for schema [ci skip]
  * Update waylyrics.spec
  * Update INSTALLATION.md
  * docs(build): update packaging docs
  * chore: remove CSS stylelintrc
  * docs(install): show packaging status</changelog>
  <changelog author="xtexchooser@duck.com" date="1711195200">- Update to version 0.2.13:
  * chore: release v0.2.13
  * feat: blacklist players by name/identity
  * build(dep): update reqwest to 0.12
  * feat: fix secondary lyric will not end
  * build(deps): bump mio from 0.8.10 to 0.8.11
  * revert: "Update README.md"
  * Update README.md
  * refactor: use builder api in widget setup
  * feat: add theme no-background [ci skip]
  * docs(readme): intro listen1 [ci skip]
  * docs(readme): complain some bad support [ci skip]
  * docs(readme): list recommended players in chart [ci skip]
  * refactor: remove repeated bind-shortcut code
  * chore: fix missing bracket
  * refactor: do not set display mode manually
  * enhance: replace extension with PathBuf::set_extension
  * refactor: implement Debug for dyn LyricProvider
  * refactor: remove unneeded player_meta helper
  * docs(changelog): update changelog
  * feat: select labels by origin/translation in theme</changelog>
  <changelog author="xtexChooser &lt;xtexchooser@duck.com&gt;" date="1711800000">- Remove old rust ICE workaround</changelog>
  <changelog author="xtexchooser@duck.com" date="1712145600">- Update to version 0.2.15:
  * chore: release v0.2.15
  * feat: full mouse click-through for windows
  * docs(changelog): update changelog
  * fix: windows smtc position
  * fix: misuse of `windows-rs`
  * ci: reset pkgrel after a pkgver bump
  * docs(readme): intro windows user directories
  * chore: release v0.2.14
  * fix: do workarounds for windows-rs bug
  * fix: duplicated import
  * fix: wrong import path
  * feat: initial support for Windows SMTC
  * refactor: cleanup old code
  * docs(install): build on windows
  * build: make gettext, openssl, journald optional
  * revert: vendored -&gt; openssl
  * refactor: define OS-specified helpers in a trait
  * refactor: rename `list_player_names` to `list_players`
  * refactor: extract `try_sync_track` and `reconnect_player` from `interop::*`
  * build(deps): bump actions/checkout from 3 to 4
  * build(deps): bump orhun/git-cliff-action from 2 to 3
  * build(deps): bump actions/upload-artifact from 3 to 4
  * Update dependabot.yml
  * ci: Automatically update AUR PKGBUILD
  * build(deps): bump documented from 0.3.0 to 0.4.0
  * docs(readme): autoLyric `C/C++`
  * refactor: use `bind_shortcut` in switch-passthrough
  * chore(deps): bump dependencies
  * build: reduce binary size
  * docs(readme): musixfox-go released the required patch [ci skip]
  * Revert "feat: select labels by origin/translation in theme"
  * build(rpm): packit is no longer needed [ci skip]
  * chore: example environment is no longer required [ci skip]
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1712923200">- Update to version 0.2.17:
  * chore: release v0.2.17
  * feat: restart in tray-icon for windows
  * docs(readme): update missing translation
  * fix: gtk4 freezes on `Window::close` on windows
  * enhance: support LastUpdateTime on windows
  * chore: switch to upstream `tray-icon`
  * chore(deps): bump dependencies
  * fix: feature gate for unix should be `cfg(unix)`
  * chore: release v0.2.16
  * feat: initial tray-icon support for windows
  * chore(test): cleanup unused imports
  * build(deps): bump h2 from 0.4.3 to 0.4.4
  * docs(changelog): update changelog
  * docs(readme): the only compatible player on windows
  * build: add icon for win32 build</changelog>
  <changelog author="xtexchooser@duck.com" date="1713614400">- Update to version 0.2.18:
  * chore: release v0.2.18
  * fix: set paused as false after resumed to playing
  * log: print control status at trace level
  * feat: hide lyric on pause
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1713614401">- Update to version 0.2.19:
  * chore: release v0.2.19
  * fix(i18n): load i18n on windows
  * fix: underscore not showing in display mode menu
  * build: enable i18n for msvc build
  * docs(build): gettext-rs on windows cannot builds out-of-box with MSVC
  * fix: use '/' as splitte on searchbox creating
  * feat: use song_search_detailed in search box to apply aliases
  * enhance: apply alias for artist name on `netease`
  * enhance: make fuzzy-match weight more than length based match
  * enhance: fine-tune fuzzy match factor
  * feat: convert zh-hans/zh-hant in fuzzy match with opencc
  * chore: bump dependencies
  * build(windows): add build script
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1714132800">- Update to version 0.3.0:
  * docs(changelog): update changelog
  * chore: release v0.3.0
  * fix(ci): new schema path
  * docs(install): update packaging script
  * BREAKING CHANGE: formalize app id &amp; restructure files~
  * Fix missing wayland icon
  * Add metainfo
  * Change filenames
  * Change screenshot 1
  * Add screenshots
  * fix: set titlebar before set decorated
  * log: set time diff log level to TRACE so we will not flood debug log
  * log: mpris position delay
  * refactor: pass WeakRef&lt;Window&gt; to register_sync_task
  * fix(i18n): en_US translation
  * revert: "Translate display modes"
  * Translate display modes
  * align -&gt; alignment
  * docs(changelog): update changelog
  * chore: release v0.2.21
  * fix: stop lyric update when show_lyric_on_pause not set on pause
  * docs(changelog): update changelog
  * chore: release v0.2.20
  * build: remove git dependencies
  * docs(changelog): update changelog</changelog>
  <changelog author="xtexchooser@duck.com" date="1714132801">- Update to version 0.3.5:
  * chore: release v0.3.5
  * feat: emit NewLyricCache signal on lyric cache update
  * feat: reload lyric from cache
  * build(test): set profile.test.debug a boolean
  * chore: release v0.3.4
  * Fix Exec in desktop file
  * chore(metainfo): use v0.3.3 tag
  * chore(metainfo): add screenshot of search window
  * chore(metainfo): fix warnings
  * chore: release v0.3.3
  * chore(desktopfile): remove action `Launch`
  * chore(metainfo): h3 tags are not supported
  * chore: release v0.3.2
  * fix: enum tuple variant cannot be destrcucted by tuple matching
  * fix(readme): broken link of desktop file
  * Use patched ksni to solve tray issue in flatpak (thanks to @taoky)
  * chore: make extracting values from tuples more readable
  * chore: use for loop to refactor items appending in ui_section &amp; play_section
  * chore: use for loop to refactor entries appending in imp.vbox
  * log(tray): do not flood start_time on smtc
  * ci: fix documents deploy CI
  * ci: remove microsoft-prod.list
  * ci: fix test.yml
  * chore: release v0.3.1
  * feat: set search-window ColumnView row padding in themes
  * docs(changelog): update changelog
  * Add replaces &amp; launchable
  * Update metainfo to v0.3.0</changelog>
  <changelog author="xtexchooser@duck.com" date="1714478400">- Update to version 0.3.8:
  * chore: release v0.3.8
  * i18n: translate 'import lyric' &amp; translated/original lyric
  * build: do not strip binary by default [ci skip]
  * chore(deps): bump dependencies [ci skip]
  * feat: import local lrc in tray &amp; csd menu
  * docs(readme): intro waylyrics-sakura-translator [ci skip]
  * chore: release v0.3.7
  * feat: emit LoadLyricCache signal on lyric cache load
  * chore: release v0.3.6
  * fix(typo): import-lrc -&gt; import-lyric
  * feat: select local LRC file to import
  * refactor: inline variable "text"
  * Avoid starting with article in summary
  * build: migrate to ksni 0.2.2
  * feat: allow LRC line that starts with [xxx] without ':'
  * fix: disable local lrc hint on `enable-local-lyric=false`
  * docs(install-en): add flatpak installation link
  * docs(install): add flatpak installation link
  * fix: missing import
  * feat: disable loading local lyric
  * refactor: Change net-test to offline-test
  * chore: add archlinuxcn in installation guide
  * feat(tray): refetch-lyric for windows
  * refactor: store dbus connection instead of gapplication</changelog>
  <changelog author="xtexchooser@duck.com" date="1716724800">- Update to version 0.3.9:
  * chore: release v0.3.9
  * fix(windows): auto connect to active player
  * fix(test): do not test time
  * build: enable import lyric feature for windows
  * docs(readme): intro musicfox, TUI music player supports SMTC [ci skip]
  * enhance: workaround for musicfox v4.4.0 [ci skip]
  * Fix Chinese translation
  * Set title for lyrics file selection dialog</changelog>
  <changelog author="xtexchooser@duck.com" date="1717588800">- Update to version 0.3.10:
  * chore: release v0.3.10
  * fix(log): i18n bind result will not be logged</changelog>
  <changelog author="xtexchooser@duck.com" date="1717675200">- Update to version 0.3.11:
  * chore: release v0.3.11
  * docs(install): user-fiendly version (#240)
  * feat: extract translated lyric from local LRC - this only affects behaviour on loading local lyric via player hint - close #241
  * feat: try load local translated lyric with ISO-639-1 code ,close #165
  * build(deps): bump toml_edit from 0.22.12 to 0.22.13
  * build(deps): bump async-channel from 2.2.1 to 2.3.1
  * build(deps): bump anyhow from 1.0.82 to 1.0.86
  * build(deps): bump mimalloc from 0.1.41 to 0.1.42
  * build(deps): bump the serde group with 2 updates
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * Update INSTALLATION.md
  * Update INSTALLATION.en.md
  * 修复了一些安装文档的小问题</changelog>
  <changelog author="xtexchooser@duck.com" date="1719057600">- Update to version 0.3.12:
  * chore: release v0.3.12
  * fix: extract lyric lines should compare start_time
  * fix: `extract-translated-lyric` flag is ignored
  * docs: fix typo
  * chore(log): add log for textdomain to use</changelog>
  <changelog author="xtexchooser@duck.com" date="1719662400">- Update to version 0.3.13:
  * chore: release v0.3.13
  * fix: missing import statement
  * fix: do not remove original lyric on extracting translated ones
  * docs(readme): add `ncmpcpp` via mpd-mpris
  * chore: bump dependencies</changelog>
  <changelog author="Edgar Aichinger &lt;edogawa@aon.at&gt;" date="1755691200">- remove --locked from %{cargo_[build|install]} as it's part of these macros now
- Update to version 0.3.21:
  * docs: update changelog [ci skip]
  * chore: bump version to v0.3.21
  * build: bump dependencies
  * build(deps): bump tokio from 1.43.0 to 1.43.1
  * build(deps): bump openssl from 0.10.71 to 0.10.72
  * build(deps): bump rust_decimal from 1.36.0 to 1.37.1
  * build(deps): bump async-trait from 0.1.86 to 0.1.88
  * build(deps): bump reqwest from 0.12.12 to 0.12.15
  * build(deps): bump rust_decimal_macros from 1.36.0 to 1.37.1
  * build(deps): bump the serde group with 2 updates
  * fix:.一个错误
  * fix: 手动刷新歌词时清空歌词标签缓存
  * style: :lipstick: cargo fmt
  * perf: DashMap 作为歌词标签存在性缓存
  * feat: 添加对从音乐文件元数据读取歌词的支持
  * build(deps): bump ring from 0.17.11 to 0.17.13 (#303)
  * chore: add script to export dup deps [ci skip]
  * fix(CI): remove outdated test of qqmusic api initialization [ci skip]
  * build: bump dependencies
  * docs(readme): HotLyric, alternative on windows [ci skip]
  * docs(readme): note on project status
  * build(deps): bump openssl from 0.10.68 to 0.10.70 (#301)
  * build(deps): bump serde_json from 1.0.134 to 1.0.138 in the serde group (#296)
  * build(deps): bump thiserror from 2.0.9 to 2.0.11 (#297)
  * build(deps): bump tokio from 1.42.0 to 1.43.0 (#298)
  * build(deps): bump futures-lite from 2.5.0 to 2.6.0 (#299)
  * build(deps): bump windows from 0.58.0 to 0.59.0 (#300)
  * build(deps): bump dark-light to 2.0.0
  * build(deps): bump reqwest from 0.12.9 to 0.12.12 (#291)
  * build(deps): bump the serde group with 2 updates (#290)
  * build(deps): bump gdk4-win32 from 0.9.3 to 0.9.5 (#292)
  * build(deps): bump thiserror from 2.0.6 to 2.0.9 (#293)
  * build(deps): bump glib-macros from 0.20.5 to 0.20.7 (#294)
  * rust version problem (#289)
  * enhance: switch to better tray-icon implementation for windows [ci skip]
  * build: migrate to ksni 0.3
  * chore: dedup code
  * chore: fix deepsource lints
  * refactor: extract set_by_mode
  * ci: add .deepsource.toml
  * docs(readme): add introduction [ci skip]
  * docs(readme): add alternative `lyric-for-musixfox` [ci skip]
  * docs(readme): add preview images [ci skip]
  * docs(readme): replace text with logos
  * docs: update changelog &amp; metainfo
  * chore: release v0.3.20
  * enhance: comment for sub table in config
  * log: capture panics
  * fix: check if instance name used
  * docs: update metainfo &amp; changelog
  * hotfix: build on windows
  * chore: release v0.3.19
  * chore(deps): bump dependencies
  * build(deps): bump the serde group with 2 updates (#280)
  * build(deps): bump tracing from 0.1.40 to 0.1.41 (#281)
  * build(deps): bump tray-icon from 0.19.1 to 0.19.2 (#282)
  * build(deps): bump rfd from 0.15.0 to 0.15.1 (#284)
  * build(deps): bump url from 2.5.3 to 2.5.4 (#283)
  * docs(build): check MSRV
  * chore(clippy): fix clippy warnings
  * chore: update lock file
  * fix: setCookies for QQMusicApi
  * fix: instance format
  * feat: support multi-monitor setup (#278)
  * feat: Implement color-scheme autoswitch (light/dark mode) (#277)
  * enhance: unregister latest theme
  * build(deps): bump rustls from 0.23.16 to 0.23.18 (#276)
  * fix: LazyLock is not stable yet in 1.73 rustc
  * chore: fix details URL in metainfo
  * chore: bump version to 0.3.18
  * test: search/query via lrclib
  * feat: support LRCLib provider
  * chore: apply clippy fix
  * fix: `login_qqmusic` call was not awaited
  * chore(deps): bump dependencies
  * feat: show errors from providers in search_window
  * fix: search failure dialog cannot be spawned outside GTK thread
  * docs: fix typo in filename
  * docs(i18n): translation for contribution.md and build guide ubuntu (#272)
  * fix: add artists to QQMusic keyword
  * fix(test): initialize QQMusic
  * feat: set cookies for QQMusicApi in config
  * chore: migrate to qqmusic-rs 0.2.0
  * enhance: init lyric provider with any struct
  * build(deps): bump the serde group with 2 updates (#266)
  * build(deps): bump glib-macros from 0.20.4 to 0.20.5 (#267)
  * build(deps): bump thiserror from 1.0.64 to 1.0.66 (#268)
  * build(deps): bump regex from 1.11.0 to 1.11.1 (#269)
  * build(deps): bump tray-icon from 0.19.0 to 0.19.1 (#270)
  * chore: support nix flake (#264)
  * fix: set text wrap to show very-long lyric
  * docs(readme): add alternative `lyrica`
  * chore(deps): bump once_cell to `1.20.2`
  * chore: release v0.3.17
  * fix(tray/unix): Avoid calling list_players() from tray thread (#262)
  * fix(tray): export translated lyrics
  * build(deps): bump reqwest from 0.12.7 to 0.12.8 (#261)
  * fix(win32): crash with Motrix runnig
  * i18n: Create Italian Translation  it_IT (#260)
  * chore: release v0.3.16
  * build(fix): ""desktop
  * docs(build): fix i18n part (#259)
  * chore(deps): bump dependencies
  * docs(readme): intro SPlayer [ci skip]
  * docs(readme): desktop support of desktop_lyric, #258
  * fix: build error on linux
  * refactor: dedup function signature
  * docs(readme): add alternative
  * i18n: translate tips
  * test: add test for make_lrc_line
  * build(fix): fix build with MSVC
  * feat: show error dialog if search failed
  * enhance: TrackMeta from Metadata will not fail now
  * chore: release v0.3.15
  * enhance: select output file after generation
  * fix: sec field in exported lyric
  * enhance: make import/export pormpt different
  * chore: release v0.3.14
  * i18n: update locale for 0.3.14
  * build: enable export-lyric for win build [ci skip]
  * chore(dep): bump dependencies
  * chore: disable unused warn
  * fix: build with export-lyric/import-lyric disabled
  * feat: export-lyric
  * refactor: dedup import-*-lyric
  * enhance: dedup import-lyric
  * build(deps): bump the serde group with 2 updates (#252)
  * build(deps): bump opencc-rust from 1.1.18 to 1.1.19 (#253)
  * build(deps): bump gettext-rs from 0.7.0 to 0.7.1 (#254)
  * build(deps): bump reqwest from 0.12.5 to 0.12.7 (#255)
  * build(deps): bump rust_decimal from 1.35.0 to 1.36.0 (#256)
  * build(deps): bump orhun/git-cliff-action from 3 to 4 (#257)
  * fix: build with `opencc` disabled
  * refactor: unify naming of same component in different mod
  * refactor: prefer lazy-binding rather than multiple `cfg` flag
  * docs(readme): fix broken link for DeaDBeeF plugin [ci skip]
  * build(deps): bump tokio from 1.39.1 to 1.39.2 (#248)
  * build(deps): bump serde_json from 1.0.120 to 1.0.121 in the serde group (#247)
  * docs: mark issue/workaround for Better Comments
  * fix: support new type of HWND inner
  * docs(readme): intro DeaDBeeF close #245
  * fix: migrate to window-rs 0.58
  * build(deps): bump openssl from 0.10.64 to 0.10.66 (#246)
  * refactor: migrate to new-style clone!
  * refactor: migrate to gtk4-rs clone! new style
  * chore: bump dependencies
  * build(deps): bump serde_json from 1.0.118 to 1.0.119 in the serde group (#244)</changelog>
  <changelog author="Muhammad Akbar Yanuar Mantari &lt;mantarimay@pm.me&gt;" date="1784894400">- Update to version 0.4.0
  * Added plugin architecture and SakuraLLM translation plugin
  * Added OpenCC support for Simplified/Traditional Chinese
  * Added support for custom CSS themes and style presets
  * Added auto theme switching based on light/dark mode
  * Added shortcut keys for decoration, passthrough, and search
  * Improved MPRIS and SMTC audio player integration
  * Improved TOML config handling and automatic comment updates
  * Optimized lyric search, fetch speed, and UI responsiveness
  * Fixed window passthrough state and click-through toggles
  * Updated dependencies and bumped MSRV requirement
- disable test
- fix build failed because trait GTK for macro @implements</changelog>
</package>
</otherdata>