ncmpc-debian.git
5 months agoUpdated changelog master
Geoffroy Youri Berret [Wed, 11 Nov 2020 09:50:18 +0000 (10:50 +0100)]
Updated changelog

Gbp-Dch: Ignore

5 months agoDropped version in libmpdclient-dev dependency
Geoffroy Youri Berret [Wed, 11 Nov 2020 08:50:06 +0000 (09:50 +0100)]
Dropped version in libmpdclient-dev dependency

5 months agoBump dh compat to level 13
Geoffroy Youri Berret [Wed, 11 Nov 2020 08:47:32 +0000 (09:47 +0100)]
Bump dh compat to level 13

5 months agoUpdate copyright
Geoffroy Youri Berret [Wed, 11 Nov 2020 08:43:20 +0000 (09:43 +0100)]
Update copyright

5 months agoUpdate Changelog
Geoffroy Youri Berret [Mon, 9 Nov 2020 08:39:06 +0000 (09:39 +0100)]
Update Changelog

Gbp-Dch: Ignore

5 months agoAdd NEWS.Debian regarding lyrics plugin removal
Geoffroy Youri Berret [Mon, 9 Nov 2020 08:37:33 +0000 (09:37 +0100)]
Add NEWS.Debian regarding lyrics plugin removal

6 months agoUpdate changelog
Geoffroy Youri Berret [Fri, 6 Nov 2020 15:26:50 +0000 (16:26 +0100)]
Update changelog

Gbp-Dch: Ignore

6 months agorelease v0.42
Max Kellermann [Wed, 28 Oct 2020 21:06:48 +0000 (22:06 +0100)]
release v0.42

6 months agoLibraryPage: move PLAY handler code to LibraryTagListPage::HandleEnter()
Max Kellermann [Wed, 28 Oct 2020 20:49:24 +0000 (21:49 +0100)]
LibraryPage: move PLAY handler code to LibraryTagListPage::HandleEnter()

This completes mouse support for the library page, because now
TagListPage::OnMouse() can call LibraryTagListPage::HandleEnter().

6 months agoLibraryPage: add subclass of TagListPage
Max Kellermann [Wed, 28 Oct 2020 20:48:01 +0000 (21:48 +0100)]
LibraryPage: add subclass of TagListPage

We'll move some code from ArtistBrowserPage there, so TagListPage can
call into ArtistBrowserPage.

6 months agoLibraryPage: move code from SongListPage::OnCommand() to HandleEnter()
Max Kellermann [Wed, 28 Oct 2020 20:56:45 +0000 (21:56 +0100)]
LibraryPage: move code from SongListPage::OnCommand() to HandleEnter()

Enables mouse click support for "[..]".

6 months agoTagListPage: mouse support
Max Kellermann [Wed, 28 Oct 2020 20:40:34 +0000 (21:40 +0100)]
TagListPage: mouse support

6 months agoTagListPage: move code to HandleEnter(), HandleSelect()
Max Kellermann [Wed, 28 Oct 2020 20:39:59 +0000 (21:39 +0100)]
TagListPage: move code to HandleEnter(), HandleSelect()

6 months agoFileListPage: make HandleEnter() virtual
Max Kellermann [Wed, 28 Oct 2020 20:13:06 +0000 (21:13 +0100)]
FileListPage: make HandleEnter() virtual

This fixes mouse clicks on directories because FileListPage::OnMouse()
will now call FileBrowserPage::HandleEnter().

6 months agoNEWS: "library page" change was really about the "file page"
Max Kellermann [Wed, 28 Oct 2020 20:21:40 +0000 (21:21 +0100)]
NEWS: "library page" change was really about the "file page"

6 months agoListWindow: support the mouse wheel
Max Kellermann [Wed, 28 Oct 2020 19:47:46 +0000 (20:47 +0100)]
ListWindow: support the mouse wheel

Closes https://github.com/MusicPlayerDaemon/ncmpc/issues/78

6 months agoFileListPage: repaint after moving cursor with mouse
Max Kellermann [Wed, 28 Oct 2020 19:53:55 +0000 (20:53 +0100)]
FileListPage: repaint after moving cursor with mouse

6 months agoevent/Loop: AbandonFD() unlinks the SocketEvent
Max Kellermann [Wed, 28 Oct 2020 13:59:55 +0000 (14:59 +0100)]
event/Loop: AbandonFD() unlinks the SocketEvent

