Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-2.1-rc0
authorlain <lain@soykaf.club>
Wed, 26 Aug 2020 11:17:39 +0000 (13:17 +0200)
committerlain <lain@soykaf.club>
Wed, 26 Aug 2020 11:17:39 +0000 (13:17 +0200)
1  2 
.gitlab-ci.yml
CHANGELOG.md

diff --combined .gitlab-ci.yml
index 9e5d659f227bdd36b1f0756f2f82d14ecc26b38d,1b494ac2dd88cc2911ac0a2f8ee216d46f341030..dc953a9291802571bbb021c7b43e5c72b9187bb1
@@@ -65,21 -65,19 +65,21 @@@ unit-testing
      - mix ecto.migrate
      - mix coveralls --preload-modules
  
 -federated-testing:
 -  stage: test
 -  cache: *testing_cache_policy
 -  services:
 -  - name: minibikini/postgres-with-rum:12
 -    alias: postgres
 -    command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
 -  script:
 -    - mix deps.get
 -    - mix ecto.create
 -    - mix ecto.migrate
 -    - epmd -daemon
 -    - mix test --trace --only federated
 +# Removed to fix CI issue. In this early state it wasn't adding much value anyway.
 +# TODO Fix and reinstate federated testing
 +# federated-testing:
 +#   stage: test
 +#   cache: *testing_cache_policy
 +#   services:
 +#   - name: minibikini/postgres-with-rum:12
 +#     alias: postgres
 +#     command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
 +#   script:
 +#     - mix deps.get
 +#     - mix ecto.create
 +#     - mix ecto.migrate
 +#     - epmd -daemon
 +#     - mix test --trace --only federated
  
  unit-testing-rum:
    stage: test
@@@ -282,6 -280,8 +282,8 @@@ docker
      IMAGE_TAG_SLUG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
      IMAGE_TAG_LATEST: $CI_REGISTRY_IMAGE:latest
      IMAGE_TAG_LATEST_STABLE: $CI_REGISTRY_IMAGE:latest-stable
+     DOCKER_BUILDX_URL: https://github.com/docker/buildx/releases/download/v0.4.1/buildx-v0.4.1.linux-amd64
+     DOCKER_BUILDX_HASH: 71a7d01439aa8c165a25b59c44d3f016fddbd98b
    before_script: &before-docker
      - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
      - docker pull $IMAGE_TAG_SLUG || true
      - export CI_VCS_REF=$CI_COMMIT_SHORT_SHA
    allow_failure: true
    script:
-     - docker build --cache-from $IMAGE_TAG_SLUG --build-arg VCS_REF=$CI_VCS_REF --build-arg BUILD_DATE=$CI_JOB_TIMESTAMP -t $IMAGE_TAG -t $IMAGE_TAG_SLUG -t $IMAGE_TAG_LATEST .
-     - docker push $IMAGE_TAG
-     - docker push $IMAGE_TAG_SLUG
-     - docker push $IMAGE_TAG_LATEST
+     - mkdir -p /root/.docker/cli-plugins
+     - wget "${DOCKER_BUILDX_URL}" -O ~/.docker/cli-plugins/docker-buildx
+     - echo "${DOCKER_BUILDX_HASH}  /root/.docker/cli-plugins/docker-buildx" | sha1sum -c
+     - chmod +x ~/.docker/cli-plugins/docker-buildx
+     - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+     - docker buildx create --name mbuilder --driver docker-container --use
+     - docker buildx inspect --bootstrap
+     - docker buildx build --platform linux/amd64,linux/arm/v7,linux/arm64/v8 --push --cache-from $IMAGE_TAG_SLUG --build-arg VCS_REF=$CI_VCS_REF --build-arg BUILD_DATE=$CI_JOB_TIMESTAMP -t $IMAGE_TAG -t $IMAGE_TAG_SLUG -t $IMAGE_TAG_LATEST .
    tags:
      - dind
    only:
@@@ -307,10 -311,14 +313,14 @@@ docker-stable
    before_script: *before-docker
    allow_failure: true
    script:
-     - docker build --cache-from $IMAGE_TAG_SLUG --build-arg VCS_REF=$CI_VCS_REF --build-arg BUILD_DATE=$CI_JOB_TIMESTAMP -t $IMAGE_TAG -t $IMAGE_TAG_SLUG -t $IMAGE_TAG_LATEST_STABLE .
-     - docker push $IMAGE_TAG
-     - docker push $IMAGE_TAG_SLUG
-     - docker push $IMAGE_TAG_LATEST_STABLE
+     - mkdir -p /root/.docker/cli-plugins
+     - wget "${DOCKER_BUILDX_URL}" -O ~/.docker/cli-plugins/docker-buildx
+     - echo "${DOCKER_BUILDX_HASH}  /root/.docker/cli-plugins/docker-buildx" | sha1sum -c
+     - chmod +x ~/.docker/cli-plugins/docker-buildx
+     - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+     - docker buildx create --name mbuilder --driver docker-container --use
+     - docker buildx inspect --bootstrap
+     - docker buildx build --platform linux/amd64,linux/arm/v7,linux/arm64/v8 --push --cache-from $IMAGE_TAG_SLUG --build-arg VCS_REF=$CI_VCS_REF --build-arg BUILD_DATE=$CI_JOB_TIMESTAMP -t $IMAGE_TAG -t $IMAGE_TAG_SLUG -t $IMAGE_TAG_LATEST_STABLE .
    tags:
      - dind
    only:
@@@ -325,9 -333,15 +335,15 @@@ docker-release
    before_script: *before-docker
    allow_failure: true
    script:
-     - docker build --cache-from $IMAGE_TAG_SLUG --build-arg VCS_REF=$CI_VCS_REF --build-arg BUILD_DATE=$CI_JOB_TIMESTAMP -t $IMAGE_TAG -t       $IMAGE_TAG_SLUG .
-     - docker push $IMAGE_TAG
-     - docker push $IMAGE_TAG_SLUG
+   script:
+     - mkdir -p /root/.docker/cli-plugins
+     - wget "${DOCKER_BUILDX_URL}" -O ~/.docker/cli-plugins/docker-buildx
+     - echo "${DOCKER_BUILDX_HASH}  /root/.docker/cli-plugins/docker-buildx" | sha1sum -c
+     - chmod +x ~/.docker/cli-plugins/docker-buildx
+     - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+     - docker buildx create --name mbuilder --driver docker-container --use
+     - docker buildx inspect --bootstrap
+     - docker buildx build --platform linux/amd64,linux/arm/v7,linux/arm64/v8 --push --cache-from $IMAGE_TAG_SLUG --build-arg VCS_REF=$CI_VCS_REF --build-arg BUILD_DATE=$CI_JOB_TIMESTAMP -t $IMAGE_TAG -t $IMAGE_TAG_SLUG .
    tags:
      - dind
    only:
diff --combined CHANGELOG.md
index 8f6afe7a642b711741d9b273232a3765b640c39f,d0eba0f79f64bff24c7af8a52e039128d053d7b6..36db4a6eca282f0ee9531d86a7a019adec350b41
@@@ -3,7 -3,7 +3,7 @@@ All notable changes to this project wil
  
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
  
 -## [unreleased]
 +## [2.1.0] - 2020-08-28
  
  ### Changed
  
@@@ -36,6 -36,7 +36,7 @@@
  - Mastodon API: Add `pleroma.unread_count` to the Marker entity.
  - Mastodon API: Added `pleroma.metadata.post_formats` to /api/v1/instance
  - Mastodon API (legacy): Allow query parameters for `/api/v1/domain_blocks`, e.g. `/api/v1/domain_blocks?domain=badposters.zone`
+ - Mastodon API: Make notifications about statuses from muted users and threads read automatically
  - Pleroma API: `/api/pleroma/captcha` responses now include `seconds_valid` with an integer value.
  
  </details>
  - Migrations not working on OTP releases if the database was connected over ssl
  - Fix relay following
  
 -## [Unreleased (patch)]
 +## [2.0.7] - 2020-06-13
 +
 +### Security
 +- Fix potential DoSes exploiting atom leaks in rich media parser and the `UserAllowListPolicy` MRF policy
 +
 +### Fixed
 +- CSP: not allowing images/media from every host when mediaproxy is disabled
 +- CSP: not adding mediaproxy base url to image/media hosts
 +- StaticFE missing the CSS file
 +
 +### Upgrade notes
 +
 +1. Restart Pleroma
 +
 +## [2.0.6] - 2020-06-09
 +
 +### Security
 +- CSP: harden `image-src` and `media-src` when MediaProxy is used
  
  ### Fixed
 +- AP C2S: Fix pagination in inbox/outbox
 +- Various compilation errors on OTP 23
 +- Mastodon API streaming: Repeats from muted threads not being filtered
 +
 +### Changed
 +- Various database performance improvements
 +
 +### Upgrade notes
 +1. Run database migrations (inside Pleroma directory):
 +  - OTP: `./bin/pleroma_ctl migrate`
 +  - From Source: `mix ecto.migrate`
 +2. Restart Pleroma
 +
 +## [2.0.5] - 2020-05-13
 +
 +### Security
 +- Fix possible private status leaks in Mastodon Streaming API
 +
 +### Fixed
 +- Crashes when trying to block a user if block federation is disabled
 +- Not being able to start the instance without `erlang-eldap` installed
 +- Users with bios over the limit getting rejected
 +- Follower counters not being updated on incoming follow accepts
 +
 +### Upgrade notes
 +
 +1. Restart Pleroma
 +
 +## [2.0.4] - 2020-05-10
 +
 +### Security
 +- AP C2S: Fix a potential DoS by creating nonsensical objects that break timelines
 +
 +### Fixed
 +- Peertube user lookups not working
 +- `InsertSkeletonsForDeletedUsers` migration failing on some instances
  - Healthcheck reporting the number of memory currently used, rather than allocated in total
 -- `InsertSkeletonsForDeletedUsers` failing on some instances
 +- LDAP not being usable in OTP releases
 +- Default apache configuration having tls chain issues
 +
 +### Upgrade notes
 +
 +#### Apache only
 +
 +1. Remove the following line from your config:
 +```
 +    SSLCertificateFile      /etc/letsencrypt/live/${servername}/cert.pem
 +```
 +
 +#### Everyone
 +
 +1. Restart Pleroma
  
  ## [2.0.3] - 2020-05-02
  
  - Follow request notifications
  <details>
    <summary>API Changes</summary>
 -
  - Admin API: `GET /api/pleroma/admin/need_reboot`.
  </details>
  
  - Static-FE: Fix remote posts not being sanitized
  
  ### Fixed
 +=======
 +- Rate limiter crashes when there is no explicitly specified ip in the config
  - 500 errors when no `Accept` header is present if Static-FE is enabled
  - Instance panel not being updated immediately due to wrong `Cache-Control` headers
  - Statuses posted with BBCode/Markdown having unncessary newlines in Pleroma-FE