Upgrade packages
bumping cryptography 49.0.0 -> 50.0.0
SF-11578 Reject untracked Allura sessions
[#8615] update .pre-commit-config.yaml versions
[#8615] Upgrade boto3 1.42.89 -> 1.43.52, and its deps: botocore,s3transfer
[#8615] Upgrade pre_commit 4.5.1 -> 4.6.0, and its deps: distlib,python-discovery,virtualenv,filelock,platformdirs,identify
[#8615] Upgrade gunicorn 25.3.0 -> 26.0.0, and its deps: packaging
[#8615] Upgrade pytest 9.0.3 -> 9.1.1, and its deps: packaging
[#8615] Upgrade ruff 0.15.10 -> 0.15.22
[#8615] Upgrade wrapt 2.1.2 -> 2.2.2
[#8615] Upgrade TurboGears2 2.5.0 -> no upgrade, and its deps: repoze.lru
[#8615] Upgrade pysolr 3.11.0 -> no upgrade, and its deps: charset-normalizer,requests,idna,certifi
[#8615] Upgrade Pypeline 0.7.0 -> no upgrade, and its deps: nh3,Genshi,docutils,textile,regex
[#8615] Upgrade Ming 0.17.1 -> no upgrade, and its deps: pymongo,pytz
[#8615] Upgrade lxml 6.1.0 -> 6.1.1
[#8615] Upgrade idna 3.15 -> 3.18
[#8615] Upgrade faust-cchardet 2.1.19 -> 2.2.1
[#8615] Upgrade defopt 7.0.0 -> no upgrade, and its deps: docutils
[#8615] Upgrade decorator 5.2.1 -> 5.3.1
[#8615] Upgrade beaker-session-jwt 1.0.4 -> no upgrade, and its deps: Beaker,cffi,pymongo,joserfc
[#8615] Upgrade Beaker 1.13.0 -> 1.14.1
[#8615] Upgrade beautifulsoup4 4.14.3 -> 4.15.0, and its deps: typing_extensions,soupsieve
[#8615] Upgrade ActivityStream 0.5.1 -> no upgrade, and its deps: pymongo
update CLAUDE.md
[#8615] update .pre-commit-config.yaml versions
[#8615] Upgrade boto3 1.42.89 -> 1.43.52, and its deps: botocore,s3transfer
[#8615] Upgrade pre_commit 4.5.1 -> 4.6.0, and its deps: distlib,python-discovery,virtualenv,filelock,platformdirs,identify
[#8615] Upgrade gunicorn 25.3.0 -> 26.0.0, and its deps: packaging
[#8615] Upgrade pytest 9.0.3 -> 9.1.1, and its deps: packaging
[#8615] Upgrade testfixtures 10.0.0 -> 12.3.0
[#8615] Upgrade ruff 0.15.10 -> 0.15.22
[#8615] Upgrade wrapt 2.1.2 -> 2.2.2
[#8615] Upgrade TurboGears2 2.5.0 -> no upgrade, and its deps: repoze.lru
[#8615] Upgrade pysolr 3.11.0 -> no upgrade, and its deps: charset-normalizer,requests,idna,certifi
[#8615] Upgrade Pypeline 0.7.0 -> no upgrade, and its deps: nh3,Genshi,docutils,textile,regex
[#8615] Upgrade Ming 0.17.1 -> no upgrade, and its deps: pymongo,pytz
[#8615] Upgrade lxml 6.1.0 -> 6.1.1
[#8615] Upgrade idna 3.15 -> 3.18
[#8615] Upgrade faust-cchardet 2.1.19 -> 2.2.1
[#8615] Upgrade defopt 7.0.0 -> no upgrade, and its deps: docutils
[#8615] Upgrade decorator 5.2.1 -> 5.3.1
[#8615] Upgrade beaker-session-jwt 1.0.4 -> no upgrade, and its deps: Beaker,cffi,pymongo,joserfc
[#8615] Upgrade Beaker 1.13.0 -> 1.14.1
[#8615] Upgrade beautifulsoup4 4.14.3 -> 4.15.0, and its deps: typing_extensions,soupsieve
[#8615] Upgrade ActivityStream 0.5.1 -> no upgrade, and its deps: pymongo
fixup! [#8614] Implement field level encryption for User and UserLoginDetails fields
[#8614] Implement field level encryption for User and UserLoginDetails fields
[#8614] Add support for nested lists and tests to the field conversion script
[#8614] Add backing encrypted fields for User and UserLoginDetails fields
fixup! [#8614] Add support for nested lists and tests to the field conversion script
[#8614] Add support for nested lists and tests to the field conversion script
[#8614] Add backing encrypted fields for User and UserLoginDetails fields
get_tool_data should return ming-deinstrumented objects, so changes to them can't sync back to the database unexpectedly
bumping gitpython 3.1.50 -> 3.1.57
Upgrade packages
Adding missing license to CLAUDE.md
[#8613] Implement field level encryption for user preferences email address
Implement field level encryption for email address in user preferences
get_tool_data should return ming-deinstrumented objects, so changes to them can't sync back to the database unexpectedly
added CLAUDE.md
fixup! [#8614] Add support for nested lists and tests to the field conversion script
[#8614] Add support for nested lists and tests to the field conversion script
[#8614] Add backing encrypted fields for User and UserLoginDetails fields
fixup! [#8614] Implement field level encryption for User and UserLoginDetails fields
[#8614] Implement field level encryption for User and UserLoginDetails fields
[#8614] Add support for nested lists and tests to the field conversion script
[#8614] Add backing encrypted fields for User and UserLoginDetails fields
fixup! [#8614] Add support for nested lists and tests to the field conversion script
[#8613] Add encrypted field for user preferences email address
make test more reliable (not reliant on fetching "url":"https://httpbin.org/image/png"
fixup! [#8614] Implement field level encryption for User and UserLoginDetails fields
[#8614] Implement field level encryption for User and UserLoginDetails fields
[#8614] Add support for nested lists and tests to the field conversion script
[#8614] Add backing encrypted fields for User and UserLoginDetails fields
Implement field level encryption for more user fields
enable webp screenshots & attachments
fixup! fixup! added CLAUDE.md
fixup! fixup! [#8613] Implement field level encryption for user preferences email address
fixup! [#8613] Implement field level encryption for user preferences email address
[#8613] Implement field level encryption for user preferences email address
[#8613] Add encrypted field for user preferences email address
fixup! fixup! [#8613] Implement field level encryption for user preferences email address
bumping Pillow 12.2.0 -> 12.3.
fixup! added CLAUDE.md
added CLAUDE.md
bumping soupsieve 2.8.3 -> 2.8.4
fixup! [#8613] Implement field level encryption for user preferences email address
Implement field level encryption for email address in user preferences
Work done in two branches: cc/8613-part1 cc/8613-part2
[#8613] Implement field level encryption for user preferences email address
[#8613] Add encrypted field for user preferences email address
Implement field level encryption for User's email addresses list
Implement field level encryption for email address in user preferences
[#8610] Implement field level encryption for Users email addresses
POC: Using sanitize/clean instead of tree walking, but now necessitates placeholder logic for unsupported logic
disallowed tags are now preserved as escaped visible text instead of disappearing.
html5lib is removed with turbohtml as the replacement everywhere it was used.
Claude-generated POCs on 2 branches: db/remove_html5lib_nh3 using nh3 (mature & maintained) but currently drops <script> and other disallowed tags instead of escaping them. Also has a slow bs4 pass after nh3 for some things nh3 can't handle (iframe allowed only for youtube sources, input only for checkbox) db/remove_html5lib_turbohtml using turbohtml (very new right now, pre 1.0 release, things may change in it). Can't use its clean.sanitize for the same reasons nh3 fell short. If turbohtml had a...
html5lib dependency is removed, with sanitization now handled by nh3.
Consider changing from html5lib sanitizer