Skip to content

Commit 5b2a11f

Browse files
Release OpenProject 12.0.6
2 parents ca3de6b + d25d600 commit 5b2a11f

File tree

31 files changed

+342
-81
lines changed

31 files changed

+342
-81
lines changed

app/controllers/admin/settings/general_settings_controller.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ module Admin::Settings
3232
class GeneralSettingsController < ::Admin::SettingsController
3333
menu_item :settings_general
3434

35+
def show
36+
super
37+
@guessed_host = request.host_with_port.dup
38+
end
39+
3540
def default_breadcrumb
3641
t(:label_general)
3742
end

app/models/users/scopes/having_reminder_mail_to_send.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ def local_time_join(local_times)
6969
# * reminders are enabled
7070
# * any of the configured reminder time is the local time
7171
# * the local workday is enabled to receive a reminder on
72-
# If no time zone is present, utc is assumed.
72+
# If no time zone is present or if it is blank, the configured default time zone or UTC is assumed.
7373
# If no reminder settings are present, sending a reminder at 08:00 local time is assumed.
74-
# If no workdays are specified, 1 - 5 is assumed which is represents Monday to Friday.
74+
# If no workdays are specified, 1 - 5 is assumed which represents Monday to Friday.
7575
times_sql = arel_table
7676
.grouping(Arel::Nodes::ValuesList.new(local_times))
7777
.as('t(today_local, hours, zone, workday)')
@@ -80,7 +80,7 @@ def local_time_join(local_times)
8080

