Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
7e3da7d
Remove BouncyCastle security provider registration
timfel Mar 10, 2026
fcfd47c
Remove stale BouncyCastleFeature imports
timfel Mar 10, 2026
92b66b2
Update copyright years for BouncyCastle files
timfel Mar 10, 2026
d00d09c
Stop eager BouncyCastle provider initialization
timfel Mar 11, 2026
0fd053e
Use JDK certificate parsing for PEM certs
timfel Mar 11, 2026
31307c6
Use JDK PKCS8 key parsing for SSL
timfel Mar 11, 2026
5e86953
Decode PKCS1 RSA keys without BC provider
timfel Mar 11, 2026
ddfa733
Clean BC native-image reachability hooks
timfel Mar 11, 2026
b051df9
Restore BC native-image metadata for SSL fallback
timfel Mar 11, 2026
50e80ac
Add optional BC support SPI for SSL
timfel Mar 11, 2026
936419c
Make SSL BouncyCastle support optional
timfel Mar 11, 2026
d8ad8af
Use JDK PBKDF2 implementation in hashlib
timfel Mar 11, 2026
0173e90
Replace _imp source hash SipHash dependency
timfel Mar 11, 2026
1118295
Drop core BouncyCastle dependencies
timfel Mar 11, 2026
981861f
Remove unused BouncyCastle util dependency
timfel Mar 11, 2026
2082380
Fix style
timfel Mar 11, 2026
75e0101
Remove unused lazy BouncyCastle provider helper
timfel Mar 11, 2026
3406114
Update Bouncy Castle artifacts to 1.83
steve-s Feb 20, 2026
adc7e3c
Split core and BouncyCastle native-image config
timfel Mar 11, 2026
c885b3e
Remove unused BouncyCastle provider anchor
timfel Mar 11, 2026
dcccc4e
Fix BC standalone service loading
timfel Mar 12, 2026
7468db5
Update skill to check PR gates
timfel Mar 12, 2026
7934261
Normalize SSL PEM and pre-handshake errors
timfel Mar 12, 2026
4a76275
Support @SECLEVEL=1 in SSL cipher strings
timfel Mar 12, 2026
a06543e
Add Truffle boundary to marshal serializer
timfel Mar 12, 2026
2efd1ac
Move pbkdf2 JCA work behind Truffle boundaries
timfel Mar 12, 2026
f34065c
Remove stream usage from SSL security-level parsing
timfel Mar 12, 2026
1cd5a77
Guard graalpy specific ssl test
timfel Mar 12, 2026
f8ffc82
Remove dead code
timfel Mar 12, 2026
fc89659
Fix style
timfel Mar 12, 2026
b830e3e
Report suppressed exceptions
timfel Mar 12, 2026
60f483c
Fix style
timfel Mar 12, 2026
8d219b2
Restore BC feature-based provider registration
timfel Mar 12, 2026
53c4616
Inline useless method that just replicates JDK code
timfel Mar 16, 2026
7baedc4
Use import for GeneralSecurityException
timfel Mar 16, 2026
48294a0
Add tests and fallback to bouncycastle for more legacy certificate an…
timfel Mar 16, 2026
56e794f
Update changelog
timfel Mar 17, 2026
008b6e3
[GR-64013] Make BC optional in standalone packaging
timfel Apr 14, 2026
376acbd
[GR-64013] Unify optional BouncyCastle support
timfel Apr 16, 2026
1a5ba30
[GR-64013] Stop globally installing BouncyCastle
timfel Apr 16, 2026
25d81a7
Revert "[GR-64013] Make BC optional in standalone packaging"
timfel Apr 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .agents/skills/pr-gate-check/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ git rev-list --all --parents | rg ' <PR_HEAD_SHA>( |$)'
```
Pick the merge commit where one parent is `<PR_HEAD_SHA>` and the other is the target branch tip at merge time.

If you cannot find it this way, another heuristic is to take the branch name and append `_gate` - that usually has the merge commit we want as tip.

3. Check builds on that merge commit:
```bash
gdev-cli bitbucket get-builds --commit=<MERGE_SHA> --all --format=key,state,url
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ language runtime. The main focus is on user-observable behavior of the engine.
* Added a new `java` backend for the `pyexpat` module that uses a Java XML parser instead of the native `expat` library. It can be useful when running without native access or multiple-context scenarios. This backend is the default when embedding and can be switched back to native `expat` by setting `python.PyExpatModuleBackend` option to `native`. Standalone distribution still defaults to native expat backend.
* Add a new context option `python.UnicodeCharacterDatabaseNativeFallback` to control whether the ICU database may fall back to the native unicode character database from CPython for features and characters not supported by ICU. This requires native access to be enabled and is disabled by default for embeddings.
* Foreign temporal objects (dates, times, and timezones) are now given a Python class corresponding to their interop traits, i.e., `date`, `time`, `datetime`, or `tzinfo`. This allows any foreign objects with these traits to be used in place of the native Python types and Python methods available on these types work on the foreign types.
* Make BouncyCastle an optional dependency for embedding use cases. BouncyCastle is only needed for legacy RSA, DSA, and EC privat keys versions 0 and 1. To support these from Python embeddings, BouncyCastle must now be explicitly enabled by adding the `org.graalvm.python:python-bouncycastle-support` Maven artifact.

## Version 25.0.1
* Allow users to keep going on unsupported JDK/OS/ARCH combinations at their own risk by opting out of early failure using `-Dtruffle.UseFallbackRuntime=true`, `-Dpolyglot.engine.userResourceCache=/set/to/a/writeable/dir`, `-Dpolyglot.engine.allowUnsupportedPlatform=true`, and `-Dpolyglot.python.UnsupportedPlatformEmulates=[linux|macos|windows]` and `-Dorg.graalvm.python.resources.exclude=native.files`.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Additional native-image arguments for optional GraalPy BouncyCastle support
Args = --features=com.oracle.graal.python.bouncycastle.BouncyCastleFeature
Loading
Loading