1. 22 Jul, 2018 35 commits
    • Agate's avatar
      Fixed wrong title level in changelog · 3862034d
      Agate authored
      3862034d
    • Agate's avatar
      Added missing date in changelog · 6260ac64
      Agate authored
      6260ac64
    • Agate's avatar
      Merge tag '0.16' into develop · 6e9f40e3
      Agate authored
      0.16 (unreleased)
      -----------------
      
      Upgrade instructions are available at
      https://docs.funkwhale.audio/upgrading.html
      
      Features:
      
      - Complete redesign of the library home and playlist pages (#284)
      - Expose ActivityPub actors for users (#317)
      - Implemented a basic but functionnal Github-like search on federated tracks
        list (#344)
      - Internationalized interface as well as translations for Arabic, French,
        Esperanto, Italian, Occitan, Polish, Portuguese and Swedish (#161, #167)
      - Users can now upload an avatar in their settings page (#257)
      
      Enhancements:
      
      - Added feedback when creating/updating radio (#302)
      - Apply restrictions to username characters during signup
      - Autoselect best language based on browser configuration (#386)
      - Can now order tracks on federated track list (#326)
      - Can now relaunch pending import jobs from the web interface (#323)
      - Ensure we do not display pagination on single pages (#334)
      - Ensure we have sane defaults for MEDIA_ROOT, STATIC_ROOT and
        MUSIC_DIRECTORY_PATH in the deployment .env file (#350)
      - Make some space for the volume slider to allow precise control (#318)
      - Removed django-cacheops dependency
      - Store track artist and album artist separately (#237) Better handling of
        tracks with a different artist than the album artist
      - The navigation bar of Library is now fixed (#375)
      - Use thumbnails for avatars and covers to reduce bandwidth
      
      Bugfixes:
      
      - Ensure 750 permissions on CI artifacts (#332)
      - Ensure images are not cropped in queue (#337)
      - Ensure we do not import artists with empty names (#351)
      - Fix notifications not closing when clicking on the cross (#366)
      - Fix the most annoying offset in the whole fediverse (#369)
      - Fixed persistent message in playlist modal (#304)
      - Fixed unfiltered results in favorites API (#384)
      - Raise a warning instead of crashing when getting a broken path in file import
        (#138)
      - Remove parallelization of uploads during import to avoid crashing small
        servers (#382)
      - Subsonic API login is now case insensitive (#339)
      - Validate Date header in HTTP Signatures (#328)
      
      Documentation:
      
      - Added troubleshotting and technical overview documentation (#256)
      - Arch Linux installation steps
      - Document that users can use Ultrasonic on Android (#316)
      - Fixed a couple of typos
      - Some cosmetic improvements to the doc
      
      i18n:
      
      - Arabic translation (!302)
      - Polish translation (!304)
      
      Library home and playlist page overhaul
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      
      The library home page have been completely redesigned to include:
      
      - other users activity (listenings, playlists and favorites)
      - recently imported albums
      
      We think this new version showcases more music in a more useful way, let us know
      what you think about it!
      
      The playlist page have been updated as well.
      
      Internationalized interface
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
      
      After months of work, we're proud to announce our interface is now ready
      for internationalization.
      
      Translators have already started the work of translating Funkwhale in 8 different languages,
      and we're ready to add more as needed.
      
      You can easily get involved at https://translate.funkwhale.audio/engage/funkwhale/
      
      Better handling of tracks with a different artist than the album artist
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      
      Some tracks involve a different artist than the album artist (e.g. a featuring)
      and Funkwhale has been known to do weird things when importing such tracks, resulting
      in albums that contained a single track, for instance.
      
      The situation should be improved with this release, as Funkwhale is now able to
      store separately the track and album artist, and display it properly in the interface.
      
      Users now have an ActivityPub Actor [Manual action required]
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      
      In the process of implementing federation for user activity such as listening
      history, we are now making user profiles (a.k.a. ActivityPub actors) available through federation.
      
      This does not means the federation is working, but this is a needed step to implement it.
      
      Those profiles will be created automatically for new users, but you have to run a command
      to create them for existing users.
      
      On docker setups::
      
          docker-compose run --rm api python manage.py script create_actors --no-input
      
      On non-docker setups::
      
          python manage.py script create_actors --no-input
      
      This should only take a few seconds to run. It is safe to interrupt the process or rerun it multiple times.
      
      Image thumbnails [Manual action required]
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      
      To reduce bandwidth usage on slow or limited connexions and improve performance
      in general, we now use smaller images in the front-end. For instance, if you have
      an album cover with a 1000x1000 pixel size, we will create smaller
      versions of this image (50x50, 200x200, 400x400) and reference those resized version
      when we don't actually need the original image.
      
      Thumbnail will be created automatically for new objects, however, you have
      to launch a manual command to deal with existing ones.
      
      On docker setups::
      
          docker-compose run --rm api python manage.py script create_image_variations --no-input
      
      On non-docker setups::
      
          python manage.py script create_image_variations --no-input
      
      This should be quite fast but may take up to a few minutes depending on the number
      of albums you have in database. It is safe to interrupt the process or rerun it multiple times.
      
      Improved search on federated tracks list
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      
      Having a powerful but easy-to-use search is important but difficult to achieve, especially
      if you do not want to have a real complex search interface.
      
      Github does a pretty good job with that, using a structured but simple query system
      (See https://help.github.com/articles/searching-issues-and-pull-requests/#search-only-issues-or-pull-requests).
      
      This release implements a limited but working subset of this query system. You can use it only on the federated
      tracks list (/manage/federation/tracks) at the moment, but depending on feedback it will be rolled-out on other pages as well.
      
      This is the type of query you can run:
      
      - ``hello world``: search for "hello" and "world" in all the available fields
      - ``hello in:artist`` search for results where artist name is "hello"
      - ``spring in:artist,album`` search for results where artist name or album title contain "spring"
      - ``artist:hello`` search for results where artist name equals "hello"
      - ``artist:"System of a Down" domain:instance.funkwhale`` search for results where artist name equals "System of a Down" and inside "instance.funkwhale" library
      
      Ensure MEDIA_ROOT, STATIC_ROOT and MUSIC_DIRECTORY_* are set explicitely [Manual action required]
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      
      In our default .env file, MEDIA_ROOT and STATIC_ROOT were commented by default, causing
      some deployment issues on non-docker setups when people forgot to uncomment them.
      
      From now on, those variables are uncommented, and will also be used on docker setups
      to mount the volumes automatically in the docker-compose.yml file. This has been a source
      of headache as well in some deployments, where you had to update both the .env file and
      the compose file.
      
      This also applies to in-place paths (MUSIC_DIRECTORY_PATH and MUSIC_DIRECTORY_SERVE_PATH),
      whose values are now used directly to set up the proper Docker volumes.
      
      This will only affect new deployments though. If you want to benefit from this on an
      existing instance, do a backup of your ``.env`` and ``docker-compose.yml`` files and apply the following changes:
      
      - Ensure ``MEDIA_ROOT`` is uncommented in your .env file and match the absolute path where media files are stored
        on your host (``/srv/funkwhale/data/media`` by default)
      - Ensure ``STATIC_ROOT`` is uncommented in your .env file and match the absolute path where static files are stored
        on your host (``/srv/funkwhale/data/static`` by default)
      - If you use in-place import:
          - Ensure MUSIC_DIRECTORY_PATH is uncommented and set to ``/music``
          - Ensure MUSIC_DIRECTORY_SERVE_PATH is uncommented and set to the absolute path on your host were your music files
            are stored (``/srv/funkwhale/data/music`` by default)
      - Edit your docker-compose.yml file to reflect the changes:
          - Search for volumes (there should be two occurences) that contains ``/app/funkwhale_api/media`` on the right side, and
            replace the whole line with ``- "${MEDIA_ROOT}:${MEDIA_ROOT}"``
          - Search for a volume that contains ``/app/staticfiles`` on the right side, and
            replace the whole line with ``- "${STATIC_ROOT}:${STATIC_ROOT}"``
          - If you use in-place import, search for volumes (there should be two occurences) that contains ``/music:ro`` on the right side, and
            replace the whole line with ``- "${MUSIC_DIRECTORY_SERVE_PATH}:${MUSIC_DIRECTORY_PATH}:ro"``
      
      In the end, the ``volumes`` directives of your containers should look like that::
      
          ...
          celeryworker
            volumes:
              - "${MUSIC_DIRECTORY_SERVE_PATH}:${MUSIC_DIRECTORY_PATH}:ro"
              - "${MEDIA_ROOT}:${MEDIA_ROOT}"
          ...
          api:
            volumes:
              - "${MUSIC_DIRECTORY_SERVE_PATH}:${MUSIC_DIRECTORY_PATH}:ro"
              - "${MEDIA_ROOT}:${MEDIA_ROOT}"
              - "${STATIC_ROOT}:${STATIC_ROOT}"
              - ./front/dist:/frontend
          ...
      
      Removed Cacheops dependency
      ---------------------------
      
      We removed one of our dependency named django-cacheops. It was unly used in a few places,
      and not playing nice with other dependencies.
      
      You can safely remove this dependency in your environment with ``pip uninstall django-cacheops`` if you're
      not using docker.
      
      You can also safely remove any ``CACHEOPS_ENABLED`` setting from your environment file.
      6e9f40e3
    • Agate's avatar
      Merge branch 'release/0.16' · f3ce4f44
      Agate authored
      f3ce4f44
    • Agate's avatar
      Version bump and changelog for 0.16 · c70a50c8
      Agate authored
      c70a50c8
    • Agate's avatar
      Merge branch 'translations-integration' into 'develop' · 436f11a8
      Agate authored
      Translations integration
      
      See merge request funkwhale/funkwhale!348
      436f11a8
    • Agate's avatar
      Translations integration · 5fd4322d
      Agate authored
      5fd4322d
    • Agate's avatar
      Merge branch 'missing-changelog-fragments' into 'develop' · 65eb74c9
      Agate authored
      More changelog for some important features
      
      See merge request funkwhale/funkwhale!347
      65eb74c9
    • Agate's avatar
      More changelog for some important features · c92af1f4
      Agate authored
      c92af1f4
    • Agate's avatar
      Merge branch '386-detect-language' into 'develop' · 4346d617
      Agate authored
      Resolve "Detect user language from browser"
      
      Closes #386
      
      See merge request funkwhale/funkwhale!346
      4346d617
    • Agate's avatar
    • Agate's avatar
      Merge branch 'translations-integration' into 'develop' · b58da3e9
      Agate authored
      Translations integration
      
      See merge request funkwhale/funkwhale!345
      b58da3e9
    • Agate's avatar
      Translations integration · bb67340e
      Agate authored
      bb67340e
    • Agate's avatar
      Merge branch 'a-an-library' into 'develop' · 6fa89d46
      Agate authored
      Fix a small grammatical error
      
      See merge request funkwhale/funkwhale!344
      6fa89d46
    • Baptiste Gelez's avatar
      Fix a small grammatical error · da447f40
      Baptiste Gelez authored
      da447f40
    • Agate's avatar
      Merge branch 'translation-catalog-2' into 'develop' · d0d0655a
      Agate authored
      Translation catalog 2
      
      See merge request funkwhale/funkwhale!343
      d0d0655a
    • Agate's avatar
      Extracted new translations · da269d43
      Agate authored
      da269d43
    • Agate's avatar
      Added new locales · 1bce0c32
      Agate authored
      1bce0c32
    • Agate's avatar
      Added link to help translate in the footer · a0a98a1a
      Agate authored
      a0a98a1a
    • Agate's avatar
      Merge branch 'translations-integration' into 'develop' · d7c16b83
      Agate authored
      Translations integration
      
      See merge request funkwhale/funkwhale!342
      d7c16b83
    • Agate's avatar
      Translations integration · cfd42289
      Agate authored
      cfd42289
    • Agate's avatar
      Merge branch 'fixed-top-bar-2' into 'develop' · 8a88b4cc
      Agate authored
      Fixed duplicated/wrong scoped CSS
      
      See merge request funkwhale/funkwhale!341
      8a88b4cc
    • Agate's avatar
      Fixed duplicated/wrong scoped CSS · a58b9c3e
      Agate authored
      a58b9c3e
    • Agate's avatar
      Merge branch 'username-validation' into 'develop' · 1a1572f7
      Agate authored
      Apply restrictions to username characters during signup
      
      See merge request funkwhale/funkwhale!340
      1a1572f7
    • Agate's avatar
      ba76fe9f
    • Agate's avatar
      Merge branch 'fixed-top-bar' into 'develop' · dcd33693
      Agate authored
      Fixed top bar
      
      Closes #369 and #375
      
      See merge request funkwhale/funkwhale!330
      dcd33693
    • Renon's avatar
      Fix #369 and #375: library menu is now fixed · a467e400
      Renon authored
      a467e400
    • Agate's avatar
      Merge branch '323-relaunch-pending-job' into 'develop' · f12c1050
      Agate authored
      Resolve "Allow relaunching of pending import jobs"
      
      Closes #323
      
      See merge request funkwhale/funkwhale!339
      f12c1050
    • Agate's avatar
      Merge branch '317-user-actors' into 'develop' · 08c26f3e
      Agate authored
      Resolve "Have an actor for our users"
      
      Closes #317
      
      See merge request funkwhale/funkwhale!338
      08c26f3e
    • Agate's avatar
      Resolve "Have an actor for our users" · 6b16a8b9
      Agate authored
      6b16a8b9
    • Agate's avatar
    • Agate's avatar
      Merge branch '384-favorites' into 'develop' · c335e4d2
      Agate authored
      Resolve "1200 Favorites"
      
      Closes #384
      
      See merge request funkwhale/funkwhale!337
      c335e4d2
    • Agate's avatar
      Fixed #384: unfiltered results in favorites API · 25755ad3
      Agate authored
      25755ad3
    • Agate's avatar
      Merge branch '149-better-demo' into 'develop' · f9dbda83
      Agate authored
      Resolve "Improve the demo catalog"
      
      Closes #149
      
      See merge request funkwhale/funkwhale!336
      f9dbda83
    • Agate's avatar
      Fix #149: better demo setup script, wider catalog · b3ae2040
      Agate authored
      b3ae2040
  2. 21 Jul, 2018 5 commits