Skip to content

Commit bf2b03a

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents b72192d + 5f0bb4f commit bf2b03a

495 files changed

Lines changed: 56010 additions & 27634 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
scripts/*.min.js -diff
2-
scripts/*.map -diff
1+
/scripts/*.min.js -diff
2+
/scripts/*.map -diff
3+
/test/ldap/lldap_data/*.db -diff

.github/workflows/tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212

1313
strategy:
1414
matrix:
15-
php-versions: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
15+
php-versions: ['7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
1616

1717
steps:
1818
- name: Checkout
@@ -43,8 +43,8 @@ jobs:
4343
- name: Run tests
4444
run: sh test/check.sh --all
4545

46-
build-20:
47-
runs-on: ubuntu-20.04
46+
build-22:
47+
runs-on: ubuntu-22.04
4848

4949
strategy:
5050
matrix:

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
*~
2+
.DS_Store
23
/Code/options.inc
34
/composer.json
45
/composer.lock
56
/conf
67
/devel/d3/d3.js
78
/devel/d3/d3-hotcrp.min.js
89
/devel/d3/node_modules
9-
/devel/d3/package-lock.json
1010
/devel/hotcrp-daemonize
1111
/docs
1212
/filestore
1313
/logs
1414
/node_modules
1515
/package-lock.json
16+
/test/oauth/vendor
17+
/test/oauth/auths.json
18+
/test/oauth/composer.lock
1619
/vendor
1720
.data
1821
.env

.htaccess

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#php_value max_input_vars 4096
1010

1111
# A large memory_limit helps when sending very large zipped files.
12-
php_value memory_limit 128M
12+
#php_value memory_limit 128M
1313

1414
# Default to UTF-8 (most scripts will override this with <meta>).
1515
AddDefaultCharset UTF-8

.phan/config.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
return (function () {
2828
$config = [
2929
"minimum_target_php_version" => "7.2",
30-
"target_php_version" => "8.3",
30+
"target_php_version" => "8.4",
3131

3232
// If true, missing properties will be created when
3333
// they are first seen. If false, we'll report an
@@ -72,6 +72,7 @@
7272
"file_list" => [
7373
Config::projectPath("api.php"),
7474
Config::projectPath("assign.php"),
75+
Config::projectPath("authorize.php"),
7576
Config::projectPath("autoassign.php"),
7677
Config::projectPath("bulkassign.php"),
7778
Config::projectPath("buzzer.php"),
@@ -85,6 +86,7 @@
8586
Config::projectPath("index.php"),
8687
Config::projectPath("log.php"),
8788
Config::projectPath("mail.php"),
89+
Config::projectPath("manageemail.php"),
8890
Config::projectPath("manualassign.php"),
8991
Config::projectPath("mergeaccounts.php"),
9092
Config::projectPath("newaccount.php"),
@@ -107,6 +109,10 @@
107109
Config::projectPath("lib/polyfills.php")
108110
],
109111

112+
"exclude_analysis_directory_list" => [
113+
Config::projectPath("test/oauth")
114+
],
115+
110116
"suppress_issue_types" => [
111117
"PhanUnusedPublicMethodParameter",
112118
"PhanUnusedVariableValueOfForeachWithKey",

.travis.yml

Lines changed: 0 additions & 17 deletions
This file was deleted.

.user.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
;max_input_vars = 4096
1010

1111
; A large memory_limit helps when sending very large zipped files.
12-
memory_limit = 128M
12+
;memory_limit = 128M

NEWS.md

Lines changed: 108 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,120 @@
11
HotCRP NEWS
22
===========
33

4+
## Version 3.1 – 12.Sep.2025
5+
6+
* Upgrade notes
7+
8+
* PHP 8.4 is supported, PHP 7.2 is not.
9+
* The `oAuthTypes` setting is no longer understood.
10+
* The `oAuthTypes` `group_mappings` subsetting is replaced by
11+
`group_roles`.
12+
* Previous versions of the `batch/backupdb.php` script could produce
13+
invalid backups in the case that the database contained large documents.
14+
15+
* Accounts
16+
17+
* Replace “merge accounts” functionality with “Manage email”. Manage email
18+
allows transferring reviews and linking accounts, where the primary
19+
linked account redirects review requests and receives shared authorship.
20+
* OAuth can import group affiliations and roles (Tobias Fiebig).
21+
* Expose ORCID iD and country in user lists and downloads.
22+
* Profile supports reauthentication more cleanly.
23+
* Improve LDAP support.
24+
* Add support for extension tracks. For instance, the `settings!`
25+
extension track defines who can modify settings.
26+
27+
* Search
28+
29+
* Improve named search UI; expose highlighted searches.
30+
* Add support for dot tag patterns (for instance, tag `#dot-rgb-ffff00`
31+
adds bright yellow dots).
32+
* Systematize view options.
33+
* Add `cmtafter:DATE` search term.
34+
* Treat some Unicode spaces like normal spaces in parsing.
35+
* Fix searches within specific response rounds.
36+
37+
* Assignments
38+
39+
* The autoassigner can run as a background job, supporting longer
40+
processing times.
41+
* Fix bug where “bad pairs” were misparsed by the autoassigner.
42+
* Bulk assignments supports upload of very large assignment files.
43+
* Improve handling of assignment files that generate large numbers of
44+
errors.
45+
* Assigner messages about potential conflicts include buttons for
46+
immediately confirming or ignoring each conflict.
47+
* The `copytag` and `newtag` assigners can move all matching tags (for
48+
instance, set `tag` to `my*` and `newtag` to `renamed-*`).
49+
* Improve UI display of large PC sets in conflict editing and review
50+
assignment pages.
51+
52+
* Submissions
53+
54+
* Improve handling of complex field conditions: avoid crashes.
55+
* Support fields with edit conditions that depend on other fields with
56+
edit conditions.
57+
* Introduce author certification submission field type.
58+
59+
* Reviews
60+
61+
* Review preferences page supports shuffled preferences via
62+
`sort:shuffle`.
63+
* Preference fuzzing can group preferences into bands to reduce the impact
64+
of collusion.
65+
* Assign review IDs randomly.
66+
* Improve handling of field names with no ASCII characters.
67+
* Administrators can clear all review ratings.
68+
* Detect conflicts when saving a review that’s been concurrently updated
69+
in another tab.
70+
71+
* Comments
72+
73+
* Refer to comment “threads” rather than topics; update thread UI.
74+
* Don’t expose identities of past shepherds.
75+
* Fix bugs where @mentions were not always reset.
76+
* Fix bug where @mentioned user might receive multiple emails for a single
77+
comment.
78+
* @Mentions of the current user are highlighted.
79+
* Censor comment display in more cases: @mentioned users are anonymized to
80+
comment viewers who can’t see the relevant identities.
81+
* Add setting that allows authors to initiate comment exchanges.
82+
* Add separate track permission for commenting.
83+
84+
* Formulas
85+
86+
* Checkbox review fields can be used in formulas.
87+
* Improve graph displays.
88+
* Support `pagecount`.
89+
90+
* API
91+
92+
* Begin stabilizing and documenting API.
93+
* Reduce opportunities to enumerate users through the API.
94+
* Add `reviewhistory` API call.
95+
96+
* Mail
97+
98+
* Prefer `{{TEMPLATE}}` style to `%TEMPLATE%`.
99+
* Add site URL to mail signatures.
100+
* Better handle thousands of emails.
101+
102+
* Batch scripts
103+
104+
* Settings can be filtered by tag.
105+
* Add `batch/actionlog.php` script.
106+
* Add `batch/hotcrapi.php` script for contacting HotCRP APIs.
107+
108+
* Many other bug fixes and improvements.
109+
110+
4111
## Version 3.0.0 – 14.Mar.2024
5112

6113
* Upgrade notes
7114

8115
* PHP 8.2 and 8.3 are supported, PHP 7.0 and 7.1 are not.
9116
* Remove support for `#perm` tags.
10-
* Prefer `$Opt["oAuthProviders"]` (not `$Opt["oAuthTypes"]`).
117+
* Prefer `$Opt["oAuthProviders"]` (deprecate `$Opt["oAuthTypes"]`).
11118

12119
* Batch scripts
13120

0 commit comments

Comments
 (0)