Release type: Developer Release | High-Security Build #21
mktmansour
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
v1.0.2 — Developer Release | High-Security Build
Release type: Developer Release | High-Security Build
Highlights
New callback name (Rust import path): mkt_ksa_geo_sec
Cargo.toml: MKT_KSA_Geolocation_Security = "1.0.2"
Secrets Security Upgrade: Upgraded secrecy to 0.10.3 with an internal wrapper security::secret::{SecureString, SecureBytes} to ensure stability and unchanged logic.
Minimize direct dependencies: Removed direct dependency on getrandom and replaced it with rand::rngs::OsRng::try_fill_bytes.
New files/modules:
src/security/secret.rs (secret encapsulation)
src/security/signing.rs (centralized HMAC signatures)
src/utils/precision.rs (temporal/numerical/geographic precision)
Multilingual Readiness (FFI): Build rlib, cdylib, and staticlib with C header generation named mkt_ksa_geo_sec.h.
Code Quality: Clippy is strictly clean, 37/37 tests pass, fmt is clean, audit is bug-free with rust-ini transitive observation (documented).
Internal API Improvements: Support extractors in Handlers, batching of parameters with ResolveParams, without changing the overall behavior.
What's New in Detail | What's New
Security:
Secret management via SecureString/SecureBytes with zeroize and Display/Debug blocking for secrets.
Centralized digital signatures (HMAC-SHA512/HMAC-SHA384) without OpenSSL (RustCrypto only).
FFI functions with unsafe extern "C" with #Safety documentation.
Precision:
Time/space/numeric functions in utils::precision to reduce redundancy and increase precision.
CI Readiness:
Clippy is strict, fmt check, and cache initialization for stability.
Dependency Changes | Dependency Changes
Removed:
once_cell, lazy_static (replaced with std::sync::LazyLock)
serde_derive (the derive feature is enabled in serde)
getrandom (as direct)
Updated:
secrecy: 0.8.x → 0.10.3 (with internal wrapper)
reqwest: 0.12.22 → 0.12.23
pqcrypto-mlkem: 0.1.0 → 0.1.1
Note: Temporarily acceptable transitive duplications (such as base64, http, lru, windows-sys) are documented and will not affect functionality.
Quick Upgrade Guide | Quick Migration Guide
Cargo.toml:
Use: MKT_KSA_Geolocation_Security = "1.0.2"
Code call path: mkt_ksa_geo_sec
Secrets/Signatures:
Replace secrecy::Secret/String and SecretVec with:
mkt_ksa_geo_sec::security::secret::SecureString
mkt_ksa_geo_sec::security::secret::SecureBytes
HMAC functions now accept &SecureBytes:
mkt_ksa_geo_sec::security::signing::{sign_hmac_sha512, verify_hmac_sha512, ...}
FFI:
Use the auto-generated mkt_ksa_geo_sec.h header from releases.
Security Guarantees | Security Guarantees
No OpenSSL; use only Rustls and RustCrypto.
Secure memory erasure of secrets (zeroize).
JWT HS512 with keys via SecureString.
#Safety/#Errors/#Panics documentation in critical functions.
Compatibility & Behavior
No changes to the general logic or public paths.
Mostly internal changes to improve security and code quality.
Tests: 37/37 passed after modifications.
Downloads/Linking
Published packages build the rlib/cdylib/staticlib libraries for Windows/Linux/macOS platforms.
C:mkt_ksa_geo_sec.h header for consumption by C/C++/Python/.NET/Java/Node/Go via FFI.
Verification Commands (for developers) | Dev Checks
cargo clippy -D warnings
cargo fmt --all -- --check
cargo test --all --all-features
cargo tree -d
cargo audit
This release is intended for developers and focuses on security, interface stability, and multi-language binding readiness, while reducing dependencies and improving long-term maintainability.
v1.0.2 — إصدار مطوّر | أمان عالي
Release type: Developer Release | High-Security Build
أبرز التغييرات | Highlights
اسم الاستدعاء الجديد (Rust import path): mkt_ksa_geo_sec
Cargo.toml: MKT_KSA_Geolocation_Security = "1.0.2"
ترقية أمان الأسرار: ترقية secrecy إلى 0.10.3 مع طبقة تغليف داخلية security::secret::{SecureString, SecureBytes} لضمان الثبات وعدم تغيّر المنطق.
تقليل التبعيات المباشرة: إزالة الاعتماد المباشر على getrandom واستبداله بـ rand::rngs::OsRng::try_fill_bytes.
ملفات/وحدات جديدة:
src/security/secret.rs (تغليف الأسرار)
src/security/signing.rs (تواقيع HMAC مركزية)
src/utils/precision.rs (دقة زمنية/عددية/جغرافية)
جاهزية تعدد اللغات (FFI): بناء rlib, cdylib, staticlib مع توليد ترويسة C باسم mkt_ksa_geo_sec.h.
جودة الكود: Clippy صارم نظيف، 37/37 اختبار ناجح، fmt نظيف، audit بلا ثغرات مع ملاحظة rust-ini الترانزيتيف (موثقة).
تحسينات API داخلية: اعتماد extractors في Handlers، تجميع المعاملات بـ ResolveParams، دون تغيير للسلوك العام.
ما الجديد بالتفصيل | What’s New
أمان:
إدارة أسرار عبر SecureString/SecureBytes مع zeroize وحظر Display/Debug للسر.
توقيعات رقمية مركزية (HMAC-SHA512/HMAC-SHA384) بلا OpenSSL (RustCrypto فقط).
دوال FFI معلّمة unsafe extern "C" مع توثيق # Safety.
دقة:
وظائف زمن/مسافات/حوسبة رقمية في utils::precision لتقليل التكرار ورفع الدقة.
جاهزية CI:
Clippy صارم، fmt check، وتهيئة cache للاستقرار.
تغييرات التبعيات | Dependency Changes
تمّت الإزالة:
once_cell, lazy_static (استبدلت بـ std::sync::LazyLock)
serde_derive (ميزة derive مفعّلة في serde)
getrandom (كمباشر)
تمّ التحديث:
secrecy: 0.8.x → 0.10.3 (مع طبقة تغليف داخلية)
reqwest: 0.12.22 → 0.12.23
pqcrypto-mlkem: 0.1.0 → 0.1.1
ملاحظة: توجد ازدواجيات ترانزيتيف مقبولة مؤقتاً (مثل base64, http, lru, windows-sys) موثقة ولن تؤثر وظيفياً.
دليل الترقية السريع | Quick Migration Guide
Cargo.toml:
استخدم: MKT_KSA_Geolocation_Security = "1.0.2"
مسار الاستدعاء في الكود: mkt_ksa_geo_sec
أسرار/تواقيع:
استبدل secrecy::Secret/String وSecretVec بـ:
mkt_ksa_geo_sec::security::secret::SecureString
mkt_ksa_geo_sec::security::secret::SecureBytes
دوال HMAC الآن تستقبل &SecureBytes:
mkt_ksa_geo_sec::security::signing::{sign_hmac_sha512, verify_hmac_sha512, ...}
FFI:
استخدم الترويسة mkt_ksa_geo_sec.h المولّدة آلياً من الإصدارات.
ضمانات الأمان | Security Guarantees
بلا OpenSSL؛ استخدام Rustls وRustCrypto فقط.
مسح آمن للذاكرة للأسرار (zeroize).
JWT HS512 مع مفاتيح عبر SecureString.
توثيق # Safety/#Errors/#Panics في الدوال الحرجة.
التوافق والسلوك | Compatibility & Behavior
لا تغيير في المنطق العام ولا في المسارات العامة.
التغييرات كُmostly داخلية لتحسين الأمان وجودة الكود.
اختبارات: 37/37 ناجحة بعد التعديلات.
تنزيلات/الربط | Downloads/Linking
الحزم المنشورة تبني مكتبات rlib/cdylib/staticlib لمنصّات Windows/Linux/macOS.
ترويسة C: mkt_ksa_geo_sec.h للاستهلاك من C/C++/Python/.NET/Java/Node/Go عبر FFI.
أوامر التحقق (للمطورين) | Dev Checks
cargo clippy -D warnings
cargo fmt --all -- --check
cargo test --all --all-features
cargo tree -d
cargo audit
هذا الإصدار موجّه للمطورين (Developer Release) ويركّز على صلابة الأمان، استقرار الواجهات، وجاهزية الربط من لغات متعددة، مع تقليل التبعيات وتحسين الصيانة على المدى الطويل.
This discussion was created from the release Release type: Developer Release | High-Security Build.
Beta Was this translation helpful? Give feedback.
All reactions