8181
<<~SQL.squish
8282
JOIN (SELECT * FROM #{times_sql.to_sql}) AS local_times
83-
ON COALESCE(user_preferences.settings->>'time_zone', #{default_timezone}, 'Etc/UTC') = local_times.zone
83+
ON COALESCE(NULLIF(user_preferences.settings->>'time_zone',''), #{default_timezone}, 'Etc/UTC') = local_times.zone
8484
AND (
8585
user_preferences.settings->'workdays' @> to_jsonb(local_times.workday)
8686
OR (

app/workers/announcements/scheduler_job.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class SchedulerJob < ::ApplicationJob
3131
queue_with_priority :low
3232

3333
def perform(**announcement)
34-
User.active.find_each do |user|
34+
User.admin.active.find_each do |user|
3535
AnnouncementMailer
3636
.announce(user, **announcement)
3737
.deliver_later

app/workers/backup_job.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,23 +161,27 @@ def create_backup_archive!(file_name:, db_dump_file_name:, attachments: attachme
161161
zipfile.get_output_stream("openproject.sql") { |f| f.write File.read(db_dump_file_name) }
162162
end
163163

164-
# delete locally cached files that were downloaded just for the backup
165-
paths_to_clean.each do |path|
166-
FileUtils.rm_rf path
167-
end
164+
remove_paths! paths_to_clean # delete locally cached files that were downloaded just for the backup
168165

169166
@archived = true
170167

171168
file_name
172169
end
173170

171+
def remove_paths!(paths)
172+
paths.each do |path|
173+
FileUtils.rm_rf path
174+
end
175+
end
176+
174177
def get_cache_folder_path(attachment)
175178
# expecting paths like /tmp/op_uploaded_files/1639754082-3468-0002-0911/file.ext
176179
# just making extra sure so we don't delete anything wrong later on
177180
unless attachment.diskfile.path =~ /#{attachment.file.cache_dir}\/[^\/]+\/[^\/]+/
178181
raise "Unexpected cache path for attachment ##{attachment.id}: #{attachment.diskfile}"
179182
end
180183

184+
# returning parent as each cached file is in a separate folder which shall be removed too
181185
Pathname(attachment.diskfile.path).parent.to_s
182186
end
183187

docs/installation-and-operations/installation-faq/README.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,18 @@ Another approach would be to restart OpenProject completely, especially after ch
129129

130130
This will be done automatically in case the package based installation is used.
131131

132+
133+
134+
### The packaged installation cannot be installed or upgraded due to errors. What could cause them?
135+
136+
For packaged installations, the openproject package behaves just like every other system package (dpkg or rpm packages, depending on your distribution). If you encounter errors while trying to install or upgrade, please check the following pieces of information first.
137+
138+
1. You have enough free space available on `/opt` or your root `/` partition. Verify that `df -h` has at least a few GB of free space.
139+
2. You have enough inodes on your partitions left. Verify with `df -i` . As OpenProject packages contains a high number of files, these might cause problems with low free inode counts.
140+
3. Make sure you do not have a virus scanner such as Sophos or other pieces of software blocking the installation of packages.
141+
142+
143+
132144
### After upgrading I receive the error message "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." What does that mean?
133145

134146
For some updates of OpenProject, the database layout needs to be adapted to support new features and fix bugs. These changes need to be carried out as part of the update process. This is why it is important to always run `sudo openproject configure`as part of the update process.
@@ -148,6 +160,8 @@ Mind, that repository integration in the sense that you will be able to checkout
148160

149161
### How can I uninstall OpenProject (Community Edition or Enterprise on-premises)?
150162

151-
The package based installation is intended to be run on a dedicated system. Dedicated in this case means that no other application software should be served by the server. The system can be either physical or virtual. Removing OpenProject is then equivalent with removing that system.
163+
The package based installation is intended to be run on a dedicated system. Dedicated in this case means that no other application software should be served by the server. The system can be either physical or virtual. Removing OpenProject is then equivalent with removing that system or docker instances.
164+
152165
In case the database is stored on a different system, e.g. within a database cluster, it needs to be removed separately. The database URL can be found within the OpenProject installation, via `openproject config:get DATABASE_URL`.
166+
153167
In case the attachments are stored on a different system, e.g. on an NFS or on S3, they also need to be removed separately.

docs/installation-and-operations/operation/upgrading/README.md

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,25 @@ sidebar_navigation:
77
# Upgrading your OpenProject installation
88

99
<div class="alert alert-warning" role="alert">
10-
**Note**: In the rest of this guide, we assume that you have taken the necessary steps to [backup](../backing-up) your OpenProject installation before upgrading.
10+
**Note**: We strongly recommend that you have backed up your installation before upgrading OpenProject to a newer version, especially when performing multiple upgrades at once. Please follow the [backup](../backing-up) instructions.
1111
</div>
1212

1313
| Topic | Content |
1414
| ------------------------------------------------------------ | ----------------------------------------------------------- |
1515
| [Package-based installation](#package-based-installation-debrpm) | How to upgrade a package-based installation of OpenProject. |
1616
| [Docker-based installation](#compose-based-installation) | How to upgrade a Docker-based installation of OpenProject. |
17+
| [Upgrade notes to 12.x](#upgrade-notes-to-12x) | How to upgrade from OpenProject 9.x or greater to OpenProject 12.x. |
1718
| [Upgrade notes for 8.x to 9.x](#upgrade-notes-for-8x-to-9x) | How to upgrade from OpenProject 8.x to OpenProject 9.x. |
1819
| [Upgrade notes for 7.x to 8.x](#upgrade-notes-for-openproject-7x-to-8x) | How to upgrade from OpenProject 7.x to OpenProject 8.x. |
1920

2021
## Package-based installation (DEB/RPM)
2122

22-
Upgrading OpenProject is as easy as installing a newer OpenProject package and
23-
running the `openproject configure` command.
23+
This section concerns upgrading of your OpenProject installation for packaged-based installation methods.
2424

25-
<div class="alert alert-info" role="alert">
26-
27-
Please note that the package-based installation uses different release channels for each MAJOR version of OpenProject. This means that if you want to switch from (e.g.) 9.x to 10.x, you will need to perform the steps described in the [installation section](../../installation/packaged) to update your package sources to point to the newer release channel. The rest of this section is only applicable if you want to upgrade a (e.g.) 10.x version to a 10.y version.
28-
29-
</div>
25+
### Patch and minor releases
26+
Upgrading to a newer patch or minor version of OpenProject is as easy as installing a newer OpenProject package and
27+
running the `openproject configure` command.
28+
Please follow the steps listed below according to your Linux distribution.
3029

3130
### Debian / Ubuntu
3231

@@ -51,8 +50,34 @@ sudo zypper update openproject
5150
sudo openproject configure
5251
```
5352

53+
### Major upgrades
54+
55+
OpenProject uses a different package repository for each Major version of OpenProject.
56+
This means that if you want to switch from (e.g.) OpenProject 11.x to 12.x, you will need to explicitly update your package source to be able to install the newer versions.
57+
58+
The necessary steps are the same as setting up the package source for the first time. You can also check the [installation guide](../../installation/packaged) for more information. Please follow the link below to see the appropriate steps for your Linux distribution.
59+
60+
| Distribution (64 bits only) |
61+
| ------------------------------------------- |
62+
| [Ubuntu 20.04 Focal](../../installation/packaged/#ubuntu-2004) |
63+
| [Ubuntu 18.04 Bionic Beaver](../../installation/packaged/#ubuntu-1804) |
64+
| [Ubuntu 16.04 Xenial Xerus](../../installation/packaged/#ubuntu-1604) |
65+
| [Debian 11 Bullseye](../../installation/packaged/#debian-11) |
66+
| [Debian 10 Buster](../../installation/packaged/#debian-10) |
67+
| [Debian 9 Stretch](../../installation/packaged/#debian-9) |
68+
| [CentOS/RHEL 8.x](../../installation/packaged/#centos-8--rhel-8) |
69+
| [CentOS/RHEL 7.x](../../installation/packaged/#centos-7--rhel-7) |
70+
| [Suse Linux Enterprise Server 12](../../installation/packaged/#sles-12) |
71+
72+
After following the steps to update the package source, updating the openproject package and running `openproject configure`, your system will be up to date.
73+
74+
In case you experience issues, please note the exact steps you took, copy the output of all commands you ran and open a post in our [installation support forum](https://community.openproject.org/projects/openproject/forums/9).
75+
76+
77+
### Running openproject configure
78+
79+
It is important that you run the `openproject configure` command after _every_ upgrade of OpenProject, as this will ensure your installation is being updated and necessary database migrations are being performed.
5480

55-
<div class="alert alert-info" role="alert">
5681
Using `openproject configure`, the wizard will display new steps that weren't available yet or had not been configured in previous installations.
5782

5883
If you want to perform changes to your configuration or are unsure what steps are available, you can safely run `openproject reconfigure` to walk through the entire configuration process again.
@@ -124,6 +149,13 @@ sudo chown -R 102 /volume1/openproject/*
124149
After that it's simply a matter of launching the new container mounted with the copied `pgdata` and `assets` folders
125150
as described in the [installation section](../../installation/docker/#one-container-per-process-recommended).
126151

152+
## Upgrade notes to 12.x
153+
154+
There are no special steps or caveats when upgrading to OpenProject 12.x or higher from any version greater than 9.x.
155+
156+
Simply follow the upgrade steps outlined above for your type of installation.
157+
158+
127159
## Upgrade notes for 8.x to 9.x
128160

129161
These following points are some known issues regarding the update to 9.0.

docs/release-notes/12-0-5/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,25 @@ The release contains several bug fixes and we recommend updating to the newest v
1616
<!--more-->
1717
#### Bug fixes and changes
1818

19+
- Fixed: Uploaded IFC Model can't be set as Standard Model \[[#40187](https://community.openproject.com/wp/40187)\]
20+
- Fixed: Git "View Differences" results in 500 error in Repository module. \[[#40191](https://community.openproject.com/wp/40191)\]
21+
- Fixed: Impossible to identify errors when bulk moving / updating project \[[#40265](https://community.openproject.com/wp/40265)\]
22+
- Fixed: wrong position of "slice edit" - context menu \[[#40282](https://community.openproject.com/wp/40282)\]
23+
- Fixed: Incorrect label causes screenreader problems \[[#40296](https://community.openproject.com/wp/40296)\]
24+
- Fixed: Member updated mails cannot be surpressed \[[#40316](https://community.openproject.com/wp/40316)\]
25+
- Fixed: Try to open OpenProject API: Failed to load API definition. \[[#40352](https://community.openproject.com/wp/40352)\]
26+
- Fixed: Remote attachments cache isn't cleared \[[#40356](https://community.openproject.com/wp/40356)\]
27+
- Fixed: Form configuration query can not be edited if invalid \[[#40374](https://community.openproject.com/wp/40374)\]
28+
- Fixed: Seeding with relative URL root creates invalid welcome text \[[#40376](https://community.openproject.com/wp/40376)\]
29+
- Fixed: Users created from synchronized group have no notification settings \[[#40433](https://community.openproject.com/wp/40433)\]
30+
- Fixed: Unpaginated api/v3/relations end point \[[#40434](https://community.openproject.com/wp/40434)\]
31+
- Fixed: Header-based SSO does not allow entering missing attributes \[[#40511](https://community.openproject.com/wp/40511)\]
32+
33+
#### Contributions
34+
A big thanks to community members for reporting bugs and helping us identifying and providing fixes.
35+
36+
Special thanks for reporting and finding bugs go to
37+
38+
Valentin Ege, Rene Diekstra, Jonas Plum, Frank Schmid
39+
40+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: OpenProject 12.0.6
3+
sidebar_navigation:
4+
title: 12.0.6
5+
release_version: 12.0.6
6+
release_date: 2022-01-17
7+
---
8+
9+
# OpenProject 12.0.6
10+
11+
Release date: 2022-01-17
12+
13+
We released [OpenProject 12.0.6](https://community.openproject.com/versions/1504).
14+
The release contains several bug fixes and we recommend updating to the newest version.
15+
16+
<!--more-->
17+
#### Bug fixes and changes
18+
19+
- Fixed: Notification center empty state showing during loading \[[#39828](https://community.openproject.com/wp/39828)\]
20+
- Fixed: Notification images are cached for years without invalidation means - old images shown \[[#40143](https://community.openproject.com/wp/40143)\]
21+
- Fixed: Memory leak in work package split screen \[[#40164](https://community.openproject.com/wp/40164)\]
22+
- Fixed: Check and update the notifications API documentation \[[#40196](https://community.openproject.com/wp/40196)\]
23+
- Fixed: 429 OK Error on Administration > Users \[[#40213](https://community.openproject.com/wp/40213)\]
24+
- Fixed: Disable send_notifications on instantiating new project from template \[[#40348](https://community.openproject.com/wp/40348)\]
25+
- Fixed: Frontend including editor and time logging unusable when there are many activities \[[#40373](https://community.openproject.com/wp/40373)\]
26+
- Fixed: no "Example" for Host name in "Administration->General" \[[#40396](https://community.openproject.com/wp/40396)\]
27+
- Fixed: Don't receive email reminder \[[#40512](https://community.openproject.com/wp/40512)\]
28+
- Fixed: Only last N projects available for parent project selection \[[#40580](https://community.openproject.com/wp/40580)\]
29+
- Fixed: Change labels in Russian (expletive) \[[#40581](https://community.openproject.com/wp/40581)\]
30+
- Fixed: Dropdown menu of parent child board not showing all WPs \[[#40647](https://community.openproject.com/wp/40647)\]
31+
- Fixed: Backup feature does not work with relative URL root \[[#40656](https://community.openproject.com/wp/40656)\]
32+
33+
#### Contributions
34+
A big thanks to community members for reporting bugs and helping us identifying and providing fixes.
35+
36+
Special thanks for reporting and finding bugs go to
37+
38+
Artur Neumann, Christina Vechkanova, George Plant

docs/release-notes/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ Stay up to date and get an overview of the new features included in the releases
1616
<!--- New release notes are generated below. Do not remove comment. -->
1717
<!--- RELEASE MARKER -->
1818

19+
## 12.0.6
20+
21+
Release date: 2022-01-17
22+
23+
[Release Notes](12-0-6/)
24+
25+
1926
## 12.0.5
2027

2128
Release date: 2022-01-11

docs/system-admin-guide/authentication/saml/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ saml:
4646
icon: "auth_provider-saml.png"
4747

4848
# omniauth-saml config
49-
assertion_consumer_service_url: "https:/<YOUR OPENPROJECT HOSTNAME>/auth/saml/callback"
49+
assertion_consumer_service_url: "https://<YOUR OPENPROJECT HOSTNAME>/auth/saml/callback"
5050
issuer: "https://<YOUR OPENPROJECT HOSTNAME>"
5151

5252
# IF your SSL certificate on your SSO is not trusted on this machine, you need to add it here

0 commit comments

Comments
 (0)