Production release 4.0.0
Prerequisites
- [x] bump web
- [x] bump reva
- [x] create RC tag https://github.com/opencloud-eu/opencloud/releases/tag/4.0.0-rc.1
- [x] update introductionVersion - https://github.com/opencloud-eu/opencloud/issues/1920
- [x] add new production version - https://github.com/opencloud-eu/opencloud/pull/1941
Breaking change
QA Phase
-
[x] Compatibility test between 2.0.5 and 4.0.0 with decomposed fs
-
[x] Compatibility test between 2.0.5 and 4.0.0 with posix fs
-
[x] Performance test @fschade
- [x] STORAGE_USERS_DRIVER=posix
- [x] 75vu's, 60m
- [x] 750vu's, 60m
- [x] decomposed
- [x] 75vu's, 60m
- [x] 750vu's, 60m
- [x] STORAGE_USERS_DRIVER=posix
-
[x] Documentation test
- [x] Review documentation
- [x] Verify all new features documented @Svanvith @Heiko-Pohl https://docs.opencloud.eu/docs/admin/welcome/features
- [x] Create upgrade documentation @Svanvith @Heiko-Pohl https://github.com/opencloud-eu/docs/pull/527
- [x] Check installation guides https://docs.opencloud.eu/docs/admin/getting-started @phil-davis
-
[x] e2e tests with different storage
- [x]
decomposedautomated see opencloud CI need run with [decomposed] tag - see here https://github.com/opencloud-eu/opencloud/pull/1917 - [x]
decomposeds3@ScharfViktor - running localyOC_BASE_URL=cloud.opencloud.test RETRY=1 HEADLESS=true PARALLEL=2 pnpm test:e2e:cucumber tests/e2e/cucumber/features/{a11y,admin-settings,file-action,journeys,navigation,search,shares,smoke,spaces,user-settings} - [x]
posixautomated see opencloud CI - [x]
posixwatch_fs enabled automated see opencloud CI
- [x]
-
[x] Different deployments methods
- [x] e2e tests agains opencloud-charts @saw-jan
- [x] docker use https://github.com/opencloud-eu/qa/blob/main/.github/ISSUE_TEMPLATE/docker-compose_test_plan_template.md @ScharfViktor @schweigisito
- [x] binary @phil-davis do the testing docs - smoke test
- [x] multitanacy @ScharfViktor
-
[x] different clients
- [x] desktop
- [x] desktop linux run auto test @saw-jan
- [x] desktop linux exploratory testing @jnweiger
- [x] desktop mac exploratory testing @ScharfViktor
- [x]
android@jnweiger - [x]
iosexploratory testing @ScharfViktor
- [x] desktop
-
[x] check docs german translation @jnweiger
- [x] german translations desktop at 100%
- [x] added ca. 80 strings to french desktop translations; 12 remaining (beyond me)
-
[x] exploratory testing @jnweiger
Collected bugs
Issues seen in opencloud (3.7.0)
- [ ] https://github.com/opencloud-eu/opencloud/issues/1794
- [x] https://github.com/opencloud-eu/opencloud/issues/1833
- [ ] https://github.com/opencloud-eu/opencloud/issues/1834
- [ ] https://github.com/opencloud-eu/opencloud/issues/1847
- [x] https://github.com/opencloud-eu/web/issues/1617
- [x] https://github.com/opencloud-eu/opencloud/issues/1862
- [ ] https://github.com/opencloud-eu/opencloud/issues/1865
- [ ] #1907
- [ ] https://github.com/opencloud-eu/opencloud/issues/1933
- [x] https://github.com/opencloud-eu/opencloud/issues/1942
Issues seen in Web UI (3.7.0)
- [ ] https://github.com/opencloud-eu/web/issues/1608
- [ ] https://github.com/opencloud-eu/web/issues/1598
- [x] https://github.com/opencloud-eu/web/issues/1579
- [x] https://github.com/opencloud-eu/web/issues/1578
- [ ] https://github.com/opencloud-eu/web/issues/1630
- [x] https://github.com/opencloud-eu/web/issues/1635
- [ ] https://github.com/opencloud-eu/web/issues/1675
Issues seen in Desktop Client (3.0.0.1834 ... 1976)
- [x] https://github.com/opencloud-eu/desktop/issues/645
- [x] https://github.com/opencloud-eu/desktop/issues/646
- [ ] https://github.com/opencloud-eu/desktop/issues/647
- [x] https://github.com/opencloud-eu/desktop/issues/648
- [ ] https://github.com/opencloud-eu/desktop/issues/651
- [x] https://github.com/opencloud-eu/desktop/issues/652
- [x] https://github.com/opencloud-eu/desktop/issues/653
- [ ] https://github.com/opencloud-eu/desktop/issues/654
- [x] https://github.com/opencloud-eu/desktop/issues/655
- [x] https://github.com/opencloud-eu/desktop/issues/656
- [x] https://github.com/opencloud-eu/desktop/issues/657
- [ ] https://github.com/opencloud-eu/desktop/issues/678
- [x] https://github.com/opencloud-eu/desktop/issues/679
- [x] https://github.com/opencloud-eu/desktop/issues/681
- [ ] https://github.com/opencloud-eu/desktop/issues/703
- [ ] https://github.com/opencloud-eu/desktop/issues/704
- [x] https://github.com/opencloud-eu/desktop/issues/706
- [x] https://github.com/opencloud-eu/desktop/issues/707
- [x] https://github.com/opencloud-eu/desktop/issues/708
- [ ] https://github.com/opencloud-eu/desktop/issues/714
Issues seen in Android (1.0.0)
- [ ] https://github.com/opencloud-eu/opencloud/issues/1848
- [ ] https://github.com/opencloud-eu/android/issues/39
After QA Phase ( IT releated )
- [x] bump version in
pkg/version.go - [x] Run CI
- [x] create final tag
v4.0.0 - [x] observe CI Run on tag
- [x] Merge Release branch into
main - [x] Create
stable-4.0branch https://github.com/opencloud-eu/opencloud/tree/stable-4.0 - [x] publish release notes to the docs https://github.com/opencloud-eu/docs/pull/542
- [x] update demo.opencloud.eu
- [x] ~~update
opencloudversion in the bare metal install~~ not needed. It finds automatically new version
After QA Phase ( Marketing / Product / Sales related )
-
[ ] notify marketing that the release is ready @tbsbdr
-
[ ] announce in the public matrix channel
-
[ ] press information @AnneGo137
- [ ] Social Media @AnneGo137
- [ ] Blogentry @AnneGo137
- [ ] Internal meeting (Groupe Pre-Webinar) @db-ot
- [ ] Partner briefing (Partner should be informed about features, new) @Matthias
-
[ ] Webinar DE & EN @AnneGo137
- [ ] Präsentation DE @tbsbdr / @db-ot
- [ ] Präsentation EN @tbsbdr / @db-ot
-
[ ] Website ergänzen @AnneGo137
- [ ] Features @AnneGo137
- [ ] Service & Support - New Enterprise Features @tbsbdr
- [ ] OpenCloud_Benefits.pdf updates @AnneGo137
- [ ] Welcome Files: Features as media [@tbsbdr
-
[ ] Flyer update @AnneGo137
-
[ ] Sales presentation @Matthias
Was it planned that the 4.0.0-rc1 was published over the rolling release channel? If it was, would it be possible to add a "stable" or "full-release" tag to the channel? Within github 4.0.0-rc1 is marked as a "pre-release" candidate, while on docker hub you don't differentiate. Maybe even use GHCR so that you don't have to change that much.
Thanks for bringing this up!
We intentionally publish release candidates with the -rc suffix so it’s clear that these builds are not meant for production use. The 4.0.0-rc.1 image was pushed for testing, and the suffix should help differentiate it from stable releases.
Thanks for the reminder as well — I’ll post an announcement in the public channel about the testing phase.
OpenCloud Compose Test Plan — Checklist https://github.com/opencloud-eu/qa/blob/main/.github/ISSUE_TEMPLATE/docker-compose_test_plan_template.md
1. Basic Deployment Tests
- [x] Test 1.1: Minimal OpenCloud with Traefik
2. Web Office Integration Tests
- [x] Test 2.1: OpenCloud with Collabora Online
3. Identity Management Tests
- [x] Test 3.1: OpenCloud with Keycloak and LDAP
- [ ] Test 3.2: OpenCloud with External IDP (Auto-provisioning)
4. Storage Backend Tests
- [x] Test 4.1: OpenCloud with S3 Storage (MinIO)
5. Search Integration Tests
- [x] Test 5.1: OpenCloud with Apache Tika Full-Text Search
6. Monitoring Tests
- [x] Test 6.1: OpenCloud with Monitoring Enabled
7. Calendar/Contacts Integration Tests
- [x] Test 7.1: OpenCloud with Radicale
8. External Proxy Tests (nginx)
- [x] Test 8.1: OpenCloud with External Proxy
- [x] Test 8.2: Collabora with External Proxy
9. SSL/TLS Configuration Tests
- [ ] Test 9.1: Let's Encrypt Certificate Configuration
- [ ] Test 9.2: Custom Certificate Configuration (Development)
10. Additional Services Tests
- [x] Test 10.1: Email Notifications with SMTP
- [x] Test 10.2: Antivirus Scanning with ClamAV
- [x] Test 10.3: Demo Users Creation
11. Complex Integration Tests
- [ ] Test 11.1: Full Production Stack
- [ ] Test 11.2: High Availability Test (Collaboration Scaling)
12. Persistence and Data Integrity Tests
- [ ] Test 12.1: Data Persistence with Docker Volumes
- [ ] Test 12.2: Data Persistence with Host Paths
13. Logging and Debugging Tests
- [ ] Test 13.1: Log Driver Configuration
- [ ] Test 13.2: Traefik Dashboard and Access Logs
14. Security Tests
- [ ] Test 14.1: INSECURE Flag Impact
- [ ] Test 14.2: Password Policy Enforcement
- [ ] Test 14.3: Public Share Password Requirements
15. Upgrade and Migration Tests
- [ ] Test 15.1: Version Upgrade Test
- [ ] Test 15.2: Rolling vs Production Image Switch
16. DNS Resolution Tests
- [ ] Test 16: DNS Resolution Between Services