Fixes use-after-free bugs causing assertion failures at shutdown,
because all "abandoned" SocketEvents are still in the linked list.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/986
Closes https://github.com/MusicPlayerDaemon/MPD/issues/987

6 months agoevent/Loop: pass SocketEvent& to AbandonFD()
Max Kellermann [Wed, 28 Oct 2020 13:58:23 +0000 (14:58 +0100)]
event/Loop: pass SocketEvent& to AbandonFD()

6 months agosystem/FileDescriptor: fix Duplicate result
arcnmx [Mon, 19 Oct 2020 19:15:34 +0000 (12:15 -0700)]
system/FileDescriptor: fix Duplicate result

dup2 returns new_fd on success, not 0

6 months agoevent/PollGroup: rename to PollBackend
Max Kellermann [Mon, 19 Oct 2020 12:14:32 +0000 (14:14 +0200)]
event/PollGroup: rename to PollBackend

6 months agoevent/PollGroup: move event flags to a separate header
Max Kellermann [Mon, 19 Oct 2020 12:28:41 +0000 (14:28 +0200)]
event/PollGroup: move event flags to a separate header

Reduce header dependencies for SocketEvent.hxx.

6 months agoevent/SocketEvent: forbid copying
Max Kellermann [Sun, 18 Oct 2020 18:07:48 +0000 (20:07 +0200)]
event/SocketEvent: forbid copying

6 months agoevent/Loop: reorder assertions
Max Kellermann [Sun, 18 Oct 2020 18:05:21 +0000 (20:05 +0200)]
event/Loop: reorder assertions

6 months agoevent/Loop: add assertions
Max Kellermann [Sun, 18 Oct 2020 18:04:15 +0000 (20:04 +0200)]
event/Loop: add assertions

6 months agoevent/SocketEvent: use class IntrusiveList<>
Max Kellermann [Sun, 18 Oct 2020 17:31:58 +0000 (19:31 +0200)]
event/SocketEvent: use class IntrusiveList<>

6 months agoevent/Loop: manage all SocketEvents in a linked list
Max Kellermann [Sun, 18 Oct 2020 17:39:21 +0000 (19:39 +0200)]
event/Loop: manage all SocketEvents in a linked list

Not only those which are "ready".

6 months agoevent/Loop: un-inline AddFD(), ModifyFD()
Max Kellermann [Sun, 18 Oct 2020 17:43:35 +0000 (19:43 +0200)]
event/Loop: un-inline AddFD(), ModifyFD()

Prepare for adding more code here.

6 months agoevent/Loop: round epoll_wait() timeout up
Max Kellermann [Tue, 5 Mar 2019 21:06:09 +0000 (22:06 +0100)]
event/Loop: round epoll_wait() timeout up

This implements proper rounding, amending commit dcbb9fe07ce

6 months agoevent/IdleEvent: use class IntrusiveList<>
Max Kellermann [Sun, 18 Oct 2020 17:21:47 +0000 (19:21 +0200)]
event/IdleEvent: use class IntrusiveList<>

6 months agoutil/IntrusiveList: replacement for boost::intrusive::list
Max Kellermann [Sun, 18 Oct 2020 17:21:11 +0000 (19:21 +0200)]
util/IntrusiveList: replacement for boost::intrusive::list

6 months agoevent/IdleEvent: use `auto`
Max Kellermann [Sun, 18 Oct 2020 17:23:30 +0000 (19:23 +0200)]
event/IdleEvent: use `auto`

6 months agoevent/IdleEvent: forbid copying
Max Kellermann [Sun, 18 Oct 2020 17:23:20 +0000 (19:23 +0200)]
event/IdleEvent: forbid copying

6 months agoincrement version number to 0.42
Max Kellermann [Fri, 16 Oct 2020 11:01:00 +0000 (13:01 +0200)]
increment version number to 0.42

6 months agoUpdate Changelog
Geoffroy Youri Berret [Fri, 6 Nov 2020 15:15:04 +0000 (16:15 +0100)]
Update Changelog

Gbp-Dch: Ignore

6 months agoDrop ruby dependency in ncmpc-lyrics
Geoffroy Youri Berret [Fri, 6 Nov 2020 15:08:52 +0000 (16:08 +0100)]
Drop ruby dependency in ncmpc-lyrics

