Merge branch 'master' into develop

This commit is contained in:
Agate 2020-07-27 11:22:45 +02:00
commit d3e36c169b
14 changed files with 65 additions and 51 deletions

View File

@ -10,6 +10,38 @@ This changelog is viewable on the web at https://docs.funkwhale.audio/changelog.
.. towncrier
0.21.2 (2020-07-27)
-------------------
Upgrade instructions are available at
https://docs.funkwhale.audio/index.html
Enhancements:
- Added a new ?related=obj_id filter for artists, albums and tracks, based on tags
- Can now filter subscribed content through API (#1116)
- Support ordering=random for artists, albums, tracks and channels endpoints (#1145)
- Use role=alert on forms/toast message to improve accessibility (#1134)
Bugfixes:
- Fix embedded player not working on channel serie/album (#1175)
- Fixed broken mimetype detection during import (#1165)
- Fixed crash when loading recent albums via Subsonic (#1158)
- Fixed crash with null help text in admin (#1161)
- Fixed invalid metadata when importing multi-artists tracks/albums (#1104)
- Fixed player crash when using Funkwhale as a PWA (#1157)
- Fixed wrong covert art displaying in some situations (#1138)
- Make channel card updated times more humanly readable, add internationalization (#1089)
Contributors to this release (development, documentation, reviews):
- Agate
- Bheesham Persaud
- Ciarán Ainsworth
0.21.1 (2020-06-11)
-------------------

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
__version__ = "0.21.1"
__version__ = "0.21.2"
__version_info__ = tuple(
[
int(num) if num.isdigit() else num

View File

@ -1 +0,0 @@
Fixed invalid metadata when importing multi-artists tracks/albums (#1104)

View File

@ -1 +0,0 @@
Can now filter subscribed content through API (#1116)

View File

@ -1 +0,0 @@
Use role=alert on forms/toast message to improve accessibility (#1134)

View File

@ -1 +0,0 @@
Fixed wrong covert art displaying in some situations (#1138)

View File

@ -1 +0,0 @@
Support ordering=random for artists, albums, tracks and channels endpoints (#1145)

View File

@ -1 +0,0 @@
Fixed player crash when using Funkwhale as a PWA (#1157)

View File

@ -1 +0,0 @@
Fixed crash when loading recent albums via Subsonic (#1158)

View File

@ -1 +0,0 @@
Fixed crash with null help text in admin (#1161)

View File

@ -1 +0,0 @@
Fixed broken mimetype detection during import (#1165)

View File

@ -1 +0,0 @@
Fix embedded player not working on channel serie/album (#1175)

View File

@ -1 +0,0 @@
Added a new ?related=obj_id filter for artists, albums and tracks, based on tags

View File

@ -25,7 +25,13 @@ info:
Authentication
--------------
To authenticate, use OAuth. You can register your own app using the `/apps` endpoint and proceed to the OAuth flow afterwards.
To authenticate, use OAuth. You can register your own app using the `/api/v1/oauth/apps/` endpoint. Proceed to the standard OAuth flow afterwards:
- Our authorize URL is at `/authorize`
- Our token acquisition and refresh URL is at `/api/v1/oauth/token`
- The list of supported scopes is available by clicking the `Authorize` button in the Swagger UI documentation
- Use `urn:ietf:wg:oauth:2.0:oob` as your redirect URI if you want the user to get a copy-pastable authorization code
- At the moment, endpoints that deal with admin or moderator-level content are not accessible via OAuth, only through the Web UI
You can use our demo server at `https://demo.funkwhale.audio` for testing purposes.
@ -142,26 +148,30 @@ components:
scopes:
"read": "Read-only access to all user data"
"write": "Write-only access on all user data"
"read:profile": "Read-only access to profile data"
"read:libraries": "Read-only access to library and uploads"
"read:playlists": "Read-only access to playlists"
"read:listenings": "Read-only access to listening history"
"read:favorites": "Read-only access to favorites"
"read:radios": "Read-only access to radios"
"read:edits": "Read-only access to edits"
"read:notifications": "Read-only access to notifications"
"read:follows": "Read-only to follows"
"read:filters": "Read-only to to content filters"
"write:profile": "Write-only access to profile data"
"write:libraries": "Write-only access to libraries"
"write:playlists": "Write-only access to playlists"
"write:follows": "Write-only access to follows"
"write:favorites": "Write-only access to favorits"
"write:notifications": "Write-only access to notifications"
"write:radios": "Write-only access to radios"
"write:edits": "Write-only access to edits"
"read:favorites": "Read-only access to favorites"
"write:favorites": "Write-only access to favorits"
"read:filters": "Read-only to to content filters"
"write:filters": "Write-only access to content-filters"
"read:follows": "Read-only to follows"
"write:follows": "Write-only access to follows"
"read:libraries": "Read-only access to library and uploads"
"write:libraries": "Write-only access to libraries"
"read:listenings": "Read-only access to listening history"
"write:listenings": "Write-only access to listening history"
"read:notifications": "Read-only access to notifications"
"write:notifications": "Write-only access to notifications"
"read:playlists": "Read-only access to playlists"
"write:playlists": "Write-only access to playlists"
"read:profile": "Read-only access to profile data"
"write:profile": "Write-only access to profile data"
"read:radios": "Read-only access to radios"
"write:radios": "Write-only access to radios"
"read:reports": "Read-only access to reports"
"write:reports": "Write-only access to reports"
"read:security": "Read-only access security settings"
"write:security": "write-only access security settings"
jwt:
type: http
scheme: bearer
@ -195,7 +205,7 @@ paths:
post:
tags:
- "Auth and security"
description:
summary:
Register an OAuth application
security: []
responses:
@ -225,32 +235,15 @@ paths:
type: "string"
summary: "A list of scopes requested by your app, separated by spaces"
example: "read write:playlists write:favorites"
/api/v1/token/:
/api/v1/oauth/token/:
post:
tags:
- "Auth and security"
summary: Get an API token
description:
Obtain a JWT token you can use for authenticating your next requests.
summary:
Request an OAuth bearer token in exchange of an authorization_code or a refresh_token
security: []
responses:
'200':
description: Successfull auth
'400':
description: Invalid credentials
requestBody:
required: true
content:
application/json:
schema:
type: "object"
properties:
username:
type: "string"
example: "demo"
password:
type: "string"
example: "demo"
200:
/api/v1/auth/registration/:
post: