Merge branch 'master' into develop
This commit is contained in:
commit
d3e36c169b
32
CHANGELOG
32
CHANGELOG
|
@ -10,6 +10,38 @@ This changelog is viewable on the web at https://docs.funkwhale.audio/changelog.
|
||||||
|
|
||||||
.. towncrier
|
.. 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)
|
0.21.1 (2020-06-11)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
__version__ = "0.21.1"
|
__version__ = "0.21.2"
|
||||||
__version_info__ = tuple(
|
__version_info__ = tuple(
|
||||||
[
|
[
|
||||||
int(num) if num.isdigit() else num
|
int(num) if num.isdigit() else num
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed invalid metadata when importing multi-artists tracks/albums (#1104)
|
|
|
@ -1 +0,0 @@
|
||||||
Can now filter subscribed content through API (#1116)
|
|
|
@ -1 +0,0 @@
|
||||||
Use role=alert on forms/toast message to improve accessibility (#1134)
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed wrong covert art displaying in some situations (#1138)
|
|
|
@ -1 +0,0 @@
|
||||||
Support ordering=random for artists, albums, tracks and channels endpoints (#1145)
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed player crash when using Funkwhale as a PWA (#1157)
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed crash when loading recent albums via Subsonic (#1158)
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed crash with null help text in admin (#1161)
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed broken mimetype detection during import (#1165)
|
|
|
@ -1 +0,0 @@
|
||||||
Fix embedded player not working on channel serie/album (#1175)
|
|
|
@ -1 +0,0 @@
|
||||||
Added a new ?related=obj_id filter for artists, albums and tracks, based on tags
|
|
|
@ -25,7 +25,13 @@ info:
|
||||||
Authentication
|
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.
|
You can use our demo server at `https://demo.funkwhale.audio` for testing purposes.
|
||||||
|
|
||||||
|
@ -142,26 +148,30 @@ components:
|
||||||
scopes:
|
scopes:
|
||||||
"read": "Read-only access to all user data"
|
"read": "Read-only access to all user data"
|
||||||
"write": "Write-only access on 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: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"
|
"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"
|
"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"
|
"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:
|
jwt:
|
||||||
type: http
|
type: http
|
||||||
scheme: bearer
|
scheme: bearer
|
||||||
|
@ -195,7 +205,7 @@ paths:
|
||||||
post:
|
post:
|
||||||
tags:
|
tags:
|
||||||
- "Auth and security"
|
- "Auth and security"
|
||||||
description:
|
summary:
|
||||||
Register an OAuth application
|
Register an OAuth application
|
||||||
security: []
|
security: []
|
||||||
responses:
|
responses:
|
||||||
|
@ -225,32 +235,15 @@ paths:
|
||||||
type: "string"
|
type: "string"
|
||||||
summary: "A list of scopes requested by your app, separated by spaces"
|
summary: "A list of scopes requested by your app, separated by spaces"
|
||||||
example: "read write:playlists write:favorites"
|
example: "read write:playlists write:favorites"
|
||||||
/api/v1/token/:
|
/api/v1/oauth/token/:
|
||||||
post:
|
post:
|
||||||
tags:
|
tags:
|
||||||
- "Auth and security"
|
- "Auth and security"
|
||||||
summary: Get an API token
|
summary:
|
||||||
description:
|
Request an OAuth bearer token in exchange of an authorization_code or a refresh_token
|
||||||
Obtain a JWT token you can use for authenticating your next requests.
|
|
||||||
security: []
|
security: []
|
||||||
responses:
|
responses:
|
||||||
'200':
|
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"
|
|
||||||
|
|
||||||
/api/v1/auth/registration/:
|
/api/v1/auth/registration/:
|
||||||
post:
|
post:
|
||||||
|
|
Loading…
Reference in New Issue