The ncmpc-lyrics is only reading previously cached lyrics since upstream
remove "lyricwiki" plugin (site is gone).

6 months agorelease v0.41
Max Kellermann [Fri, 16 Oct 2020 10:59:17 +0000 (12:59 +0200)]
release v0.41

6 months agodoc/index.rst: improve the `screen-list` description
Max Kellermann [Fri, 16 Oct 2020 10:29:25 +0000 (12:29 +0200)]
doc/index.rst: improve the `screen-list` description

Close https://github.com/MusicPlayerDaemon/ncmpc/issues/76

6 months agodoc: more RST markup
Max Kellermann [Fri, 16 Oct 2020 10:26:20 +0000 (12:26 +0200)]
doc: more RST markup

6 months agoscreen_status: add std::exception_ptr overload
Max Kellermann [Thu, 15 Oct 2020 18:40:19 +0000 (20:40 +0200)]
screen_status: add std::exception_ptr overload

6 months agonet/AsyncHandler: pass std::exception_ptr to OnConnectError()
Max Kellermann [Thu, 15 Oct 2020 18:32:56 +0000 (20:32 +0200)]
net/AsyncHandler: pass std::exception_ptr to OnConnectError()

6 months agonet/AsyncConnect: close only on error
Max Kellermann [Thu, 15 Oct 2020 18:31:34 +0000 (20:31 +0200)]
net/AsyncConnect: close only on error

6 months agonet/AsyncConnect: check SO_ERROR only if EPOLLERR was returned
Max Kellermann [Thu, 15 Oct 2020 18:29:37 +0000 (20:29 +0200)]
net/AsyncConnect: check SO_ERROR only if EPOLLERR was returned

6 months agoevent/Loop: move code to Wait()
Max Kellermann [Thu, 15 Oct 2020 18:19:01 +0000 (20:19 +0200)]
event/Loop: move code to Wait()

6 months agoevent/PollGroup: ReadEvents() returns PollResult
Max Kellermann [Thu, 15 Oct 2020 18:06:51 +0000 (20:06 +0200)]
event/PollGroup: ReadEvents() returns PollResult

6 months agoevent/SocketEvent: add ScheduleImplicit(), Is{Read,Write}Pending()
Max Kellermann [Thu, 15 Oct 2020 15:01:13 +0000 (17:01 +0200)]
event/SocketEvent: add ScheduleImplicit(), Is{Read,Write}Pending()

6 months agoevent/SocketEvent: add Abandon()
Max Kellermann [Thu, 15 Oct 2020 14:55:43 +0000 (16:55 +0200)]
event/SocketEvent: add Abandon()

6 months agoevent/SocketEvent: document Close()
Max Kellermann [Thu, 15 Oct 2020 14:55:29 +0000 (16:55 +0200)]
event/SocketEvent: document Close()

6 months agoevent/SocketEvent: rename Steal() to ReleaseSocket()
Max Kellermann [Thu, 15 Oct 2020 14:52:36 +0000 (16:52 +0200)]
event/SocketEvent: rename Steal() to ReleaseSocket()

6 months agonet/UniqueSocketDescriptor: add `noexcept`
Max Kellermann [Wed, 7 Oct 2020 08:14:18 +0000 (10:14 +0200)]
net/UniqueSocketDescriptor: add `noexcept`

6 months agonet/SocketAddress: add missing include
Max Kellermann [Thu, 15 Oct 2020 14:45:49 +0000 (16:45 +0200)]
net/SocketAddress: add missing include

6 months agoTagListPage: fix nullptr dereference when adding "[All]"
Max Kellermann [Thu, 15 Oct 2020 12:46:33 +0000 (14:46 +0200)]
TagListPage: fix nullptr dereference when adding "[All]"

Commit 9f5a0754d5 caused a regression because two variables were mixed
up: the `text` must not be nullptr, or else Utf8ToLocale() crashes.

Closes https://github.com/MusicPlayerDaemon/ncmpc/issues/77

6 months agonet/AsyncConnect: use the SO_ERROR result, not errno
Max Kellermann [Thu, 15 Oct 2020 12:26:08 +0000 (14:26 +0200)]
net/AsyncConnect: use the SO_ERROR result, not errno

Fixes regression by commit dfd26025ccb652a7514f7c73429fbf948e159dd2

6 months agoutil/StringStrip: use std::strlen()
Max Kellermann [Thu, 15 Oct 2020 10:53:41 +0000 (12:53 +0200)]
util/StringStrip: use std::strlen()

6 months agoutil/StringStrip: use std::size_t
Max Kellermann [Thu, 15 Oct 2020 10:52:22 +0000 (12:52 +0200)]
util/StringStrip: use std::size_t

6 months agoutil/StringCompare: add API documentation
Max Kellermann [Sun, 22 Mar 2020 18:15:55 +0000 (19:15 +0100)]
util/StringCompare: add API documentation

6 months agoutil/StringCompare: add StringIsEqual() with string_view
Max Kellermann [Fri, 13 Mar 2020 19:36:48 +0000 (20:36 +0100)]
util/StringCompare: add StringIsEqual() with string_view

6 months agoutil/StringCompare: add more StringView overloads
Max Kellermann [Fri, 13 Mar 2020 17:47:00 +0000 (18:47 +0100)]
util/StringCompare: add more StringView overloads

6 months agoutil/StringCompare: use std::memcmp()
Max Kellermann [Thu, 15 Oct 2020 10:47:42 +0000 (12:47 +0200)]
util/StringCompare: use std::memcmp()

6 months agouse std chr functions
Rosen Penev [Fri, 1 May 2020 02:25:55 +0000 (19:25 -0700)]
use std chr functions

The ones in std have overloads for const char/char.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 months agoutil/RuntimeError: add IWYU pragma
Max Kellermann [Thu, 23 Jul 2020 14:10:27 +0000 (16:10 +0200)]
util/RuntimeError: add IWYU pragma

6 months agoutil/Exception: use [[noreturn]]
Max Kellermann [Thu, 15 Oct 2020 10:45:07 +0000 (12:45 +0200)]
util/Exception: use [[noreturn]]

6 months agoutil/Exception: move the forwarded std::exception_ptr
Max Kellermann [Sat, 1 Feb 2020 12:13:08 +0000 (13:13 +0100)]
util/Exception: move the forwarded std::exception_ptr

6 months agoutil/ConstBuffer, ...: use `using` instead of `typedef`
Max Kellermann [Mon, 6 Apr 2020 13:19:06 +0000 (15:19 +0200)]
util/ConstBuffer, ...: use `using` instead of `typedef`

6 months agoutil/Stringview: use `const_pointer` instead of hard-coding `const char *`
Max Kellermann [Fri, 13 Mar 2020 18:43:12 +0000 (19:43 +0100)]
util/Stringview: use `const_pointer` instead of hard-coding `const char *`

Fixes Windows build failure.

6 months agoutil/StringView: add method substr()
Max Kellermann [Mon, 3 Feb 2020 19:45:58 +0000 (20:45 +0100)]
util/StringView: add method substr()

6 months agoutil/ConstBuffer: use <cassert>
Max Kellermann [Wed, 14 Oct 2020 20:00:06 +0000 (22:00 +0200)]
util/ConstBuffer: use <cassert>

6 months agoutil/{Const,Writable}Buffer: drop "_type" from type names
Max Kellermann [Fri, 3 Jan 2020 14:49:29 +0000 (15:49 +0100)]
util/{Const,Writable}Buffer: drop "_type" from type names

Behave like STL.

6 months agoutil/StringView: use `using` instead of `typedef`
Max Kellermann [Fri, 3 Jan 2020 14:50:39 +0000 (15:50 +0100)]
util/StringView: use `using` instead of `typedef`

6 months agoutil/{Const,Writable}Buffer: use std::size_t
Max Kellermann [Fri, 3 Jan 2020 14:38:02 +0000 (15:38 +0100)]
util/{Const,Writable}Buffer: use std::size_t

6 months agoutil/ConstBuffer: add `noexcept`
Max Kellermann [Fri, 3 Jan 2020 14:39:19 +0000 (15:39 +0100)]
util/ConstBuffer: add `noexcept`

6 months agoutil/CharUtil: add IsNonPrintableASCII()
Max Kellermann [Mon, 27 Apr 2020 11:57:05 +0000 (13:57 +0200)]
util/CharUtil: add IsNonPrintableASCII()

Prepare to fix cc72ceb368185381851bec2d7d4fe1c4d69b3f46

