Commit graph

1898 commits

Author SHA1 Message Date
Adrian Sampson
c03e0ebef0
Merge pull request #4160 from beetbox/filter-img-filename
aura: Sanitize filenames in image IDs
2021-11-26 15:50:32 -05:00
Adrian Sampson
4e692095eb
Changelog for #4160 2021-11-26 15:39:30 -05:00
David Logie
73c7cc86fe Add an 'album_removed' event.
This works similarly to the existing 'item_removed' event but is called
with an `Album` object.
2021-11-22 20:56:50 +00:00
Adrian Sampson
281eec8a48
Merge pull request #4147 from jcassette/query-perf
Use short-circuit evaluation in AndQuery and OrQuery (fix #4145)
2021-11-17 07:59:43 -05:00
Julien Cassette
5e6be0ddb3 Use short-circuit evaluation in AndQuery and OrQuery (fix #4145) 2021-11-16 21:44:57 +01:00
Christopher Larson
a7ef7704f8 Send the pluginload event after types and queries are available
Making these types and queries available is part of fully loading the plugins,
so the event should not be sent until this work is done. This allows plugins
to make use of those types and queries in a pluginload listener.
2021-11-15 21:27:39 -07:00
Julien Cassette
b67c25a55d Use slow queries for flexible attributes in aunique (fix #2678, close #3553) 2021-11-11 19:32:55 +01:00
Arsen Arsenović
3de657403a
changelog: add entry about fetch_art cover_format 2021-11-03 13:31:34 +01:00
Piotrek Kochański
4d94bf8fad Merge branch 'master' of github.com:beetbox/beets into deinterlace 2021-11-01 21:33:27 +01:00
wisp3rwind
5578d0713b update changelog for #4060 2021-11-01 19:00:43 +01:00
Benedikt
bcdf78e0c3
Merge pull request #4129 from tianon/color-move
Use "colordiff" to highlight "beet move" path differences
2021-11-01 18:48:05 +01:00
Tianon Gravi
5886aa9247 Use "colordiff" to highlight "beet move" path differences 2021-10-31 15:17:33 -07:00
Piotrek Kochański
417ef0d453 Merge branch 'master' of github.com:beetbox/beets into deinterlace 2021-10-31 13:27:00 +01:00
wisp3rwind
786236f046 remove the gmusic plugin 2021-10-30 14:46:14 +02:00
Adrian Sampson
be82fd0f4a
Merge pull request #4124 from tianon/album-info
Add a basic "--album" flag to "beet info"
2021-10-29 21:08:05 -04:00
Christopher Larson
86465e6437 Allow custom replacements in Item.destination
This allows for the use of differing replacements for destinations other than
the library, which is useful for beets-alternatives in the case where
filesystem requirements differ between the two paths.

Signed-off-by: Christopher Larson <kergoth@gmail.com>
2021-10-27 12:30:16 -07:00
Tianon Gravi
9ddc75035a Fix duplicated output in "beet export" 2021-10-27 09:06:27 -07:00
Tianon Gravi
7bd36ed6ca Add "beet export --album" (matching "beet info --album") 2021-10-27 08:55:36 -07:00
Tianon Gravi
89a7cc3701 Add "beet info --album" changelog entry 2021-10-27 08:30:05 -07:00
Duncan Overbruck
a2030d1a63
changelog: import/modify field formatting 2021-10-27 00:28:23 +02:00
Duncan Overbruck
5824d46353
changelog: rewrite permissions cover art change 2021-10-27 00:28:23 +02:00
maffo999
c824d4d773 Fix for 4108 2021-10-21 16:32:23 +02:00
Jay DesLauriers
b05432aed0 feat(unimported): support excluding subdirectories 2021-10-12 17:28:43 +00:00
Andrew Rogl
ade9978f7e Updated after feedback from @wisp3rwind 2021-10-02 21:39:26 +10:00
Andrew Rogl
b935346402 changelog 2021-10-02 14:14:04 +10:00
ctrueden
9b11c1df2e lyrics: update changelog 2021-09-30 22:43:47 +02:00
Adrian Sampson
81fecedab4
Changelog about #4030 2021-09-28 15:52:55 -04:00
Duncan Overbruck
38e7fb4560
Add cover art permissions to changelog 2021-09-12 16:41:22 +02:00
Edgars Supe
0a4aa408b6 Add albumtypes plugin to changelog 2021-09-09 23:07:11 +03:00
Edgars Supe
a5c6ed7867 Add info about albumtypes to changelog 2021-09-09 15:52:37 +03:00
Aidan Epstein
8eac98585d Get genres from both musicbrainz releases and release-groups.
This adds the votes from each.

This also changes the behavior to reset tags if the genre option is
enabled and no tags are received from musicbrainz.

This also sorts genres by the number of votes.
2021-09-08 22:33:38 -07:00
Piotrek Kochański
073136ba17 Merge branch 'master' of github.com:beetbox/beets into deinterlace 2021-09-02 01:34:23 +02:00
Adrian Sampson
aad5253c87
Changelog entry for #4038 2021-09-01 10:09:22 -04:00
Piotrek Kochański
1a3ecc1ef4 Add to changelog. 2021-08-26 13:38:56 +02:00
Adrian Sampson
75223eedb7
Docs for 3.6+ requirement 2021-08-22 21:09:30 -04:00
Adrian Sampson
21e11f5bb3
Version bump: v1.5.1 2021-08-19 15:57:14 -04:00
Adrian Sampson
92b6d7ea7c
Release date for v1.5.0 2021-08-19 15:56:13 -04:00
Adrian Sampson
51e4c62220
Tiny wording tweak 2021-08-19 15:50:36 -04:00
Adrian Sampson
b3ca50a0ff
Further sprucing of "major features" 2021-08-19 15:47:24 -04:00
Adrian Sampson
842dd5a05a
Finish complete changelog pass 2021-08-19 15:42:16 -04:00
Adrian Sampson
550a6ef337
Changelog editing: pass over fixes 2021-08-19 15:36:05 -04:00
Adrian Sampson
9ec7378ed7
Changelog spruce-up: pass over new features 2021-08-19 15:20:33 -04:00
Kirill A. Korinsky
b0f7418372
Stream-friendly smart playlists
This commit introduced a way to generate a stream-frienldy playlists.
2021-08-14 02:41:22 +02:00
maffo999
5dbc7f9f33 Moved logging to debug and fixed empty line. Updated changelog to include new option. 2021-07-15 20:13:18 +02:00
maffo999
51210cb649 Updated changelog 2021-07-14 20:36:52 +02:00
wisp3rwind
c336191cdf lyrics: update and condense Tekstowo changelog entries 2021-07-04 13:54:03 +02:00
Adrian Sampson
87f5acebee
More changelog futzing 2021-06-28 17:44:45 -04:00
wisp3rwind
0e1c102337 duplicates: update changelog 2021-06-18 17:19:16 +02:00
wisp3rwind
dfd834cf8f lyrics: update changelog 2021-06-18 17:16:47 +02:00
Andrew Sultana
4c86520479 template: update changelog 2021-06-16 16:50:20 +01:00
Benedikt
5fad8ee0b2
Merge pull request #3930 from arogl/fix_#2873
Attempt to fix duplicates
2021-06-15 11:19:55 +02:00
Frederik “Freso” S. Olesen
1e07d7b223
Document Libera.Chat as the new official IRC home
freenode has had a hostile takeover (see DWF CVE-2021-1000189[1]) and
the network is no longer safe, as a result the official IRC channel is
moved to the Libera.Chat network.

[1] https://github.com/distributedweaknessfiling/dwflist/blob/main/2021/1000xxx/CVE-2021-1000189.json

Resolves https://github.com/beetbox/beets/discussions/3953
2021-05-24 17:37:19 +02:00
Andrew Rogl
78f25575c3 Resolve changelog conflict 2021-05-24 16:23:04 +10:00
Benedikt
eef26d1886
Merge pull request #3927 from bertbesser/set-fields-persist-to-tracks
persist set_fields to media files
2021-05-14 10:51:34 +02:00
sandersantema
81ef3c2fc3
Update changelog 2021-05-13 14:44:51 +02:00
bertbesser
a25a2a6cbb
Merge branch 'master' into set-fields-persist-to-tracks 2021-05-13 07:38:26 +02:00
Aidan Epstein
b6fda634c4 Add ISRC identifiers from musicbrainz. 2021-05-12 07:44:55 -07:00
Dorian Soergel
c9c2c81df6
Merge branch 'master' into beets_tag_hook 2021-05-11 10:46:15 +02:00
Adrian Sampson
a4352ff845
Merge branch 'master' into 7z_support 2021-05-08 09:47:51 -07:00
Andrew Rogl
a28099a351 Remove reference to rarfile version in link 2021-05-08 19:18:11 +10:00
Andrew Rogl
cff4ed59bf Update documentation 2021-05-08 15:33:58 +10:00
Andrew Rogl
533559136e Add 7z file support #3906 2021-05-07 22:04:46 +10:00
Bert Besser
9cbbc35a95 persist set_fields to media files 2021-05-06 19:55:12 +02:00
Jelle Kaufmann
2eae5a8ecc
Update docs/changelog.rst
Co-authored-by: Adrian Sampson <adrian@radbox.org>
2021-05-04 17:01:52 +02:00
Jelle Kaufmann
449617050d Change behavior to HTTPS by default for musicbrainz.org, but HTTP by default for custom servers 2021-05-04 16:07:08 +02:00
Jelle Kaufmann
a46c975387 Add HTTPS support for Musicbrainz 2021-05-03 20:28:47 +02:00
Sam Thursfield
2fa3717731 Optimise FormattedMapping when querying a specific set of fields
This changes greatly improves the speed of `beet export` and `beet info`
when the `--include-keys` option is used. It also removes the globbing
feature of `--include-keys` that was added in #1295. (See #3762 for
discussion).

Listing all fields for an item requires querying the database to find
any flex attributes. This is slow when done for every item being
exported. We already have a way for the user to specify a fixed set
of keys, but we previously queried everything and filtered it afterwards.
The new approach is more efficient.

Code that iterates through all fields now have to handle invalid field
names. The export and info plugins output invalid fields as None.

Timings before:

    > /usr/bin/time beet export -i title,path,artist -l  Bob Dylan
    13.26user 20.22system 0:34.01elapsed 98%CPU (0avgtext+0avgdata 52544maxresident)k

    > /usr/bin/time beet export -l  Bob Dylan
    12.93user 20.15system 0:33.58elapsed 98%CPU (0avgtext+0avgdata 53632maxresident)k

Timings after:

    > /usr/bin/time beet export -l  Bob Dylan
    13.33user 20.17system 0:34.02elapsed 98%CPU (0avgtext+0avgdata 53500maxresident)k

    > /usr/bin/time beet export -i title,path,artist -l  Bob Dylan
    0.49user 0.07system 0:00.56elapsed 98%CPU (0avgtext+0avgdata 50496maxresident)k

Notice the dramatic speedup in the last example!
2021-05-01 23:41:09 +02:00
Xavier Hocquet
0dd569a884 Add changelog 2021-04-11 17:34:46 -05:00
Evgeniy Gurevich
802af4203b
Update changelog.rst 2021-04-07 20:12:52 +08:00
Adrian Sampson
eab4372a58
Merge pull request #3900 from Lanny/master
badfiles: Optionally run checkers during import
2021-03-29 19:28:30 -04:00
Xavier Hocquet
8c6530369d
Merge branch 'master' into tekstowo-lyrics 2021-03-28 12:05:42 -06:00
Ryan Lanny Jenkins
227d420efb Add entry to changelog. 2021-03-24 17:04:17 -05:00
wisp3rwind
7a0599efe2 Python 3.5 is EOL and we should drop support thus add notice to changelog
The final release 3.5.10 was on 2020-09-05
2021-03-23 19:41:29 +01:00
wisp3rwind
9a6b65351b Merge pull request #3560 from davidswarbrick/master
Album Art Resize to filesize
2021-03-23 12:15:51 +01:00
David Swarbrick
07b5e69f40 fetchart/artresizer: add max_filesize support (#3560)
Squashed from the PR, relevant commit messages follow below:

Added file size option to artresizer

 - In line with comments on PR, adjusted the ArtResizer API to add
   functionality to "resize to X bytes" through `max_filesize` arg

 - Adjustment to changelog.rst to include max_filesize change to ArtResizer
   and addition of new plugin.

Added explicit tests for PIL & Imagemagick Methods

 - Checks new resizing functions do reduce the filesize of images

Expose max_filesize logic to fetchart plugin

- Add syspath escaping for OS cross compatibility
- Return smaller PIL image even if max filesize not reached.
- Test resize logic against known smaller filesize (//2)
- Pass integer (not float) quality argument to PIL
- Remove Pillow from dependencies
- Implement "max_filesize" fetchart option, including
  logic to resize and rescale if maxwidth is also set.

Added tests & documentation for fetchart additions.

Tests now check that a target filesize is reached with a
higher initial quality (a difficult check to pass).

With a starting quality of 95% PIL takes 4 iterations to succeed
in lowering the example cover image to 90% its original size.
To cover all bases, the PIL loop has been changed to 5 iterations
in the worst case, and the documentation altered to reflect the
50% loss in quality this implies. This seems reasonable as users
concerned about performance would most likely be persuaded to
install ImageMagick, or remove the maximum filesize constraint.
The previous 30% figure was arbitrary.
2021-03-23 12:00:14 +01:00
Jack Wilsdon
01bc32e50e Allow equals within import --set value 2021-03-22 15:26:14 +00:00
Graham R. Cobb
341a0a0adf Added documentation and changelog for bareasc.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-15 15:34:58 +00:00
Graham R. Cobb
680ccdcd96 Documentation and changelog for web `readonly` option fixing #3870.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-11 23:09:51 +00:00
Adrian Sampson
84f6d374c4
Merge pull request #3869 from GrahamCobb/web-regex-fix
Web regex fix
2021-03-10 20:36:03 -05:00
Graham R. Cobb
75f331e64b Update changelog with web regex query backslash fix for #3867.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-08 17:08:36 +00:00
govynnus
debd382837
Merge pull request #3758 from beetbox/aura
AURA: Add aura plugin and docs
2021-03-08 07:24:53 +00:00
Adrian Sampson
1a2724c327
More changelog editing 2021-03-07 21:30:32 -05:00
Adrian Sampson
8cf46bce6d
A little more changelog stuff 2021-03-07 21:14:53 -05:00
Adrian Sampson
39e5972407
A little changelog editing 2021-03-07 19:54:42 -05:00
Adrian Sampson
3d1b421b97
Cursory changelog summary 2021-03-07 19:50:31 -05:00
Callum Brown
a24a094562 AURA: Small updates to docs and set server version 2021-03-07 18:24:57 +00:00
Adrian Sampson
09a6ec4f74
Merge branch 'master' into pr/item-album-fallback 2021-03-07 09:20:50 -05:00
Graham R. Cobb
c5556ff859 Changelog entry for fixing web include_paths artpath bug #3866
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-06 16:03:37 +00:00
Graham R. Cobb
d2a1251756 Drop changelog as requested by @sampsyo.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-05 22:42:27 +00:00
Graham R. Cobb
3846e3519d Update changelog to mention small test coverage improvement for web plugin.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-05 16:38:03 +00:00
Adrian Sampson
d226632eeb
Merge pull request #3863 from m0zes/trackdisambig
Add trackdisambig from musicbrainz.
2021-02-27 19:37:33 -05:00
Adam Tygart
ce78f75ce9 Further attempt to address the comments from sampsyo 2021-02-27 18:31:16 -06:00
Adam Tygart
1b1209a6c3 Add trackdisambig from musicbrainz.
fixes beetbox/beets#1904
2021-02-27 15:07:32 -06:00
George Rawlinson
00252ab28f
Fix #3608: Replace discogs-client with python3-discogs-client
discogs-client has been deprecated since June 2020, the replacement
is actively developed by the community and does not have any breaking
API changes.

Signed-off-by: George Rawlinson <george@rawlinson.net.nz>
2021-02-27 10:09:23 +13:00
Andrea Mistrali
af2229c1b7 Fix docs and changelog 2021-02-22 14:28:14 +01:00
Dorian Soergel
21f232ff70
Merge branch 'master' into beets_tag_hook 2021-02-06 15:10:31 +01:00
Samuel Cook
532ac7f291
Added entry in For packagers changelog section. 2021-01-28 09:42:58 -08:00
Samuel Cook
ff4cec2e69
Removes support for bs1770gain.
References in the documentation to this plugin were removed in
beetbox/beets#3127 (beetbox/beets#3130) but no actual code
changes were made.

This PR removes support for this dependency entirely.
2021-01-27 17:42:18 -08:00
John Hamelink
64944a284e
Added changelog entry for #3834 fix 2021-01-19 22:11:34 +00:00
wisp3rwind
f60ab5621a changelog spelling 2021-01-19 19:07:46 +01:00
Benedikt
6680f692f6
Merge pull request #3832 from vincentDcmps/master
Automatically choose subsonic authentication algorithm based on server version
2021-01-19 19:00:10 +01:00
vincent
2479edbe22 update changelog 2021-01-19 18:50:11 +01:00
Martin Haaß
9587caf916
convert: uses new par_map to work in parallel (#3830)
Squashed 5 commits:
* convert: uses new par_map to work in parallel
* linting
* code review: remove unneeded list syntax
* linting
* changelog addition
2021-01-19 18:47:02 +01:00
soergeld
93ebb9816d style 2021-01-09 16:58:35 +01:00
soergeld
79e5b89caf documentation and changelog 2021-01-09 16:54:14 +01:00
FichteFoll
5ace2b626b
Merge remote-tracking branch 'upstream/master' into pr/item-album-fallback 2021-01-08 18:47:18 +01:00
Dorian Soergel
5bddb6dddc
Merge branch 'master' into beets_500 2021-01-07 12:36:37 +01:00
Andrew Simmons
3117cc0d31 Update changelog 2021-01-06 10:52:18 -05:00
Auguste Olivry
a391740614 Update changelog 2021-01-05 14:25:57 +01:00
soergeld
67587850c9 changelog 2020-12-30 16:04:40 +01:00
ybnd
cc18beb12a Reference issue 2020-12-21 19:33:23 +01:00
ybnd
93101e7ea6 Disable replaygain parallelism during import 2020-12-21 19:19:20 +01:00
sentriz
95677c8626
lastgenre: Make TitleCasing optional 2020-12-15 23:37:16 +00:00
ybnd
e3205aacbd Merge remote-tracking branch 'origin/master' into parallel-replaygain 2020-12-14 22:19:28 +01:00
Adam Miller
e11687f80a keyfinder: Catch output from keyfinder-cli with no key 2020-12-07 22:04:05 -05:00
Adrian Sampson
9657919968
Merge pull request #3088 from rubdos/reflink
Add reflink option
2020-11-27 13:29:10 -05:00
FichteFoll
701cd6c42b
Merge remote-tracking branch 'upstream/master' into pr/item-album-fallback 2020-11-02 00:10:46 +01:00
Aidan Epstein
ceb046d60c Add musicbrainz genre config option. 2020-10-30 08:27:04 -07:00
Aidan Epstein
a79b239d4f Add musicbrainz genre config option. 2020-10-30 08:27:04 -07:00
Adrian Sampson
627005d4d1
Merge pull request #3774 from beetbox/normalize-str
Try normalizing the dbcore String type
2020-10-28 18:51:13 -04:00
Adrian Sampson
072e1dfead
Merge pull request #3781 from aereaux/add_genres
Add genre support using musicbrainz tags.
2020-10-28 18:51:01 -04:00
Adrian Sampson
8ac14a39b6
Merge branch 'master' into normalize-str 2020-10-28 15:44:13 -04:00
Adrian Sampson
be0003aba3
Merge pull request #3784 from jackwilsdon/fix-pil-image-quality
Fix PIL image quality
2020-10-28 15:16:59 -04:00
Jack Wilsdon
f2dabfef53
Fix PIL image quality 2020-10-28 18:15:29 +00:00
Aidan Epstein
d70287df00 Add genre support using musicbrainz tags.
This requires this PR: https://github.com/alastair/python-musicbrainzngs/pull/266
2020-10-28 09:49:06 -07:00
Adrian Sampson
2cbec2d838 Changelog entry 2020-10-26 20:25:25 -04:00
Jack Wilsdon
769e4246c1
Merge pull request #3765 from jackwilsdon/plugins-flag
Add --plugins flag
2020-10-25 16:39:46 +00:00
Adrian Sampson
374f211135 Merge pull request #3783 from Sudo-kun/feature/3569
Changed the phrasing asked in Issue 3569
2020-10-25 06:57:06 -04:00
Adrian Sampson
829d08d9b8 Fix some ReST syntax 2020-10-25 06:55:30 -04:00
Sudo-kun
272463aa4a Edited the changelog entry to contain the Issue number 2020-10-25 11:06:00 +01:00
Sudo-kun
e49ee7c686 Removed white-space sensitivity in the if-clause 2020-10-25 11:02:12 +01:00
Georg Schwitalla
e7013f9f6f Added the changelog 2020-10-24 13:34:23 +02:00
Georg Schwitalla
3c8afd9a0e Added the changelog entry 2020-10-24 13:07:27 +02:00
Jack Wilsdon
a9ba25439f
Add --plugins flag 2020-10-21 23:44:33 +01:00
Jack Wilsdon
d115f3679b
Remove LyricWiki source
LyricWiki was shut down on 2020/09/21 and no longer serves lyrics.
2020-10-05 22:15:40 +01:00
Curtis Rueden
f0ea9da7b2 In verbose mode, log when files are ignored 2020-10-05 12:27:00 -05:00
Sam Thursfield
d9582f4bea export: Add --format=jsonlines option
This adds support for the JSON Lines format as documented at
https://jsonlines.org/.

In this mode the data is output incrementally, whereas the other
modes load every item into memory and don't produce output until
the end.
2020-10-02 12:41:29 +02:00
Cadel Watson
3723f8a09f Update docs and changelog 2020-09-20 10:54:06 +10:00
Adrian Sampson
b659ad6b0c Merge pull request #3670 from wisp3rwind/pr_remove_select
Add possibility to select individual items to the remove CLI command
2020-09-13 20:55:53 -04:00
djl
33b10d60fb
fetchart: Improve Cover Art Archive source. (#3748)
* fetchart: Improve Cover Art Archive source.

Instead of blindly selecting the first image, we now treat all "front"
images as candidates.

This is useful where some digital releases have both an animated cover
and a still image and the animated image is the first image returned
from the API.
2020-09-13 20:27:12 +01:00
wisp3rwind
a8065ff3d6 update changelog 2020-09-13 14:26:39 +02:00
Jamie Quigley
e83959ab75
Add changelog item and merge if statements 2020-09-07 22:11:15 +01:00
jtpavlock
c9f59ee38d
Add broken link checker to integration test (#3703)
* fix broken links
* add link check command to tox
* add link check to the weekly integration test
2020-09-04 15:42:36 -05:00
Jef LeCompte
f2a4864ab0
Merge pull request #3731 from jef/jef/fix-subsonic 2020-09-04 08:06:55 -04:00
Jef LeCompte
3c8419dbe0
fix(plugin): subsonicupdate rest call
Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2020-09-04 00:51:03 -04:00
PotcFdk
2039f26f96 Update file metadata after generating fingerprintsthrough the submit command. 2020-08-26 13:36:40 +02:00
ybnd
f4db4ae1bf Re-add to changelog 2020-08-12 11:59:59 +02:00
ybnd
50757d34ad Fix conflicts 2020-08-12 11:42:18 +02:00
Aidan Epstein
fce27e6fa9 mpdstats: Don't record a skip when stopping MPD.
MPD keeps the current track in the queue when stopping, so it's not
really like a skip, and I use it so that I can stop the music, and later
start at the beginning of a track.

I do this by keeping track of the current song id, and then comparing
them when we receive a stop signal.
2020-08-10 07:07:17 -07:00
Samuel Cook
b89a2650cc
Delete after convert (#3700)
* If import move is true, files will be deleted after converting.
Fixes #2947

* Removed trailing whitespace to comply with W293, fixing build

* Add period to the end of the comment

Co-Authored-By: Adrian Sampson <adrian@radbox.org>

* Added changelog entry for this fix.

* Added delete_originals option to remove source files after transcode

* Added unit test, removed redundant syspath call

Co-authored-by: Logan Arens <logan-arens@users.noreply.github.com>
Co-authored-by: Logan Arens <heresmygithub@protonmail.com>
Co-authored-by: Adrian Sampson <adrian@radbox.org>
Co-authored-by: Logan Arens <logan.arens@protonmail.com>
2020-08-03 20:20:20 -05:00