Skip to content

Commit 04c7b30

Browse files
committed
[GR-64013] Extract BouncyCastle dependency and make it optional.
PullRequest: graalpython/3495
2 parents e568332 + c29cab6 commit 04c7b30

28 files changed

Lines changed: 3273 additions & 2566 deletions

File tree

.agents/skills/pr-gate-check/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ git rev-list --all --parents | rg ' <PR_HEAD_SHA>( |$)'
2222
```
2323
Pick the merge commit where one parent is `<PR_HEAD_SHA>` and the other is the target branch tip at merge time.
2424

25+
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.
26+
2527
3. Check builds on that merge commit:
2628
```bash
2729
gdev-cli bitbucket get-builds --commit=<MERGE_SHA> --all --format=key,state,url

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ language runtime. The main focus is on user-observable behavior of the engine.
2020
* 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.
2121
* Add an experimental `python.InitializationEntropySource` option to control the entropy source used for initialization-only randomness such as hash secret generation and `random.Random(None)` seeding. This means embeddings and tests can select deterministic or externally provided initialization entropy without affecting cryptographically relevant APIs like `os.urandom()` or `random.SystemRandom()`.
2222
* 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.
23+
* 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.
2324

2425
## Version 25.0.1
2526
* 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`.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Additional native-image arguments for optional GraalPy BouncyCastle support
2+
Args = --features=com.oracle.graal.python.bouncycastle.BouncyCastleFeature

0 commit comments

Comments
 (0)