6 months agoutil/CharUtil: add IsHexDigit()
Max Kellermann [Mon, 6 Apr 2020 10:59:33 +0000 (12:59 +0200)]
util/CharUtil: add IsHexDigit()

6 months agomigrate from boost::asio to the MPD EventLoop
Max Kellermann [Tue, 13 Oct 2020 14:04:07 +0000 (16:04 +0200)]
migrate from boost::asio to the MPD EventLoop

Two years ago, ncmpc 0.32 (commit 74cc24bdfcfd) made the switch from
GLib's GMainLoop to boost::asio, because that appeared to be a decent
non-blocking I/O event loop for C++, but it turned out that the API
was complicated to use, broke all the time and the generated code was
heavily bloated.

Even though importing more than 7000 lines of code from MPD sounds
like replacing one kind of bloat with another, this reduces ncmpc's
executable size from 380 kB to 240 kB (37% smaller).  The "mini" build
is reduced from 149 kB to 79 kB (47% smaller).

Closes https://github.com/MusicPlayerDaemon/ncmpc/issues/73

6 months agoevent: import the non-blocking event I/O loop from MPD
Max Kellermann [Tue, 13 Oct 2020 13:29:30 +0000 (15:29 +0200)]
event: import the non-blocking event I/O loop from MPD

Will replace boost::asio.

6 months agolyrics: remove the "lyricwiki" plugin because the site is gone
Max Kellermann [Wed, 14 Oct 2020 19:32:10 +0000 (21:32 +0200)]
lyrics: remove the "lyricwiki" plugin because the site is gone

See
 https://web.archive.org/web/20200830142257/https://lyrics.fandom.com/wiki/LyricWiki

That leaves ncmpc without a working lyrics plugin.  I hope we can find
a new site for obtaining lyrics!

6 months agoTranslated using Weblate (Korean)
Min Ho Park [Fri, 9 Oct 2020 14:57:56 +0000 (14:57 +0000)]
Translated using Weblate (Korean)

Currently translated at 100.0% (276 of 276 strings)

Translation: Ncmpc/Translations
Translate-URL: https://hosted.weblate.org/projects/ncmpc/translations/ko/

6 months agoTranslated using Weblate (Hebrew)
Yaron Shahrabani [Tue, 29 Sep 2020 11:19:03 +0000 (11:19 +0000)]
Translated using Weblate (Hebrew)

Currently translated at 78.6% (217 of 276 strings)

Translation: Ncmpc/Translations
Translate-URL: https://hosted.weblate.org/projects/ncmpc/translations/he/

6 months agoTranslated using Weblate (Norwegian Bokmål)
Allan Nordhøy [Mon, 7 Sep 2020 00:02:40 +0000 (00:02 +0000)]
Translated using Weblate (Norwegian Bokmål)

Currently translated at 92.3% (255 of 276 strings)

Translation: Ncmpc/Translations
Translate-URL: https://hosted.weblate.org/projects/ncmpc/translations/nb_NO/

6 months agoTranslated using Weblate (Italian)
IvanDan [Mon, 7 Sep 2020 16:23:35 +0000 (16:23 +0000)]
Translated using Weblate (Italian)

Currently translated at 98.5% (272 of 276 strings)

Translation: Ncmpc/Translations
Translate-URL: https://hosted.weblate.org/projects/ncmpc/translations/it/

6 months agoTranslated using Weblate (Spanish)
J.MarSar [Thu, 3 Sep 2020 14:15:14 +0000 (14:15 +0000)]
Translated using Weblate (Spanish)

Currently translated at 99.6% (275 of 276 strings)

Translation: Ncmpc/Translations
Translate-URL: https://hosted.weblate.org/projects/ncmpc/translations/es/

6 months agoTranslated using Weblate (Russian)
Владимир [Sat, 29 Aug 2020 23:23:00 +0000 (23:23 +0000)]
Translated using Weblate (Russian)

Currently translated at 97.4% (269 of 276 strings)

Translation: Ncmpc/Translations
Translate-URL: https://hosted.weblate.org/projects/ncmpc/translations/ru/

6 months agoincrement version number to 0.41
Max Kellermann [Wed, 7 Oct 2020 18:59:19 +0000 (20:59 +0200)]
increment version number to 0.41

