From b28b0b49e5fb39ec9c169b5592a8a457aac89f5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Jun 2025 09:49:55 +0000 Subject: [PATCH 1/5] chore(deps): bump requests from 2.32.3 to 2.32.4 Bumps [requests](https://github.com/psf/requests) from 2.32.3 to 2.32.4. - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](https://github.com/psf/requests/compare/v2.32.3...v2.32.4) --- updated-dependencies: - dependency-name: requests dependency-version: 2.32.4 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 023d6a6..54e34e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # HTTP Clients -requests==2.32.3 +requests==2.32.4 urllib3==2.2.3 certifi==2024.8.30 charset-normalizer==3.4.0 From d892f04293a186020aefbb503b7ec90cf18e8630 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Jun 2025 04:24:32 +0000 Subject: [PATCH 2/5] chore(deps): bump urllib3 from 2.2.3 to 2.5.0 Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.3 to 2.5.0. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](https://github.com/urllib3/urllib3/compare/2.2.3...2.5.0) --- updated-dependencies: - dependency-name: urllib3 dependency-version: 2.5.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 023d6a6..cf95205 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ # HTTP Clients requests==2.32.3 -urllib3==2.2.3 +urllib3==2.5.0 certifi==2024.8.30 charset-normalizer==3.4.0 idna==3.10 From 8283fda27466e2d14c2377cdb55b395a8cb0222d Mon Sep 17 00:00:00 2001 From: Neuron99 Date: Tue, 16 Sep 2025 22:58:52 +0400 Subject: [PATCH 3/5] feat: apple-silicon support --- .../{crypto.dylib => crypto_intel.dylib} | Bin qubipy/crypto/crypto_silicon.dylib | Bin 0 -> 161056 bytes qubipy/crypto/utils.py | 6 +++++- 3 files changed, 5 insertions(+), 1 deletion(-) rename qubipy/crypto/{crypto.dylib => crypto_intel.dylib} (100%) create mode 100755 qubipy/crypto/crypto_silicon.dylib diff --git a/qubipy/crypto/crypto.dylib b/qubipy/crypto/crypto_intel.dylib similarity index 100% rename from qubipy/crypto/crypto.dylib rename to qubipy/crypto/crypto_intel.dylib diff --git a/qubipy/crypto/crypto_silicon.dylib b/qubipy/crypto/crypto_silicon.dylib new file mode 100755 index 0000000000000000000000000000000000000000..0153bb05536b139291199e3a710a01adab54ef5a GIT binary patch literal 161056 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 literal 0 HcmV?d00001 diff --git a/qubipy/crypto/utils.py b/qubipy/crypto/utils.py index c9c8c15..d2759b6 100644 --- a/qubipy/crypto/utils.py +++ b/qubipy/crypto/utils.py @@ -8,11 +8,15 @@ import platform system = platform.system() +machine = platform.machine() if system == "Windows": lib_name = "crypto.dll" elif system == "Darwin": - lib_name = "crypto.dylib" + if machine == "arm64": + lib_name = "crypto_silicon.dylib" # For Apple Silicon + else: + lib_name = "crypto_intel.dylib" # For Intel else: lib_name = "crypto.so" From d9ab482a7b51d4c5cea402c8a7dd7e5dc21f690a Mon Sep 17 00:00:00 2001 From: Mazzya Date: Sat, 20 Sep 2025 18:24:50 +0200 Subject: [PATCH 4/5] docs: update changelog --- CHANGELOG.md | 3 +++ docs/changelog.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 60fe67f..bdf2e0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Change Log +## v0.4.1-beta - September 20, 2025 +* Improved macOS compatibility: The cryptography library detection has been updated to differentiate between Apple Silicon (arm64) and Intel (x86_64) chips. The library module now automatically selects the correct version (crypto_silicon.dylib or crypto_intel.dylib), resolving potential compatibility issues on newer machines. + ## v0.4.0-beta - May 25, 2025 * Added new endpoint method: * `get_monero_mining_stats()`: Returns a dictionary containing various statistics related to Monero mining, such as pool and network hashrates, network difficulty, block height, and other relevant pool/miner data. diff --git a/docs/changelog.md b/docs/changelog.md index 006aa1a..887c6bd 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,8 @@ # Change Log +## v0.4.1-beta - September 20, 2025 +* Improved macOS compatibility: The cryptography library detection has been updated to differentiate between Apple Silicon (arm64) and Intel (x86_64) chips. The library module now automatically selects the correct version (crypto_silicon.dylib or crypto_intel.dylib), resolving potential compatibility issues on newer machines. + ## v0.4.0-beta - May 25, 2025 * Added new endpoint method: * `get_monero_mining_stats()`: Returns a dictionary containing various statistics related to Monero mining, such as pool and network hashrates, network difficulty, block height, and other relevant pool/miner data. From 8ecbfe1584a8e5f8c24c7fb85f22ae95c2108839 Mon Sep 17 00:00:00 2001 From: Mazzya Date: Sat, 20 Sep 2025 18:30:06 +0200 Subject: [PATCH 5/5] docs: update version --- README.md | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ae0df20..2e68daa 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Currently, QubiPy is in a very early development phase, so please take this into Please visit the [Change log](https://github.com/QubiPy-Labs/QubiPy/blob/main/docs/changelog.md) to see all changes. -![release](https://img.shields.io/badge/release-v0.4.0--beta-blue) +![release](https://img.shields.io/badge/release-v0.4.1--beta-blue) ![python](https://img.shields.io/badge/python-3.10_%7C_3.11_%7C_3.12-blue) ![Python Package](https://github.com/QubiPy-Labs/QubiPy/actions/workflows/python-package.yml/badge.svg) ![Code Quality](https://github.com/QubiPy-Labs/QubiPy/actions/workflows/pylint.yml/badge.svg) diff --git a/setup.py b/setup.py index 30476e5..0737c60 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ from setuptools import setup, find_packages -__version__ = '0.4.0' +__version__ = '0.4.1' with open("README.md", "r", encoding="utf-8") as fh: