Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.62.0 Release #3384

Merged
merged 36 commits into from
Aug 16, 2024
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
5e54822
Fix message search not showing results for new search terms (#3345)
laevandus Jul 30, 2024
a5692e3
[CI] Adjust sdk size report on release PRs (#3346)
testableapple Jul 30, 2024
8b2491f
[CI] Pass branch name to sdk size report (#3347)
testableapple Jul 30, 2024
a1644a7
Merge branch 'main' into develop
laevandus Jul 31, 2024
37d5d3b
[CI] Correctly retrieve a git branch on CI (#3349)
testableapple Jul 31, 2024
edbc5bd
[CI] Automate the merge of the release branches (#3350)
testableapple Aug 1, 2024
c4f28cd
Made loadBlockedUsers in ConnectedUser public (#3352)
martinmitrevski Aug 1, 2024
b559a99
[CI] Fix the merge release flow (#3354)
testableapple Aug 1, 2024
1c5e4c7
[CI] Enable workflow dispatch for release merge (#3356)
testableapple Aug 2, 2024
e7ed498
[CI] Sync Mock Server (#3358)
testableapple Aug 2, 2024
6a7eb0e
Fix rare crashes on logout by updating contexts after running batch d…
laevandus Aug 2, 2024
548aa55
Use background database observers for `CurrentUserController.currentU…
laevandus Aug 2, 2024
a64c8ab
Added cookbook for blocking users (#3359)
martinmitrevski Aug 5, 2024
c4f6688
[CI] Update gems (#3362)
testableapple Aug 6, 2024
c6bc553
Fix crash in MulticastDelegate caused by concurrent accesses (#3361)
laevandus Aug 7, 2024
9b92115
Remove obsoleted EntityDatabaseObserver and ListDatabaseObserver (#3…
laevandus Aug 7, 2024
4a61493
Removed Agora and 100ms related code (#3364)
martinmitrevski Aug 7, 2024
05c210b
Use DatabaseSession type in both database read wrappers. Fix an issue…
laevandus Aug 7, 2024
86c6a67
[CI] Rename bot on CI (#3368)
testableapple Aug 9, 2024
b31dd90
[CI] Rename metrics repo (#3370)
testableapple Aug 12, 2024
d40a2f3
Bump rexml from 3.2.9 to 3.3.3 (#3369)
dependabot[bot] Aug 12, 2024
16e9a99
[CI] Share fastlane lanes across platforms (#3371)
testableapple Aug 13, 2024
5f08900
[CI] Bump fastlane actions plugin (#3375)
testableapple Aug 13, 2024
ea4ae42
[CI] Bump fastlane plugin version (#3376)
testableapple Aug 13, 2024
6c19a98
Run offline state sync in the background (#3367)
laevandus Aug 14, 2024
f0d8ba5
Reuse CurrentChatUserController instead of recreating it when sending…
laevandus Aug 14, 2024
7d4ae94
Update channel type documentation to reflect allowed characters (#3377)
dfed Aug 14, 2024
54af4e0
[CI] Add space to SDK size badge (#3379)
testableapple Aug 14, 2024
e40df65
Fix reading the local database state just after the initial write (#3…
laevandus Aug 15, 2024
b161fc9
[CI] Set up a default base branch when automatically creating PRs (#3…
testableapple Aug 15, 2024
ea22002
Store pending message along with regular messages (#3378)
laevandus Aug 15, 2024
8c8db99
Bump 4.62.0
Aug 15, 2024
01fbe48
[CI] Fetch all branches on release (#3385)
testableapple Aug 16, 2024
37aefb6
[CI] Pull origin release branch on release
testableapple Aug 16, 2024
4f6ef05
[CI] Update git config on merging develop and release branches
testableapple Aug 16, 2024
a4e6ee3
[CI] Do not unshallow branches on CI
testableapple Aug 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 7 additions & 9 deletions .github/workflows/cron-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ name: Cron Checks

on:
schedule:
# Runs "At 03:00 every night"
- cron: '0 3 * * *'
# Runs "At 03:00 every night except weekends"
- cron: '0 3 * * 1-5'

workflow_dispatch:

Expand All @@ -13,6 +13,7 @@ concurrency:

env:
HOMEBREW_NO_INSTALL_CLEANUP: 1 # Disable cleanup for homebrew, we don't need it on CI
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build-test-app-and-frameworks:
Expand Down Expand Up @@ -59,7 +60,6 @@ jobs:
runs-on: ${{ matrix.os }}
env:
GITHUB_EVENT: ${{ toJson(github.event) }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }}
STREAM_DEMO_APP_SECRET: ${{ secrets.STREAM_DEMO_APP_SECRET }}
XCODE_VERSION: ${{ matrix.xcode }}
Expand Down Expand Up @@ -151,7 +151,6 @@ jobs:
fail-fast: false
runs-on: ${{ matrix.os }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
XCODE_VERSION: ${{ matrix.xcode }}
steps:
- uses: actions/checkout@v4.1.1
Expand Down Expand Up @@ -195,8 +194,11 @@ jobs:
runs-on: macos-12
env:
XCODE_VERSION: "14.0.1"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Connect Bot
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
- uses: actions/checkout@v4.1.1
- uses: ./.github/actions/ruby-cache
- name: List Xcode versions
Expand All @@ -207,10 +209,6 @@ jobs:
- name: Build UI
run: bundle exec fastlane test_ui device:"iPhone 8" build_for_testing:true
timeout-minutes: 25
- name: Install Bot SSH Key
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
- name: Build XCFrameworks
run: bundle exec fastlane build_xcframeworks
timeout-minutes: 25
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/release-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: "Merge release"

on:
issue_comment:
types: [created]

workflow_dispatch:

jobs:
merge-comment:
name: Merge release to main
runs-on: macos-14
if: github.event_name == 'workflow_dispatch' || (github.event.issue.pull_request && github.event.issue.state == 'open' && github.event.comment.body == '/merge release')
steps:
- name: Connect Bot
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}

- uses: actions/checkout@v4.1.1
with:
fetch-depth: 0

- uses: ./.github/actions/ruby-cache

- name: Merge
run: bundle exec fastlane merge_release_to_main author:"$USER_LOGIN" --verbose
env:
GITHUB_TOKEN: ${{ secrets.ADMIN_API_TOKEN }} # A token with the "admin:org" scope to get the list of the team members on GitHub
GITHUB_PR_NUM: ${{ github.event.issue.number }}
USER_LOGIN: ${{ github.event.comment.user.login != null && github.event.comment.user.login || github.event.sender.login }}
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,22 @@ jobs:
runs-on: macos-12
if: github.event.pull_request.merged == true # only merged pull requests must trigger this job
steps:
- name: Install Bot SSH Key
- name: Connect Bot
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}

- uses: actions/checkout@v4.1.1

- name: Extract version from branch name (for release branches)
if: startsWith(github.event.pull_request.head.ref, 'release/')
run: |
BRANCH_NAME="${{ github.event.pull_request.head.ref }}"
VERSION=${BRANCH_NAME#release/}
echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV

- uses: ./.github/actions/ruby-cache

- name: "Fastlane - Publish Release"
if: startsWith(github.event.pull_request.head.ref, 'release/')
env:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
name: Start new release
runs-on: macos-14
steps:
- name: Install Bot SSH Key
- name: Connect Bot
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/sdk-performance-metrics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ name: SDK Performance

on:
schedule:
# Runs "At 03:00 every night"
- cron: '0 3 * * *'
# Runs "At 03:00 every night except weekends"
- cron: '0 3 * * 1-5'

pull_request:
types:
Expand All @@ -22,7 +22,7 @@ jobs:
env:
GITHUB_TOKEN: '${{ secrets.CI_BOT_GITHUB_TOKEN }}'
steps:
- name: Install Bot SSH Key
- name: Connect Bot
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }}
uses: webfactory/ssh-agent@v0.7.0
with:
Expand All @@ -45,7 +45,6 @@ jobs:
timeout-minutes: 120
env:
GITHUB_PR_NUM: ${{ github.event.pull_request.number }}
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
APPSTORE_API_KEY: ${{ secrets.APPSTORE_API_KEY }}

Expand Down
8 changes: 1 addition & 7 deletions .github/workflows/sdk-size-metrics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
env:
GITHUB_TOKEN: '${{ secrets.CI_BOT_GITHUB_TOKEN }}'
steps:
- name: Install Bot SSH Key
- name: Connect Bot
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
Expand All @@ -28,16 +28,10 @@ jobs:

- uses: ./.github/actions/bootstrap

- name: Get branch name
id: get_branch_name
run: echo "branch=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT

- name: Run SDK Size Metrics
run: bundle exec fastlane show_frameworks_sizes
timeout-minutes: 30
env:
BRANCH_NAME: ${{ steps.get_branch_name.outputs.branch }}
GITHUB_PR_NUM: ${{ github.event.pull_request.number }}
GITHUB_EVENT_NAME: ${{ github.event_name }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
APPSTORE_API_KEY: ${{ secrets.APPSTORE_API_KEY }}
25 changes: 2 additions & 23 deletions .github/workflows/smoke-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ concurrency:
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1 # Disable cleanup for homebrew, we don't need it on CI
IOS_SIMULATOR_DEVICE: "iPhone 15 Pro (17.4)"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_NUM: ${{ github.event.pull_request.number }}

jobs:
build-test-app-and-frameworks:
Expand Down Expand Up @@ -48,8 +50,6 @@ jobs:
name: Automated Code Review
runs-on: macos-12
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_NUM: ${{ github.event.number }}
XCODE_VERSION: "14.0.1"
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
steps:
Expand All @@ -73,8 +73,6 @@ jobs:
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
env:
XCODE_VERSION: "14.0.1"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_NUM: ${{ github.event.number }}
steps:
- uses: actions/checkout@v4.1.1
- uses: ./.github/actions/ruby-cache
Expand All @@ -92,9 +90,6 @@ jobs:
runs-on: macos-14
if: ${{ github.event.inputs.snapshots != 'true' }}
needs: build-test-app-and-frameworks
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_NUM: ${{ github.event.number }}
steps:
- uses: actions/checkout@v4.1.1
with:
Expand All @@ -110,13 +105,9 @@ jobs:
- name: Run LLC Tests (Debug)
run: bundle exec fastlane test device:"${{ env.IOS_SIMULATOR_DEVICE }}" skip_build:true
timeout-minutes: 60
- name: Get branch name
id: get_branch_name
run: echo "branch=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT
- name: Run Sonar analysis
run: bundle exec fastlane sonar_upload
env:
BRANCH_NAME: ${{ steps.get_branch_name.outputs.branch }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
PR_NUMBER: ${{ github.event.number }}
Expand Down Expand Up @@ -165,7 +156,6 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }} # to open a PR
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} # to use github cli
GITHUB_PR_NUM: ${{ github.event.number }}
- name: Parse xcresult
if: failure()
run: |
Expand All @@ -192,8 +182,6 @@ jobs:
run: bundle exec fastlane allure_launch
env:
ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_NUM: ${{ github.event.number }}
GITHUB_EVENT: ${{ toJson(github.event) }}
- id: get_launch_id
run: echo "launch_id=${{env.LAUNCH_ID}}" >> $GITHUB_OUTPUT
Expand Down Expand Up @@ -230,15 +218,12 @@ jobs:
env:
XCODE_VERSION: "15.0.1" # the most stable pair of Xcode
IOS_SIMULATOR_DEVICE: "iPhone 15 Pro (17.0)" # and iOS
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_NUM: ${{ github.event.number }}
MATRIX_SIZE: ${{ strategy.job-total }}
STREAM_DEMO_APP_SECRET: ${{ secrets.STREAM_DEMO_APP_SECRET }}
- name: Allure TestOps Upload
if: env.LAUNCH_ID != '' && (success() || failure())
run: bundle exec fastlane allure_upload launch_id:$LAUNCH_ID
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }}
- name: Allure TestOps Launch Removal
if: env.LAUNCH_ID != '' && cancelled()
Expand All @@ -265,9 +250,6 @@ jobs:
runs-on: macos-14
needs: build-test-app-and-frameworks
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_NUM: ${{ github.event.number }}
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/download-artifact@v4
Expand Down Expand Up @@ -297,9 +279,6 @@ jobs:
runs-on: macos-14
needs: build-test-app-and-frameworks
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_NUM: ${{ github.event.number }}
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/download-artifact@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/testflight.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
deploy:
runs-on: macos-14
steps:
- name: Install Bot SSH Key
- name: Connect Bot
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ fastlane/allurectl
fastlane/xcresults
fastlane/recordings
fastlane/performance
fastlane/metrics
**/metrics/
StreamChatCore.framework.coverage.txt
StreamChatCoreTests.xctest.coverage.txt
vendor/bundle/
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

### 🔄 Changed

# [4.62.0](https://github.com/GetStream/stream-chat-swift/releases/tag/4.62.0)
_August 15, 2024_

## StreamChat
### ⚡ Performance
- Use background database observers for `CurrentUserController.currentUser`, `ChatChannelMemberListController.members`, and `ChatMessageController.message` which reduces CPU usage on the main thread [#3357](https://github.com/GetStream/stream-chat-swift/pull/3357)
- `CurrentChatUserController` was often recreated when sending typing events [#3372](https://github.com/GetStream/stream-chat-swift/pull/3372)
- Reduce latency of the `BackgroundDatabaseObserver` by reducing thread switching when handling changes [#3373](https://github.com/GetStream/stream-chat-swift/pull/3373)
### 🐞 Fixed
- Fix an issue where pending messages ([moderation feature](https://getstream.io/chat/docs/ios-swift/pending_messages/)) were not visible after returning to the channel [#3378](https://github.com/GetStream/stream-chat-swift/pull/3378)
- Fix rare crashes when deleting local database content on logout [#3355](https://github.com/GetStream/stream-chat-swift/pull/3355)
- Fix rare crashes in `MulticastDelegate` when accessing it concurrently [#3361](https://github.com/GetStream/stream-chat-swift/pull/3361)
- Fix reading the local database state just after the initial write [#3373](https://github.com/GetStream/stream-chat-swift/pull/3373)
- Fix a timing issue where accessing channels in `controllerWillChangeChannels` returned already changed channels [#3373](https://github.com/GetStream/stream-chat-swift/pull/3373)
### 🔄 Changed
- Made loadBlockedUsers in ConnectedUser public [#3352](https://github.com/GetStream/stream-chat-swift/pull/3352)
- Removed Agora and 100ms related code, the recommended way to support calls is to use StreamVideo [#3364](https://github.com/GetStream/stream-chat-swift/pull/3364)
- Run offline state sync in the background instead of pausing other API requests while it runs [#3367](https://github.com/GetStream/stream-chat-swift/pull/3367)

# [4.61.0](https://github.com/GetStream/stream-chat-swift/releases/tag/4.61.0)
_July 30, 2024_

Expand Down
Loading
Loading