6 months agoUpdate changelog
Geoffroy Youri Berret [Mon, 12 Oct 2020 11:15:16 +0000 (13:15 +0200)]
Update changelog

Gbp-Dch: Ignore

6 months agoUpdate upstream source from tag 'upstream/0.40'
Geoffroy Youri Berret [Mon, 12 Oct 2020 10:52:02 +0000 (12:52 +0200)]
Update upstream source from tag 'upstream/0.40'

Update to upstream version '0.40'
with Debian dir 1dd4e62629efe32de9bc53af5acb7f9e424f3dbf

6 months agoNew upstream version 0.40 upstream/0.40
Geoffroy Youri Berret [Mon, 12 Oct 2020 10:52:01 +0000 (12:52 +0200)]
New upstream version 0.40

6 months agorelease v0.40
Max Kellermann [Wed, 7 Oct 2020 15:24:58 +0000 (17:24 +0200)]
release v0.40

6 months agoSongRowPaint: require a minimum width to enable hscroll
Max Kellermann [Mon, 5 Oct 2020 11:48:52 +0000 (13:48 +0200)]
SongRowPaint: require a minimum width to enable hscroll

Like commit c44784f7af609fd94b4fb0b7d23f329c671d51db

Closes https://github.com/MusicPlayerDaemon/ncmpc/issues/73

6 months agoStatusBar: show elapsed time even at 0:00
Max Kellermann [Wed, 7 Oct 2020 15:22:14 +0000 (17:22 +0200)]
StatusBar: show elapsed time even at 0:00

This special case was never useful.

6 months agoStatusBar: show elapsed time of streams
Max Kellermann [Wed, 7 Oct 2020 15:17:14 +0000 (17:17 +0200)]
StatusBar: show elapsed time of streams

7 months agoListCursor: clamp scroll_offset, replacing special case
Max Kellermann [Mon, 5 Oct 2020 14:14:30 +0000 (16:14 +0200)]
ListCursor: clamp scroll_offset, replacing special case

This replaces commit db6e2e0cb6880d687ce468093fe85d6ee26aa004, which
caused a jumping cursor on song change when the whole queue was
visible.

7 months agoStatusBar: merge redundant `options.scroll` checks
Max Kellermann [Mon, 5 Oct 2020 11:18:50 +0000 (13:18 +0200)]
StatusBar: merge redundant `options.scroll` checks

7 months agoStatusBar: make `center_width` a local variable
Max Kellermann [Mon, 5 Oct 2020 11:18:38 +0000 (13:18 +0200)]
StatusBar: make `center_width` a local variable

7 months agoFileListPage: pass references to browser_select_entry()
Max Kellermann [Mon, 5 Oct 2020 10:26:46 +0000 (12:26 +0200)]
FileListPage: pass references to browser_select_entry()

7 months agoFileListPage: add nullptr check to PaintStatusBarOverride()
Max Kellermann [Mon, 5 Oct 2020 10:22:04 +0000 (12:22 +0200)]
FileListPage: add nullptr check to PaintStatusBarOverride()

Fixes a bug bug which crashes ncmpc when the range selection includes
the special entry ".." which has no "entity".

Closes https://github.com/MusicPlayerDaemon/ncmpc/issues/75

7 months agoFileListPage: add local variable `entity`
Max Kellermann [Mon, 5 Oct 2020 10:20:18 +0000 (12:20 +0200)]
FileListPage: add local variable `entity`

7 months agoUpdate changelog
Geoffroy Youri Berret [Sat, 26 Sep 2020 11:34:16 +0000 (13:34 +0200)]
Update changelog

Gbp-Dch: Ignore

7 months agoAdd basic upstream metadata
Geoffroy Youri Berret [Sat, 26 Sep 2020 11:32:26 +0000 (13:32 +0200)]
Add basic upstream metadata

7 months agoUpdate upstream source from tag 'upstream/0.39'
Geoffroy Youri Berret [Sat, 26 Sep 2020 09:13:05 +0000 (11:13 +0200)]
Update upstream source from tag 'upstream/0.39'

Update to upstream version '0.39'
with Debian dir a18a34a2bfbc3aa02c1234a280e4e16f767ffa8d

7 months agoNew upstream version 0.39
Geoffroy Youri Berret [Sat, 26 Sep 2020 09:13:04 +0000 (11:13 +0200)]
New upstream version 0.39