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

[milestone/12.2] Milestone 12.2 #1327

Merged
merged 22 commits into from
May 8, 2024
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
0293edc
- update SDK to develop branch to include important fixes
felix-schwarz Feb 5, 2024
bd5ba14
- normalize .strings files to UTF-8
felix-schwarz Mar 26, 2024
9d99e14
- add normalize-strings GitHub action
felix-schwarz Mar 26, 2024
3a8fe02
- test automatic .strings conversion from UTF-16 to UTF-8
felix-schwarz Mar 26, 2024
06f33d2
- normalize-strings: change macos runner version in an attempt to fix…
felix-schwarz Mar 26, 2024
221fa07
Normalized Localizable.strings encoding (UTF-8)
felix-schwarz Mar 26, 2024
f387e8b
[feature/better-sidebar] Improved sidebar with account-wide search (#…
felix-schwarz Apr 11, 2024
f0399b0
[feature/password-policy] Password Policy support (#1325)
felix-schwarz Apr 12, 2024
53cea50
- add change log entries for milestone/12.2
felix-schwarz Apr 22, 2024
f6d4597
Calens changelog updated
felix-schwarz Apr 22, 2024
3d5b438
- add 12.2 to CHANGELOG.md once again
felix-schwarz Apr 22, 2024
3f9ebb4
Calens changelog updated
felix-schwarz Apr 22, 2024
0a30336
- add changelog entries for 2.2.0 in changelog dir
felix-schwarz Apr 22, 2024
87783f0
- fix changelog/12.2.0* files to match format expected by calens
felix-schwarz Apr 22, 2024
5ef6d1a
- further changes to changelog/12.2.0* to match calens expected format
felix-schwarz Apr 22, 2024
243a551
Calens changelog updated
felix-schwarz Apr 22, 2024
0942617
- add in-app release notes for v12.2
felix-schwarz Apr 22, 2024
9964556
- update SDK to fix an issue arising from Available Offline policies …
felix-schwarz Apr 24, 2024
f70b560
[feature/privacy-manifests] Add required privacy manifests (#1348)
felix-schwarz Apr 24, 2024
2261013
- bump version to 12.2 and build number to 289
felix-schwarz Apr 25, 2024
74e9492
Configuration documentation updated
felix-schwarz Apr 25, 2024
d0ee7ed
updated App Store release notes
hosy Apr 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

jobs:
build:
runs-on: macos-latest
runs-on: macos-13
name: Normalize .strings file encoding
steps:
- uses: actions/checkout@v2
Expand Down
79 changes: 79 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Table of Contents

* [Changelog for 12.2.0](#changelog-for-owncloud-ios-client-1220-2024-04-23)
* [Changelog for 12.1.0](#changelog-for-owncloud-ios-client-1210-2024-01-29)
* [Changelog for 12.0.3](#changelog-for-owncloud-ios-client-1203-2023-08-31)
* [Changelog for 12.0.2](#changelog-for-owncloud-ios-client-1202-2023-06-23)
Expand All @@ -22,6 +23,84 @@
* [Changelog for 11.5.1](#changelog-for-owncloud-ios-client-1151-2021-02-17)
* [Changelog for 11.5.0](#changelog-for-owncloud-ios-client-1150-2021-02-10)
* [Changelog for 11.4.5 versions and below](#changelog-for-1145-versions-and-below)
# Changelog for ownCloud iOS Client [12.2.0] (2024-04-23)
The following sections list the changes in ownCloud iOS Client 12.2.0 relevant to
ownCloud admins and users.

[12.2.0]: https://github.com/owncloud/ios-app/compare/milestone/12.1.0...milestone/12.2.0

## Summary

* Bugfix - Fix cleanup of Available Offline policies targeting unavailable spaces: [#1343](https://github.com/owncloud/ios-app/pull/1343)
* Change - Add required privacy manifests: [#1348](https://github.com/owncloud/ios-app/pull/1348)
* Enhancement - Improved sidebar with account-wide search: [#1320](https://github.com/owncloud/ios-app/pull/1320)
* Enhancement - Password Policy support: [#1325](https://github.com/owncloud/ios-app/pull/1325)

## Details

* Bugfix - Fix cleanup of Available Offline policies targeting unavailable spaces: [#1343](https://github.com/owncloud/ios-app/pull/1343)

Fixes an issue arising from Available Offline policies targeting unavailable or
detached spaces and removes the respective policies, preventing continued
retries for files from inaccessible or removed spaces.

https://github.com/owncloud/ios-app/pull/1343

* Change - Add required privacy manifests: [#1348](https://github.com/owncloud/ios-app/pull/1348)

Adds the [privacy
manifest](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api?language=objc)
[required by Apple starting May 1,
2024](https://developer.apple.com/news/?id=3d8a9yyh) to the app and upgrades
`krzyzanowskim/OpenSSL` to
[3.1.5001](https://github.com/krzyzanowskim/OpenSSL/releases/tag/3.1.5001) to
include a privacy manifest as [also required by
Apple](https://developer.apple.com/support/third-party-SDK-requirements/).

https://github.com/owncloud/ios-app/pull/1348

* Enhancement - Improved sidebar with account-wide search: [#1320](https://github.com/owncloud/ios-app/pull/1320)

This PR: - removes `Quick Access` from the sidebar, redistributing its prior
contents as follows: - `Recents`: promoted to a top-level sidebar item -
`Favorites`: promoted to a top-level sidebar item - `Available Offline`:
promoted to a top-level sidebar item - other Quick Access items: moved as
suggestions to new top-level sidebar `Search` item, with a dedicated `Add to
sidebar` button that allows re-adding the previous Quick Access items as saved
search - Saved searches now appear as top-level items in the sidebar - adds
custom user sidebar items - can be added via `Add to sidebar` - support drag and
drop (also cross-account) - managed via context menu, swipe and `Remove from
sidebar` actions - in the share extension automatically connects to the first
account if only one account is in the account (superseding
[#1296](https://github.com/owncloud/ios-app/pull/1296)) - incorporates the
latest SDK with important fixes

https://github.com/owncloud/ios-app/pull/1320

* Enhancement - Password Policy support: [#1325](https://github.com/owncloud/ios-app/pull/1325)

This PR implements password policy support throughout the iOS client app,
including: - an extensible password policy system based on rules, policies and
validation reports with verbose error reporting for - characters and [character
sets](https://developer.apple.com/documentation/foundation/nscharacterset) -
lengths - byte counts - the generation of password policies based on server
capabilities - a default password policy for servers that do not provide a
password policy - a password generator based on password policy rules using
"[cryptographically secure random
bytes](https://developer.apple.com/documentation/security/1399291-secrandomcopybytes)"
- a password composer for entering, editing and generating passwords with
instant rule verification and feedback - one-tap password generation based on a
server's password policy within Public Link creation - sharing of combined
public link URL and password to the clipboard, Messages, Mail and more via the
system share sheet directly after link generation, like f.ex.:

```
Photos (https://demo.owncloud.org/s/D3WkWZOW8BUjeKr) | Password: 46CPou|#Pw5.
```

https://github.com/owncloud/ios-app/issues/973
https://github.com/owncloud/ios-app/pull/1325

# Changelog for ownCloud iOS Client [12.1.0] (2024-01-29)
The following sections list the changes in ownCloud iOS Client 12.1.0 relevant to
ownCloud admins and users.
Expand Down
36 changes: 36 additions & 0 deletions PrivacyInfo.xcprivacy
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
<string>1C8F.1</string>
<string>AC6B.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>DDA9.1</string>
<string>C617.1</string>
</array>
</dict>
</array>
</dict>
</plist>
18 changes: 18 additions & 0 deletions changelog/12.2.0_2024-04-23/1320
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Enhancement: Improved sidebar with account-wide search

This PR:
- removes `Quick Access` from the sidebar, redistributing its prior contents as follows:
- `Recents`: promoted to a top-level sidebar item
- `Favorites`: promoted to a top-level sidebar item
- `Available Offline`: promoted to a top-level sidebar item
- other Quick Access items: moved as suggestions to new top-level sidebar `Search` item, with a dedicated `Add to sidebar` button that allows re-adding the previous Quick Access items as saved search
- Saved searches now appear as top-level items in the sidebar
- adds custom user sidebar items
- can be added via `Add to sidebar`
- support drag and drop (also cross-account)
- managed via context menu, swipe and `Remove from sidebar` actions
- in the share extension automatically connects to the first account if only one account is in the account (superseding [#1296](https://github.com/owncloud/ios-app/pull/1296))
- incorporates the latest SDK with important fixes

https://github.com/owncloud/ios-app/pull/1320

19 changes: 19 additions & 0 deletions changelog/12.2.0_2024-04-23/1325
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Enhancement: Password Policy support

This PR implements password policy support throughout the iOS client app, including:
- an extensible password policy system based on rules, policies and validation reports with verbose error reporting for
- characters and [character sets](https://developer.apple.com/documentation/foundation/nscharacterset)
- lengths
- byte counts
- the generation of password policies based on server capabilities
- a default password policy for servers that do not provide a password policy
- a password generator based on password policy rules using "[cryptographically secure random bytes](https://developer.apple.com/documentation/security/1399291-secrandomcopybytes)"
- a password composer for entering, editing and generating passwords with instant rule verification and feedback
- one-tap password generation based on a server's password policy within Public Link creation
- sharing of combined public link URL and password to the clipboard, Messages, Mail and more via the system share sheet directly after link generation, like f.ex.:
```
Photos (https://demo.owncloud.org/s/D3WkWZOW8BUjeKr) | Password: 46CPou|#Pw5.
```

https://github.com/owncloud/ios-app/pull/1325
https://github.com/owncloud/ios-app/issues/973
7 changes: 7 additions & 0 deletions changelog/12.2.0_2024-04-23/1343
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Bugfix: Fix cleanup of Available Offline policies targeting unavailable spaces

Fixes an issue arising from Available Offline policies targeting unavailable
or detached spaces and removes the respective policies, preventing continued
retries for files from inaccessible or removed spaces.

https://github.com/owncloud/ios-app/pull/1343
5 changes: 5 additions & 0 deletions changelog/12.2.0_2024-04-23/1348
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Change: Add required privacy manifests

Adds the [privacy manifest](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api?language=objc) [required by Apple starting May 1, 2024](https://developer.apple.com/news/?id=3d8a9yyh) to the app and upgrades `krzyzanowskim/OpenSSL` to [3.1.5001](https://github.com/krzyzanowskim/OpenSSL/releases/tag/3.1.5001) to include a privacy manifest as [also required by Apple](https://developer.apple.com/support/third-party-SDK-requirements/).

https://github.com/owncloud/ios-app/pull/1348
101 changes: 93 additions & 8 deletions doc/CONFIGURATION.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
"key" : "allowed",
"label" : "action.allowed",
"possibleValues" : [
{
"description" : "Add to sidebar",
"value" : "com.owncloud.action.addToSidebar"
},
{
"description" : "Make available offline",
"value" : "com.owncloud.action.availableOffline"
Expand Down Expand Up @@ -73,6 +77,10 @@
"description" : "Presentation Mode",
"value" : "com.owncloud.action.presentationmode"
},
{
"description" : "Remove from sidebar",
"value" : "com.owncloud.action.removeFromSidebar"
},
{
"description" : "Rename",
"value" : "com.owncloud.action.rename"
Expand Down Expand Up @@ -147,6 +155,10 @@
"key" : "disallowed",
"label" : "action.disallowed",
"possibleValues" : [
{
"description" : "Add to sidebar",
"value" : "com.owncloud.action.addToSidebar"
},
{
"description" : "Make available offline",
"value" : "com.owncloud.action.availableOffline"
Expand Down Expand Up @@ -207,6 +219,10 @@
"description" : "Presentation Mode",
"value" : "com.owncloud.action.presentationmode"
},
{
"description" : "Remove from sidebar",
"value" : "com.owncloud.action.removeFromSidebar"
},
{
"description" : "Rename",
"value" : "com.owncloud.action.rename"
Expand Down Expand Up @@ -298,6 +314,38 @@
"status" : "advanced",
"type" : "stringArray"
},
{
"autoExpansion" : "none",
"category" : "Actions",
"categoryTag" : "actions",
"classIdentifier" : "action",
"className" : "ownCloudAppShared.Action",
"defaultValue" : "auto",
"description" : "Determines how to open a document in a web app.",
"flatIdentifier" : "action.open-in-web-app-mode",
"key" : "open-in-web-app-mode",
"label" : "Open In WebApp mode",
"possibleValues" : [
{
"description" : "Open using `in-app-with-default-browser-option`, unless the respective endpoint is not available - in which case `default-browser` is used instead. If no endpoint to open the document is available, an error message is shown.",
"value" : "auto"
},
{
"description" : "Open in default browser app. May require user to sign in.",
"value" : "default-browser"
},
{
"description" : "Open inline in an in-app browser.",
"value" : "in-app"
},
{
"description" : "Open inline in an in-app browser, but provide a button to open the document in the default browser (may require the user to sign in).",
"value" : "in-app-with-default-browser-option"
}
],
"status" : "advanced",
"type" : "string"
},
{
"autoExpansion" : "none",
"category" : "App",
Expand Down Expand Up @@ -549,6 +597,19 @@
"status" : "supported",
"type" : "string"
},
{
"autoExpansion" : "none",
"category" : "OAuth2",
"categoryTag" : "oauth2",
"classIdentifier" : "authentication-oauth2",
"className" : "OCAuthenticationMethodOAuth2",
"description" : "Omit Authorization Request Parameters - parameter names provided here are omitted from OAuth2 authorization requests.",
"flatIdentifier" : "authentication-oauth2.omit-authorization-parameters",
"key" : "omit-authorization-parameters",
"label" : "authentication-oauth2.omit-authorization-parameters",
"status" : "advanced",
"type" : "stringArray"
},
{
"autoExpansion" : "none",
"category" : "Authentication",
Expand Down Expand Up @@ -1669,6 +1730,10 @@
"description" : "Extension with the identifier auth-race-condition.",
"value" : "auth-race-condition"
},
{
"description" : "Extension with the identifier com.owncloud.action.addToSidebar.",
"value" : "com.owncloud.action.addToSidebar"
},
{
"description" : "Extension with the identifier com.owncloud.action.availableOffline.",
"value" : "com.owncloud.action.availableOffline"
Expand Down Expand Up @@ -1741,6 +1806,10 @@
"description" : "Extension with the identifier com.owncloud.action.presentationmode.",
"value" : "com.owncloud.action.presentationmode"
},
{
"description" : "Extension with the identifier com.owncloud.action.removeFromSidebar.",
"value" : "com.owncloud.action.removeFromSidebar"
},
{
"description" : "Extension with the identifier com.owncloud.action.rename.",
"value" : "com.owncloud.action.rename"
Expand Down Expand Up @@ -1849,14 +1918,6 @@
"description" : "Extension with the identifier simple-apm.",
"value" : "simple-apm"
},
{
"description" : "Extension with the identifier system.dark.",
"value" : "system.dark"
},
{
"description" : "Extension with the identifier system.light.",
"value" : "system.light"
},
{
"description" : "Extension with the identifier web-finger.",
"value" : "web-finger"
Expand Down Expand Up @@ -1929,6 +1990,30 @@
"status" : "debugOnly",
"type" : "stringArray"
},
{
"autoExpansion" : "none",
"category" : "Connection",
"categoryTag" : "connection",
"classIdentifier" : "http",
"className" : "OCHTTPPipeline",
"defaultValue" : "json",
"description" : "If request and response logging is enabled, the format to use.",
"flatIdentifier" : "http.traffic-log-format",
"key" : "traffic-log-format",
"label" : "http.traffic-log-format",
"possibleValues" : [
{
"description" : "JSON",
"value" : "json"
},
{
"description" : "Plain text",
"value" : "plain"
}
],
"status" : "supported",
"type" : "string"
},
{
"autoExpansion" : "none",
"category" : "Connection",
Expand Down