> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# سجل تغييرات 2024

> سجل تغييرات 2024

<div id="table-of-contents">
  ### جدول المحتويات
</div>

**[إصدار ClickHouse‏ v24.12، 2024-12-19](/ar/resources/changelogs/oss/2024#a-id2412a-clickhouse-release-2412-2024-12-19)**<br />
**[إصدار ClickHouse‏ v24.11، 2024-11-26](/ar/resources/changelogs/oss/2024#a-id2411a-clickhouse-release-2411-2024-11-26)**<br />
**[إصدار ClickHouse‏ v24.10، 2024-10-31](/ar/resources/changelogs/oss/2024#a-id2410a-clickhouse-release-2410-2024-10-31)**<br />
**[إصدار ClickHouse‏ v24.9، 2024-09-26](/ar/resources/changelogs/oss/2024#a-id249a-clickhouse-release-249-2024-09-26)**<br />
**[إصدار ClickHouse‏ v24.8 LTS، 2024-08-20](/ar/resources/changelogs/oss/2024#a-id248a-clickhouse-release-248-lts-2024-08-20)**<br />
**[إصدار ClickHouse‏ v24.7، 2024-07-30](/ar/resources/changelogs/oss/2024#a-id247a-clickhouse-release-247-2024-07-30)**<br />
**[إصدار ClickHouse‏ v24.6، 2024-07-01](/ar/resources/changelogs/oss/2024#a-id246a-clickhouse-release-246-2024-07-01)**<br />
**[إصدار ClickHouse‏ v24.5، 2024-05-30](/ar/resources/changelogs/oss/2024#a-id245a-clickhouse-release-245-2024-05-30)**<br />
**[إصدار ClickHouse‏ v24.4، 2024-04-30](/ar/resources/changelogs/oss/2024#a-id244a-clickhouse-release-244-2024-04-30)**<br />
**[إصدار ClickHouse‏ v24.3 LTS، 2024-03-26](/ar/resources/changelogs/oss/2024#a-id243a-clickhouse-release-243-lts-2024-03-27)**<br />
**[إصدار ClickHouse‏ v24.2، 2024-02-29](/ar/resources/changelogs/oss/2024#a-id242a-clickhouse-release-242-2024-02-29)**<br />
**[إصدار ClickHouse‏ v24.1، 2024-01-30](/ar/resources/changelogs/oss/2024#a-id241a-clickhouse-release-241-2024-01-30)**<br />
**[سجل التغييرات لعام 2023](/ar/resources/changelogs/oss/2023)**<br />

### <a id="2412" /> الإصدار 24.12 من ClickHouse، 2024-12-19. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.12/)، [الفيديو](https://www.youtube.com/watch?v=bv-ut-Q6vnc)

<Frame>
  <iframe src="https://www.youtube.com/embed/bv-ut-Q6vnc" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* أصبحت الدالتان `greatest` و`least` تتجاهلان الآن قيم الإدخال NULL، بعدما كانتا تُرجعان سابقًا NULL إذا كانت إحدى الوسيطات NULL. على سبيل المثال، أصبح `SELECT greatest(1, 2, NULL)` يُرجع الآن 2. وهذا يجعل السلوك متوافقًا مع PostgreSQL، لكنه في الوقت نفسه يخرق التوافق مع MySQL الذي يُرجع NULL. للاحتفاظ بالسلوك السابق، اضبط الإعداد `least_greatest_legacy_null_behavior` (القيمة الافتراضية: `false`) على `true`. [#65519](https://github.com/ClickHouse/ClickHouse/pull/65519) [#73344](https://github.com/ClickHouse/ClickHouse/pull/73344) ([kevinyhzou](https://github.com/KevinyhZou)).
* أصبح تكامل MongoDB الجديد هو الافتراضي الآن. ويمكن للمستخدمين الذين يفضّلون استخدام برنامج تشغيل MongoDB القديم (المستند إلى برنامج تشغيل Poco) تفعيل إعداد الخادم `use_legacy_mongodb_integration`. [#73359](https://github.com/ClickHouse/ClickHouse/pull/73359) ([Kirill Nikiforov](https://github.com/allmazz).

<div id="new-feature">
  #### ميزة جديدة
</div>

* نُقلت أنواع `JSON`/`Dynamic`/`Variant` من الميزات التجريبية إلى المرحلة التجريبية المتقدمة (beta). [#72294](https://github.com/ClickHouse/ClickHouse/pull/72294) ([Pavel Kruglov](https://github.com/Avogar)). كما جرى أيضًا ترحيل هذا التغيير وجميع الإصلاحات إلى الإصدار 24.11.
* يوفّر تطور المخطط لتنسيق [تخزين بيانات Iceberg](https://iceberg.apache.org/spec/#file-system-operations) للمستخدم خيارات واسعة لتعديل مخطط الجدول. ويمكن تغيير ترتيب الأعمدة وأسماء الأعمدة وامتدادات الأنواع البسيطة في الخلفية. [#69445](https://github.com/ClickHouse/ClickHouse/pull/69445) ([Daniil Ivanik](https://github.com/divanik)).
* التكامل مع Iceberg REST Catalog: أُضيف محرك database جديد باسم Iceberg، يربط الكتالوج بالكامل بـ ClickHouse. [#71542](https://github.com/ClickHouse/ClickHouse/pull/71542) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أُضيفت cache للفهرس الأساسي لجداول `MergeTree` (يمكن تفعيلها عبر إعداد table `use_primary_key_cache`). وإذا كان التحميل الكسول وcache مفعّلين للفهرس الأساسي، فسيُحمَّل إلى cache عند الطلب (على غرار mark cache) بدلًا من إبقائه في الذاكرة دائمًا. كما أُضيف prewarm للفهرس الأساسي عند عمليات الإدراج/الدمج/الجلب الخاصة بـ data parts، وعند إعادة تشغيل table (يمكن تفعيله عبر الإعداد `prewarm_primary_key_cache`). يتيح ذلك خفض memory usage للجداول الضخمة على التخزين المشترك، وقد اختبرناه على جداول تضم أكثر من كوادريليون سجل. [#72102](https://github.com/ClickHouse/ClickHouse/pull/72102) ([Anton Popov](https://github.com/CurtizJ)). [#72750](https://github.com/ClickHouse/ClickHouse/pull/72750) ([Alexander Gololobov](https://github.com/davenger)).
* تنفيذ الأمر `SYSTEM LOAD PRIMARY KEY` لتحميل primary indexes لجميع parts في table محدد، أو لجميع tables إذا لم يُحدَّد table. سيكون ذلك مفيدًا لاختبارات benchmark ولتجنّب زمن استجابة إضافي أثناء تنفيذ query. [#66252](https://github.com/ClickHouse/ClickHouse/pull/66252) [#67733](https://github.com/ClickHouse/ClickHouse/pull/67733) ([ZAWA\_ll](https://github.com/Zawa-ll)).
* أُضيف query يتيح Attach جداول `MergeTree` كـ `ReplicatedMergeTree` والعكس صحيح: `ATTACH TABLE ... AS REPLICATED` و `ATTACH TABLE ... AS NOT REPLICATED`. [#65401](https://github.com/ClickHouse/ClickHouse/pull/65401) ([Kirill](https://github.com/kirillgarbar)).
* إعداد جديد، `http_response_headers`، يتيح لك تخصيص headers الخاصة باستجابات HTTP. فعلى سبيل المثال، يمكنك توجيه المتصفح لعرض صورة مخزّنة في database. وهذا يحل [#59620](https://github.com/ClickHouse/ClickHouse/issues/59620). [#72656](https://github.com/ClickHouse/ClickHouse/pull/72656) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة الدالة `toUnixTimestamp64Second` التي تحوّل `DateTime64` إلى قيمة `Int64` بدقة ثوانٍ ثابتة، بما يتيح دعم إرجاع قيم سالبة إذا كان التاريخ يسبق حقبة يونكس. [#70597](https://github.com/ClickHouse/ClickHouse/pull/70597) ([zhanglistar](https://github.com/zhanglistar)). [#73146](https://github.com/ClickHouse/ClickHouse/pull/73146) ([Robert Schulze](https://github.com/rschu1ze)).
* إضافة إعداد جديد `enforce_index_structure_match_on_partition_manipulation` للسماح بعملية attach عندما تكون projections وsecondary indices الخاصة بـ source table مجموعة جزئية من تلك الموجودة في target table. وهذا يحل [#70602](https://github.com/ClickHouse/ClickHouse/issues/70602). [#70603](https://github.com/ClickHouse/ClickHouse/pull/70603) ([zwy991114](https://github.com/zwy991114)).
* إضافة الصياغة ALTER USER `{ADD|MODIFY|DROP SETTING}`، وALTER USER `{ADD|DROP PROFILE}`، والأمر نفسه لـ ALTER ROLE وALTER PROFILE. وبذلك، بدلًا من استبدال مجموعة Settings بالكامل، يمكنك تعديلها. [#72050](https://github.com/ClickHouse/ClickHouse/pull/72050) ([pufit](https://github.com/pufit)).
* تمت إضافة الدالة `arrayPRAUC`، التي تحسب AUC ‏(المساحة تحت المنحنى) لمنحنى Precision Recall. [#72073](https://github.com/ClickHouse/ClickHouse/pull/72073) ([Emmanuel](https://github.com/emmanuelsdias)).
* تمت إضافة الدالة `indexOfAssumeSorted` لأنواع المصفوفات. وهي تُحسّن البحث عندما تكون المصفوفة مرتبة ترتيبًا غير تنازلي. ويظهر أثر ذلك مع المصفوفات الكبيرة جدًا (أكثر من 100,000 عنصر). [#72517](https://github.com/ClickHouse/ClickHouse/pull/72517) ([Eric Kurbanov](https://github.com/erickurbanov)).
* يتيح استخدام فاصل كمُعاملٍ ثانٍ اختياري للدالة التجميعية `groupConcat`. [#72540](https://github.com/ClickHouse/ClickHouse/pull/72540) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* أصبحت الدالة `translate` تدعم الآن حذف الأحرف إذا كان المُعامل `from` يحتوي على أحرف أكثر من المُعامل `to`. مثال: `SELECT translate('clickhouse', 'clickhouse', 'CLICK')` تُرجع الآن `CLICK`. [#71441](https://github.com/ClickHouse/ClickHouse/pull/71441) ([shuai.xu](https://github.com/shuai-xu)).

<div id="experimental-features">
  #### الميزات التجريبية
</div>

* إعداد جديد لـ MergeTree باسم `allow_experimental_reverse_key` يتيح دعم ترتيب الفرز التنازلي في مفاتيح الفرز الخاصة بـ MergeTree. ويُعد هذا مفيدًا لتحليل السلاسل الزمنية، وخاصةً في استعلامات TopN. مثال على الاستخدام: `ENGINE = MergeTree ORDER BY (time DESC, key)` - ترتيب تنازلي للحقل `time`. [#71095](https://github.com/ClickHouse/ClickHouse/pull/71095) ([Amos Bird](https://github.com/amosbird)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* إعادة ترتيب JOIN. أُضيف خيار لتحديد جانب الـ join الذي سيعمل بوصفه الجدول الداخلي (build) في خطة query. يتحكم في ذلك الإعداد `query_plan_join_swap_table`، ويمكن ضبطه على `auto`. في هذا الوضع، سيحاول ClickHouse اختيار الجدول ذي أقل عدد من الصفوف. [#71577](https://github.com/ClickHouse/ClickHouse/pull/71577) ([Vladimir Cherkasov](https://github.com/vdimir)).
* ستُستخدم الآن خوارزمية `parallel_hash` (عند انطباق ذلك) عندما يكون الإعداد `join_algorithm` مضبوطًا على `default`. وسيظل البديلان السابقان (`direct` و`hash`) قيد الاستخدام إذا تعذر استخدام `parallel_hash`. [#70788](https://github.com/ClickHouse/ClickHouse/pull/70788) ([Nikita Taranov](https://github.com/nickitat)).
* أُضيف خيار لاستخراج التعبيرات المشتركة من تعبيري `WHERE` و`ON` لتقليل عدد جداول hash المستخدمة أثناء عمليات join. ويكون ذلك مفيدًا عندما يحتوي شرط JOIN ON على أجزاء مشتركة داخل AND ضمن أجزاء OR مختلفة. يمكن تفعيل ذلك عبر `optimize_extract_common_expressions = 1`. [#71537](https://github.com/ClickHouse/ClickHouse/pull/71537) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* يتيح استخدام الفهارس في `SELECT` عندما يُحوَّل عمود مفهرس باستخدام CAST إلى `LowCardinality(String)`، وهو ما قد يحدث عند تشغيل query على Merge table تحتوي بعض جداوله على `String` وبعضها الآخر على `LowCardinality(String)`. [#71598](https://github.com/ClickHouse/ClickHouse/pull/71598) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* أثناء تنفيذ query باستخدام parallel replicas ومع تفعيل الخطة المحلية، لا يُجرى index analysis على workers. وسيختار coordinator النطاقات المطلوب قراءتها لـ workers استنادًا إلى index analysis من جهته (على initiator الخاص بالـ query). وهذا يجعل الاستعلامات القصيرة مع parallel replicas تتمتع بزمن استجابة منخفض يماثل استعلامات العقدة الواحدة. [#72109](https://github.com/ClickHouse/ClickHouse/pull/72109) ([Igor Nikonov](https://github.com/devcrafter)).
* خُفِّض استهلاك الذاكرة في `clickhouse disks remove --recursive` لأقراص object storage. [#67323](https://github.com/ClickHouse/ClickHouse/pull/67323) ([Kirill](https://github.com/kirillgarbar)).
* استُعيد التحسين الخاص بقراءة subcolumns لعمود واحد في compact parts من [#57631](https://github.com/ClickHouse/ClickHouse/pull/57631). إذ حُذف سابقًا بالخطأ. [#72285](https://github.com/ClickHouse/ClickHouse/pull/72285) ([Pavel Kruglov](https://github.com/Avogar)).
* تسريع فرز الأعمدة `LowCardinality(String)` عبر إزالة الافتراضية من الاستدعاءات داخل المقارن. [#72337](https://github.com/ClickHouse/ClickHouse/pull/72337) ([Alexander Gololobov](https://github.com/davenger)).
* تحسين الدالة `argMin`/`argMax` لبعض data types البسيطة. [#72350](https://github.com/ClickHouse/ClickHouse/pull/72350) ([alesapin](https://github.com/alesapin)).
* تحسين آلية القفل باستخدام الأقفال المشتركة في memory tracker لتقليل التنافس على الأقفال، مما يحسن الأداء على الأنظمة التي تحتوي على عدد كبير جدًا من وحدات CPU. [#72375](https://github.com/ClickHouse/ClickHouse/pull/72375) ([Jiebin Sun](https://github.com/jiebinn)).
* أُضيف إعداد جديد، `use_async_executor_for_materialized_views`. يستخدم تنفيذًا غير متزامن، وربما متعدد الخيوط، لـ query الخاص بالـ materialized view، ما قد يسرّع معالجة views أثناء INSERT، لكنه يستهلك أيضًا مزيدًا من الذاكرة. [#72497](https://github.com/ClickHouse/ClickHouse/pull/72497) ([alesapin](https://github.com/alesapin)).
* تحسين أداء deserialization لحالات aggregate functions (في data type `AggregateFunction` وفي distributed queries). كما تحسن قليلًا أداء parsing للتنسيق `RowBinary`. [#72818](https://github.com/ClickHouse/ClickHouse/pull/72818) ([Anton Popov](https://github.com/CurtizJ)).
* تقسيم ranges أثناء القراءة باستخدام parallel replicas وفق ترتيب مفتاح الجدول لاستهلاك ذاكرة أقل أثناء القراءة. [#72173](https://github.com/ClickHouse/ClickHouse/pull/72173) ([JIaQi](https://github.com/JiaQiTang98)).
* تسريع عمليات الإدراج في MergeTree في حال وجود قيمة واحدة فقط لمفتاح التقسيم داخل الدفعة المُدرَجة. [#72348](https://github.com/ClickHouse/ClickHouse/pull/72348) ([alesapin](https://github.com/alesapin)).
* تنفيذ إنشاء الجداول بالتوازي أثناء الاستعادة من نسخة احتياطية. قبل طلب السحب هذا، كان الأمر `RESTORE` ينشئ الجداول دائمًا ضمن thread واحدة، ما قد يكون بطيئًا في حال النسخ الاحتياطية التي تحتوي على عدد كبير من الجداول. [#72427](https://github.com/ClickHouse/ClickHouse/pull/72427) ([Vitaly Baranov](https://github.com/vitlibar)).
* قد يستغرق إسقاط mark cache وقتًا ملحوظًا إذا كان كبيرًا. وإذا احتفظنا بـ mutex الخاص بـ Context أثناء ذلك، فسيؤدي هذا إلى تعطيل كثير من الأنشطة الأخرى، بل وحتى اتصال client جديد لن يمكن إنشاؤه إلى أن يتم تحريره. وفي الواقع، لا يلزم الاحتفاظ بهذا الـ mutex للمزامنة، إذ يكفي وجود مرجع محلي إلى cache عبر shared ptr. [#72749](https://github.com/ClickHouse/ClickHouse/pull/72749) ([Alexander Gololobov](https://github.com/davenger)).

<div id="improvement">
  #### تحسينات
</div>

* أُزيل الإعداد `allow_experimental_join_condition`، ما يتيح شروط non-equi افتراضيًا. [#69910](https://github.com/ClickHouse/ClickHouse/pull/69910) ([Vladimir Cherkasov](https://github.com/vdimir)).
* أصبحت الإعدادات الواردة من تهيئة server ‏(`users.xml`) تُطبَّق الآن على client أيضًا. وهذا مفيد لإعدادات `format`، مثل `date_time_output_format`. [#71178](https://github.com/ClickHouse/ClickHouse/pull/71178) ([Michael Kolupaev](https://github.com/al13n321)).
* تنفيذ `GROUP BY`/`ORDER BY` تلقائيًا على القرص استنادًا إلى استخدام ذاكرة server/المستخدم. ويُتحكَّم في ذلك عبر إعدادات query ‏`max_bytes_ratio_before_external_group_by`/`max_bytes_ratio_before_external_sort`. [#71406](https://github.com/ClickHouse/ClickHouse/pull/71406) ([Azat Khuzhin](https://github.com/azat)).
* أُضيف منطق جديد للإلغاء: يتحقق `CancellationChecker` من حالات timeout لكل query بدأ تنفيذها ويوقفها بمجرد بلوغ المهلة الزمنية. [#69880](https://github.com/ClickHouse/ClickHouse/pull/69880) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* دعم ALTER من `Object` إلى `JSON`، ما يعني أنه يمكنك الترحيل بسهولة من نوع Object المصنَّف كمُهمل. [#71784](https://github.com/ClickHouse/ClickHouse/pull/71784) ([Pavel Kruglov](https://github.com/Avogar)).
* السماح بقيم غير معروفة في set وغير موجودة في Enum. إصلاح [#72662](https://github.com/ClickHouse/ClickHouse/issues/72662). [#72686](https://github.com/ClickHouse/ClickHouse/pull/72686) ([zhanglistar](https://github.com/zhanglistar)).
* دعم عامل البحث في السلاسل النصية (مثل LIKE) لنوع البيانات `Enum`، تنفيذًا لـ [#72661](https://github.com/ClickHouse/ClickHouse/issues/72661). [#72732](https://github.com/ClickHouse/ClickHouse/pull/72732) ([zhanglistar](https://github.com/zhanglistar)).
* كان يتم قبول بعض استعلامات ALTER USER غير المنطقية. إصلاح [#71227](https://github.com/ClickHouse/ClickHouse/issues/71227). [#71286](https://github.com/ClickHouse/ClickHouse/pull/71286) ([Arthur Passos](https://github.com/arthurpassos)).
* مراعاة `prefer_locahost_replica` عند بناء plan لعملية `INSERT ... SELECT` الموزعة. [#72190](https://github.com/ClickHouse/ClickHouse/pull/72190) ([filimonov](https://github.com/filimonov)).
* خالفت Azure مواصفة Iceberg، إذ صنّفت Iceberg v1 على نحو خاطئ على أنه Iceberg v2. المشكلة [موصوفة هنا](https://github.com/ClickHouse/ClickHouse/issues/72091). ينشئ Azure Iceberg Writer ملفات Iceberg metadata (وكذلك manifest files) بما يخالف المواصفات. نحاول الآن قراءة metadata الخاصة بتنسيق Iceberg v1 باستخدام قارئ v2 (لأنها تُكتَب بهذه الطريقة)، وأُضيف أيضًا error عندما لا تُنشأ الحقول المقابلة في manifest file. [#72277](https://github.com/ClickHouse/ClickHouse/pull/72277) ([Daniil Ivanik](https://github.com/divanik)).
* أصبح مسموحًا الآن استخدام `CREATE MATERIALIZED VIEW` مع `UNION [ALL]` في query. والسلوك مماثل لما يحدث مع materialized view التي تستخدم `JOIN`: إذ لن يعمل كمُشغِّل لعملية insert سوى أول table في تعبير `SELECT`، بينما ستُتجاهل جميع الجداول الأخرى. ومع ذلك، إذا كانت هناك عدة مراجع إلى الجدول الأول (على سبيل المثال، UNION مع نفسه)، فستُعالَج جميعها على أنها block البيانات المُدرجة. [#72347](https://github.com/ClickHouse/ClickHouse/pull/72347) ([alesapin](https://github.com/alesapin)).
* أُضيف التحقق من صحة source query عند استخدام ClickHouse كمصدر لقاموس. [#72548](https://github.com/ClickHouse/ClickHouse/pull/72548) ([Alexey Katsman](https://github.com/alexkats)).
* ضمان أن ClickHouse سيرى تغييرات ZooKeeper عند إعادة تحميل config. [#72593](https://github.com/ClickHouse/ClickHouse/pull/72593) ([Azat Khuzhin](https://github.com/azat)).
* تحسين تقدير استخدام الذاكرة للـ marks المخزنة مؤقتًا لتقليل إجمالي استخدام الذاكرة في cache. [#72630](https://github.com/ClickHouse/ClickHouse/pull/72630) ([Antonio Andelic](https://github.com/antonio2368)).
* أُضيف مقياس جديد باسم `StartupScriptsExecutionState`. ويمكن أن يأخذ هذا المقياس ثلاث قيم: 0 = لم تنتهِ برامج بدء التشغيل النصية بعد، 1 = نُفِّذت برامج بدء التشغيل النصية بنجاح، 2 = فشلت برامج بدء التشغيل النصية. نحتاج إلى هذا المقياس لمعرفة ما إذا كانت برامج بدء التشغيل النصية تُنفَّذ بنجاح في السحابة، خصوصًا بعد إصدارات التكوينات الأساسية. [#72637](https://github.com/ClickHouse/ClickHouse/pull/72637) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* أُضيف المقياس الجديد `MergeTreeIndexGranularityInternalArraysTotalSize` إلى `system.metrics`. وتبرز الحاجة إلى هذا المقياس للعثور على المثيلات ذات مجموعات البيانات الضخمة المعرّضة للارتفاع
* أُضيفت عمليات إعادة المحاولة عند إنشاء جدول replicated. [#72682](https://github.com/ClickHouse/ClickHouse/pull/72682) ([Vitaly Baranov](https://github.com/vitlibar)).
* أُضيف `total_bytes_with_inactive` إلى `system.tables` لاحتساب إجمالي البايتات الخاصة بالأجزاء غير النشطة. [#72690](https://github.com/ClickHouse/ClickHouse/pull/72690) ([Kai Zhu](https://github.com/nauu)).
* أُضيفت إعدادات MergeTree إلى `system.settings_changes`. [#72694](https://github.com/ClickHouse/ClickHouse/pull/72694) ([Raúl Marín](https://github.com/Algunenano)).
* أُضيف دعم JSON type في الدالة `notEmpty`. [#72741](https://github.com/ClickHouse/ClickHouse/pull/72741) ([Pavel Kruglov](https://github.com/Avogar)).
* أُضيف دعم تحليل خطأ GCS S3 `AuthenticationRequired`. [#72753](https://github.com/ClickHouse/ClickHouse/pull/72753) ([Vitaly Baranov](https://github.com/vitlibar)).
* أُضيف دعم النوع `Dynamic` في الدالتين `ifNull` و`coalesce`. [#72772](https://github.com/ClickHouse/ClickHouse/pull/72772) ([Pavel Kruglov](https://github.com/Avogar)).
* أُضيف دعم `Dynamic` في الدوال `toFloat64`/`touInt32`/إلخ. [#72989](https://github.com/ClickHouse/ClickHouse/pull/72989) ([Pavel Kruglov](https://github.com/Avogar)).
* أُضيفت إعدادات طلبات S3: `http_max_fields` و`http_max_field_name_size` و`http_max_field_value_size`، وتُستخدم أثناء تحليل استجابات واجهة برمجة تطبيقات S3 عند إنشاء نسخة احتياطية أو الاستعادة. [#72778](https://github.com/ClickHouse/ClickHouse/pull/72778) ([Vitaly Baranov](https://github.com/vitlibar)).
* لا تُحذف البيانات الوصفية للجدول في Keeper ضمن Storage S3(Azure)Queue إلا بعد حذف آخر جدول يستخدم هذه البيانات الوصفية. [#72810](https://github.com/ClickHouse/ClickHouse/pull/72810) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أُضيفت profile events `JoinBuildTableRowCount`/`JoinProbeTableRowCount/JoinResultRowCount`. [#72842](https://github.com/ClickHouse/ClickHouse/pull/72842) ([Vladimir Cherkasov](https://github.com/vdimir)).
* أُضيف دعم الأعمدة الفرعية في sorting key الخاص بـ MergeTree وفي skip indexes. [#72644](https://github.com/ClickHouse/ClickHouse/pull/72644) ([Pavel Kruglov](https://github.com/Avogar)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### إصلاح خطأ
</div>

* إصلاح احتمال وجود أجزاء متداخلة في MergeTree (بعد فشل عملية نقل جزء إلى الدليل `detached`، وربما كان ذلك بسبب عملية على object storage). [#70476](https://github.com/ClickHouse/ClickHouse/pull/70476) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح اكتشاف الخطأ عندما يكون اسم الجدول طويلًا جدًا، مع توفير رسالة تشخيصية توضح الحد الأقصى للطول. وإضافة دالة جديدة `getMaxTableNameLengthForDatabase`. [#70810](https://github.com/ClickHouse/ClickHouse/pull/70810) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح العمليات اليتيمة بعد تعطل `clickhouse-library-bridge` (يتيح هذا البرنامج تشغيل مكتبات غير آمنة). [#71301](https://github.com/ClickHouse/ClickHouse/pull/71301) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* إصلاح خطأ NoSuchKey أثناء التراجع عن transaction عند فشل إنشاء directory للقرص `plain_rewritable`. [#71439](https://github.com/ClickHouse/ClickHouse/pull/71439) ([Julia Kartseva](https://github.com/jkartseva)).
* إصلاح serialization لقيم `Dynamic` في JSON formats من نوع `Pretty`. [#71923](https://github.com/ClickHouse/ClickHouse/pull/71923) ([Pavel Kruglov](https://github.com/Avogar)).
* إضافة اسم format المُستنتَج إلى create query في محركات `File`/`S3`/`URL`/`HDFS`/`Azure`. سابقًا، كان اسم التنسيق يُستنتج في كل مرة يُعاد فيها تشغيل server، وإذا أزيلت data files المحددة، كان ذلك يؤدي إلى أخطاء أثناء بدء تشغيل الخادم. [#72108](https://github.com/ClickHouse/ClickHouse/pull/72108) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح أخطاء عند استخدام UDF في join على expression مع analyzer القديم. [#72179](https://github.com/ClickHouse/ClickHouse/pull/72179) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح بعض الأخطاء الصغيرة في `StorageObjectStorage`. ويتطلب ذلك تمكين `use_hive_partitioning` افتراضيًا. [#72185](https://github.com/ClickHouse/ClickHouse/pull/72185) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح خلل كان يؤدي إلى تعثر `min_age_to_force_merge_on_partition_only` في محاولة دمج partition نفسها مرارًا رغم أنها كانت قد دُمجت بالفعل في part واحدة، مع عدم دمج الـ partitions التي تحتوي على parts متعددة. [#72209](https://github.com/ClickHouse/ClickHouse/pull/72209) ([Christoph Wurm](https://github.com/cwurm)).
* إصلاح تعطل في `SimpleSquashingChunksTransform` كان يحدث في حالات نادرة عند processing الأعمدة sparse. [#72226](https://github.com/ClickHouse/ClickHouse/pull/72226) ([Vladimir Cherkasov](https://github.com/vdimir)).
* إصلاح data race في `GraceHashJoin` كانت قد تؤدي إلى غياب بعض rows من مخرجات join. [#72233](https://github.com/ClickHouse/ClickHouse/pull/72233) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح استعلامات `ALTER DELETE` مع العمود materialized `_block_number` (إذا كان الإعداد `enable_block_number_column` مفعّلًا). [#72261](https://github.com/ClickHouse/ClickHouse/pull/72261) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح data race عند استدعاء `ColumnDynamic::dumpStructure()` بشكل concurrent، مثلًا في مُنشئ `ConcurrentHashJoin`. [#72278](https://github.com/ClickHouse/ClickHouse/pull/72278) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح احتمال حدوث `LOGICAL_ERROR` مع الأعمدة المكررة في `ORDER BY ... WITH FILL`. [#72387](https://github.com/ClickHouse/ClickHouse/pull/72387) ([Vladimir Cherkasov](https://github.com/vdimir)).
* إصلاح عدم تطابق الأنواع في عدة حالات بعد تطبيق `optimize_functions_to_subcolumns`. [#72394](https://github.com/ClickHouse/ClickHouse/pull/72394) ([Anton Popov](https://github.com/CurtizJ)).
* استخدم `AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE` بدلًا من `AWS_CONTAINER_AUTHORIZATION_TOKEN_PATH`. يُصلح [#71074](https://github.com/ClickHouse/ClickHouse/issues/71074). [#72397](https://github.com/ClickHouse/ClickHouse/pull/72397) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* إصلاح فشل تحليل استعلامات `BACKUP DATABASE db EXCEPT TABLES db.table`. [#72429](https://github.com/ClickHouse/ClickHouse/pull/72429) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* منع إنشاء `Variant` فارغ. [#72454](https://github.com/ClickHouse/ClickHouse/pull/72454) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح التنسيق غير الصحيح لـ `result_part_path` في `system.merges`. [#72567](https://github.com/ClickHouse/ClickHouse/pull/72567) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* إصلاح تحليل نمط glob يتكوّن من عنصر واحد (مثل `{file}`). [#72572](https://github.com/ClickHouse/ClickHouse/pull/72572) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* إصلاح توليد الاستعلام للخادم التابع في حالة وجود distributed query مع `ARRAY JOIN`. يُصلح [#69276](https://github.com/ClickHouse/ClickHouse/issues/69276). [#72608](https://github.com/ClickHouse/ClickHouse/pull/72608) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح خطأ يحدث عندما لا تُرجع `DateTime64 IN DateTime64` أي نتائج. [#72640](https://github.com/ClickHouse/ClickHouse/pull/72640) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح عدم اتساق البيانات الوصفية عند إضافة replica جديدة إلى قاعدة بيانات Replicated تحتوي على جدول أُنشئ باستخدام `flatten_nested=0`. [#72685](https://github.com/ClickHouse/ClickHouse/pull/72685) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح إعدادات SSL المتقدمة للاتصال الداخلي في Keeper. [#72730](https://github.com/ClickHouse/ClickHouse/pull/72730) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح خطأ "No such key" في الوضع غير المرتب لـ S3Queue عندما يكون الإعداد `tracked_files_limit` أصغر من معدل ظهور ملفات S3. [#72738](https://github.com/ClickHouse/ClickHouse/pull/72738) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح الاستثناء الذي يطرحه RemoteQueryExecutor عندما لا يكون المستخدم موجودًا محليًا. [#72759](https://github.com/ClickHouse/ClickHouse/pull/72759) ([Andrey Zvonov](https://github.com/zvonand)).
* إصلاح mutations مع العمود materialized `_block_number` (إذا كان الإعداد `enable_block_number_column` مُمكّنًا). [#72854](https://github.com/ClickHouse/ClickHouse/pull/72854) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح النسخ الاحتياطي/الاستعادة مع disk عادي قابل لإعادة الكتابة في حال وجود ملفات فارغة في النسخة الاحتياطية. [#72858](https://github.com/ClickHouse/ClickHouse/pull/72858) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إلغاء inserts بشكل صحيح في DistributedAsyncInsertDirectoryQueue. [#72885](https://github.com/ClickHouse/ClickHouse/pull/72885) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح تعطل أثناء تحليل بيانات غير صحيحة إلى أعمدة متناثرة (قد يحدث ذلك عند تمكين الإعداد `enable_parsing_to_custom_serialization`). [#72891](https://github.com/ClickHouse/ClickHouse/pull/72891) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح احتمال حدوث تعطل أثناء استعادة النسخة الاحتياطية. [#72947](https://github.com/ClickHouse/ClickHouse/pull/72947) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح خطأ في أسلوب JOIN `parallel_hash` قد يظهر عندما يحتوي الاستعلام على شرط معقد في العبارة `ON` مع عوامل تصفية لعدم المساواة. [#72993](https://github.com/ClickHouse/ClickHouse/pull/72993) ([Nikita Taranov](https://github.com/nickitat)).
* استخدام إعدادات التنسيق الافتراضية أثناء تحليل JSON لتجنّب تعطّل فك التسلسل. [#73043](https://github.com/ClickHouse/ClickHouse/pull/73043) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح تعطل في المعاملات عند استخدام وحدة تخزين غير مدعومة. [#73045](https://github.com/ClickHouse/ClickHouse/pull/73045) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح احتمال المبالغة في تقدير تتبّع الذاكرة (عندما كان الفرق بين `MemoryTracking` و `MemoryResident` يواصل الازدياد). [#73081](https://github.com/ClickHouse/ClickHouse/pull/73081) ([Azat Khuzhin](https://github.com/azat)).
* التحقق من وجود مفاتيح JSON مكررة أثناء تحليل Tuple. وكان هذا قد يؤدي سابقًا إلى خطأ منطقي `Invalid number of rows in Chunk` أثناء التحليل. [#73082](https://github.com/ClickHouse/ClickHouse/pull/73082) ([Pavel Kruglov](https://github.com/Avogar)).

<div id="buildtestingpackaging-improvement">
  #### تحسينات البناء/الاختبار/التغليف
</div>

* أصبحت جميع الأدوات الصغيرة التي كانت موجودة سابقًا في المجلد `/utils` وتتطلب ترجمتها برمجيًا يدويًا من الشيفرة المصدرية جزءًا من حزمة ClickHouse الرئيسية. وهذا يغلق: [#72404](https://github.com/ClickHouse/ClickHouse/issues/72404). [#72426](https://github.com/ClickHouse/ClickHouse/pull/72426) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* التراجع عن إزالة `/etc/systemd/system/clickhouse-server.service` التي أُدخلت في الإصدار 22.3 [#39323](https://github.com/ClickHouse/ClickHouse/issues/39323). [#72259](https://github.com/ClickHouse/ClickHouse/pull/72259) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* تقسيم وحدات الترجمة الكبيرة لتجنب فشل الترجمة البرمجية بسبب قيود الذاكرة وCPU. [#72352](https://github.com/ClickHouse/ClickHouse/pull/72352) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* OSX: البناء مع دعم ICU، مما يتيح collations، وتحويلات مجموعات المحارف، وميزات التوطين الأخرى. [#73083](https://github.com/ClickHouse/ClickHouse/pull/73083) ([Raúl Marín](https://github.com/Algunenano)).

### <a id="2411" /> إصدار ClickHouse 24.11، بتاريخ 2024-11-26. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.11/)، [الفيديو](https://www.youtube.com/watch?v=0hpTvtq__4g)

<Frame>
  <iframe src="https://www.youtube.com/embed/0hpTvtq__4g" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* أزل جداول النظام `generate_series` و`generateSeries`. أُضيفت هنا عن طريق الخطأ: [#59390](https://github.com/ClickHouse/ClickHouse/issues/59390). [#71091](https://github.com/ClickHouse/ClickHouse/pull/71091) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أزل `StorageExternalDistributed`. يُغلق [#70600](https://github.com/ClickHouse/ClickHouse/issues/70600).[#71176](https://github.com/ClickHouse/ClickHouse/pull/71176) ([flynn](https://github.com/ucasfl)).
* أصبحت محركات الجداول Kafka وNATS وRabbitMQ مشمولة الآن بأذوناتها الخاصة ضمن التسلسل الهرمي `SOURCES`. أضف الأذونات إلى أي مستخدمي قاعدة بيانات غير `default` ينشئون جداول بهذه الأنواع من المحركات. [#71250](https://github.com/ClickHouse/ClickHouse/pull/71250) ([Christoph Wurm](https://github.com/cwurm)).
* تحقّق من استعلام mutation الكامل قبل تنفيذه (بما في ذلك الاستعلامات الفرعية). يمنع هذا تشغيل استعلام غير صالح عن طريق الخطأ وتراكم mutations ميتة تعيق mutations الصالحة. [#71300](https://github.com/ClickHouse/ClickHouse/pull/71300) ([Christoph Wurm](https://github.com/cwurm)).
* أعد تسمية إعداد ذاكرة التخزين المؤقت لنظام الملفات `skip_download_if_exceeds_query_cache` إلى `filesystem_cache_skip_download_if_exceeds_per_query_cache_write_limit`. [#71578](https://github.com/ClickHouse/ClickHouse/pull/71578) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أزل دعم `Enum` وكذلك الوسيطات من النوع `UInt128` و`UInt256` في `deltaSumTimestamp`. وأزل أيضًا دعم `Int8` و`UInt8` و`Int16` و`UInt16` للوسيطة الثانية ("timestamp") في `deltaSumTimestamp`. [#71790](https://github.com/ClickHouse/ClickHouse/pull/71790) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* عند استرجاع البيانات مباشرةً من Dictionary باستخدام تخزين Dictionary، أو دالة الجدول الخاصة بالقاموس، أو تنفيذ SELECT مباشر من القاموس نفسه، أصبح يكفي الآن امتلاك إذن `SELECT` أو إذن `dictGet` للقاموس. يتماشى هذا مع المحاولات السابقة لمنع تجاوزات ACL: [https://github.com/ClickHouse/ClickHouse/pull/57362](https://github.com/ClickHouse/ClickHouse/pull/57362) و [https://github.com/ClickHouse/ClickHouse/pull/65359](https://github.com/ClickHouse/ClickHouse/pull/65359). كما يجعل الأخيرة متوافقة أيضًا مع الإصدارات السابقة. [#72051](https://github.com/ClickHouse/ClickHouse/pull/72051) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* إضافة `allow_feature_tier` كمفتاح تبديل عام لتعطيل جميع الميزات التجريبية / ميزات بيتا. [#71841](https://github.com/ClickHouse/ClickHouse/pull/71841) [#71145](https://github.com/ClickHouse/ClickHouse/pull/71145) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح خطأ محتمل `No such file or directory` بسبب وجود رموز خاصة غير مُهربة في الملفات الخاصة بالأعمدة الفرعية لـ JSON. [#71182](https://github.com/ClickHouse/ClickHouse/pull/71182) ([Pavel Kruglov](https://github.com/Avogar)).
* دعم ALTER من String إلى JSON. ويغيّر طلب السحب هذا أيضًا تسلسل نوعَي JSON وDynamic إلى الإصدار الجديد V2. ولا يزال بالإمكان استخدام الإصدار القديم V1 عبر تفعيل الإعداد `merge_tree_use_v1_object_and_dynamic_serialization` (يمكن استخدامه أثناء الترقية حتى تظل إمكانية التراجع عن الإصدار متاحةً دون مشكلات). [#70442](https://github.com/ClickHouse/ClickHouse/pull/70442) ([Pavel Kruglov](https://github.com/Avogar)).
* إضافة CAST بسيط من Map/Tuple/Object إلى JSON الجديد عبر التسلسل/إلغاء التسلسل من سلسلة JSON. [#71320](https://github.com/ClickHouse/ClickHouse/pull/71320) ([Pavel Kruglov](https://github.com/Avogar)).
* عدم السماح افتراضيًا باستخدام أنواع Variant/Dynamic في ORDER BY/GROUP BY/PARTITION BY/PRIMARY KEY لأنها قد تؤدي إلى نتائج غير متوقعة. [#69731](https://github.com/ClickHouse/ClickHouse/pull/69731) ([Pavel Kruglov](https://github.com/Avogar)).
* حظر استخدام أنواع Dynamic/Variant في دوال min/max لتجنّب الالتباس. [#71761](https://github.com/ClickHouse/ClickHouse/pull/71761) ([Pavel Kruglov](https://github.com/Avogar)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* أُضيفت صيغة SQL لوصف إدارة عبء العمل والموارد. [https://clickhouse.com/docs/operations/workload-scheduling](https://clickhouse.com/docs/operations/workload-scheduling). [#69187](https://github.com/ClickHouse/ClickHouse/pull/69187) ([Sergei Trifonov](https://github.com/serxa)).
* نوع بيانات جديد، `BFloat16`، يمثّل أعداد الفاصلة العائمة ذات 16 بت مع أسّ من 8 بتات، وإشارة، ومانتيسا من 7 بتات. وهذا يُغلق [#44206](https://github.com/ClickHouse/ClickHouse/issues/44206). وهذا يُغلق [#49937](https://github.com/ClickHouse/ClickHouse/issues/49937). [#64712](https://github.com/ClickHouse/ClickHouse/pull/64712) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُضيف استعلام `CHECK GRANT` للتحقق مما إذا كان المستخدم/الدور الحالي قد مُنح الامتياز المحدد، وما إذا كان الجدول/العمود المقابل موجودًا في الذاكرة. [#68885](https://github.com/ClickHouse/ClickHouse/pull/68885) ([Unalian](https://github.com/Unalian)).
* أُضيفت دوال الجداول `iceberg[S3;HDFS;Azure]Cluster` و`deltaLakeCluster` و`hudiCluster`. [#72045](https://github.com/ClickHouse/ClickHouse/pull/72045) ([Mikhail Artemenko](https://github.com/Michicosun)).
* أُضيفت إمكانية تعيين اسم المستخدم/كلمة المرور في `http_handlers` (لـ `dynamic_query_handler`/`predefined_query_handler`). [#70725](https://github.com/ClickHouse/ClickHouse/pull/70725) ([Azat Khuzhin](https://github.com/azat)).
* أُضيف دعم لبند staleness في ORDER BY WITH FILL. [#71151](https://github.com/ClickHouse/ClickHouse/pull/71151) ([Mikhail Artemenko](https://github.com/Michicosun)).
* أصبح بإمكان كل طريقة authentication أن يكون لها تاريخ انتهاء صلاحية خاص بها، وأُزيل ذلك من كيان المستخدم. [#70090](https://github.com/ClickHouse/ClickHouse/pull/70090) ([Arthur Passos](https://github.com/arthurpassos)).
* أُضيفت الدوال الجديدة `parseDateTime64` و`parseDateTime64OrNull` و`parseDateTime64OrZero`. وبالمقارنة مع الدالة الحالية `parseDateTime` (ومتغيراتها)، فإنها تُرجع قيمة من النوع `DateTime64` بدلًا من `DateTime`. [#71581](https://github.com/ClickHouse/ClickHouse/pull/71581) ([kevinyhzou](https://github.com/KevinyhZou)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* جرى تحسين استخدام الذاكرة لقيم `index granularity` إذا كانت `granularity` ثابتة للـ part. وأُضيفت إمكانية اختيار `granularity` ثابتة دائمًا للـ part (الإعداد `use_const_adaptive_granularity`)، مما يساعد على ضمان تحسين استخدامها في الذاكرة دائمًا. ويساعد ذلك في أعباء العمل الكبيرة (تريليونات من الصفوف في التخزين المشترك) على تجنب الزيادة المستمرة في استخدام الذاكرة بسبب metadata الخاصة بـ data parts (قيم `index granularity`). [#71786](https://github.com/ClickHouse/ClickHouse/pull/71786) ([Anton Popov](https://github.com/CurtizJ)).
* لم نعد ننسخ columns الخاصة بـ input blocks عند `join_algorithm = 'parallel_hash'` أثناء توزيعها بين threads للمعالجة المتوازية. [#67782](https://github.com/ClickHouse/ClickHouse/pull/67782) ([Nikita Taranov](https://github.com/nickitat)).
* جرى تحسين خوارزمية merge الخاصة بـ `Replacing` للأجزاء غير المتقاطعة. [#70977](https://github.com/ClickHouse/ClickHouse/pull/70977) ([Anton Popov](https://github.com/CurtizJ)).
* لا تُدرج detached parts من الأقراص readonly وأحادية الكتابة ضمن metrics و system.detached\_parts. [#71086](https://github.com/ClickHouse/ClickHouse/pull/71086) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* لا تُحتسب heavy asynchronous metrics افتراضيًا. أُضيفت هذه الميزة في [#40332](https://github.com/ClickHouse/ClickHouse/issues/40332)، لكن ليس من المناسب وجود مهمة background ثقيلة مطلوبة لعميل واحد فقط. [#71087](https://github.com/ClickHouse/ClickHouse/pull/71087) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* بالنسبة إلى الأقراص `plain_rewritable`: لا تستدعِ واجهة برمجة تطبيقات object storage عند سرد الأدلة، لأن ذلك قد لا يكون فعّالًا من حيث التكلفة. وبدلًا من ذلك، خزّن قائمة أسماء الملفات في الذاكرة. والمقايضات هنا هي زيادة زمن initial load والذاكرة المطلوبة لتخزين أسماء الملفات. [#70823](https://github.com/ClickHouse/ClickHouse/pull/70823) ([Julia Kartseva](https://github.com/jkartseva)).
* جرى تحسين أداء ودقة interval collection الخاص بـ `system.query_metric_log` عبر تقليل المنطقة الحرجة. [#71473](https://github.com/ClickHouse/ClickHouse/pull/71473) ([Pablo Marcos](https://github.com/pamarcos)).
* تحسين read-in-order عبر توليد rows افتراضية، بحيث تُقرأ بيانات أقل أثناء merge sort، وهو ما يفيد خصوصًا عند وجود parts متعددة. [#62125](https://github.com/ClickHouse/ClickHouse/pull/62125) ([Shichao Jin](https://github.com/jsc0218)).
* أُضيف server setting `async_load_system_database` الذي يسمح لـ server بالبدء مع system database غير مُحمّلة بالكامل. ويساعد ذلك على تشغيل ClickHouse بسرعة أكبر إذا كان هناك الكثير من system tables. [#69847](https://github.com/ClickHouse/ClickHouse/pull/69847) ([Sergei Trifonov](https://github.com/serxa)).
* أُضيف parameter `--threads` إلى `clickhouse-compressor`، مما يتيح ضغط البيانات in parallel. [#70860](https://github.com/ClickHouse/ClickHouse/pull/70860) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُضيف إعداد `prewarm_mark_cache` يفعّل loading للـ marks إلى mark cache عند inserts وعمليات merge وfetches الخاصة بـ parts، وكذلك عند بدء تشغيل table. [#71053](https://github.com/ClickHouse/ClickHouse/pull/71053) ([Anton Popov](https://github.com/CurtizJ)).
* تقليص مصفوفة `index&#95;granularity` في الذاكرة لتقليل البصمة الذاكرية لعائلة MergeTree table engines. [#71595](https://github.com/ClickHouse/ClickHouse/pull/71595) ([alesapin](https://github.com/alesapin)).
* عطّل إعداد filesystem cache ‏`boundary_alignment` للقراءات غير المعتمدة على disk، مما يحسّن أداء القراءة من الملفات البعيدة standalone مع Caching. [#71827](https://github.com/ClickHouse/ClickHouse/pull/71827) ([Kseniia Sumarokova](https://github.com/kssenii)).
* كانت queries مثل `SELECT * FROM table LIMIT ...` تُحمّل part indexes رغم أنها لم تكن مستخدمة. [#71866](https://github.com/ClickHouse/ClickHouse/pull/71866) ([Alexander Gololobov](https://github.com/davenger)).
* تم تفعيل `parallel_replicas_local_plan` افتراضيًا. يساهم إنشاء خطة محلية متكاملة على العقدة المُبادِرة للاستعلام في تحسين أداء النسخ المتماثلة المتوازية مع تقليل استهلاك الموارد، كما يتيح فرصًا لتطبيق المزيد من تحسينات الاستعلام. [#70171](https://github.com/ClickHouse/ClickHouse/pull/70171) ([Igor Nikonov](https://github.com/devcrafter)).

<div id="improvement-1">
  #### تحسين
</div>

* أصبح بالإمكان استخدام clickhouse مع وسيطة ملف بالشكل `ch queries.sql`. [#71589](https://github.com/ClickHouse/ClickHouse/pull/71589) ([Raúl Marín](https://github.com/Algunenano)).
* باتت صيغة `Vertical` (التي تُفعَّل أيضًا عند إنهاء الاستعلام بـ `\G`) تدعم ميزات صيغ Pretty، مثل: - تمييز مجموعات الآلاف في الأرقام؛ - عرض تلميح رقمي مقروء. [#71630](https://github.com/ClickHouse/ClickHouse/pull/71630) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تمرير أدوار المستخدم الخارجية من منشئ الاستعلام إلى العقد الأخرى في الـcluster. ويكون ذلك مفيدًا عندما يكون منشئ الاستعلام وحده لديه إمكانية الوصول إلى external authenticator (مثل LDAP). [#70332](https://github.com/ClickHouse/ClickHouse/pull/70332) ([Andrey Zvonov](https://github.com/zvonand)).
* أُضيفت الأسماء المستعارة `anyRespectNulls` و`firstValueRespectNulls` و`anyValueRespectNulls` لدالة aggregation ‏`any`. كما أُضيفت الأسماء المستعارة `anyLastRespectNulls` و`lastValueRespectNulls` لدالة aggregation ‏`anyLast`. يتيح ذلك استخدام صياغة camel-case فقط بصورة أكثر طبيعية بدلًا من الصياغة المختلطة بين camel-case والشرطة السفلية، على سبيل المثال: `SELECT anyLastRespectNullsStateIf` بدلًا من `anyLast_respect_nullsStateIf`. [#71403](https://github.com/ClickHouse/ClickHouse/pull/71403) ([Peter Nguyen](https://github.com/petern48)).
* أُضيف parameter جديد إلى configuration باسم `date_time_utc`، ما يتيح لتنسيق سجلات JSON دعم التاريخ والوقت بتوقيت UTC بصيغة RFC 3339/ISO8601. [#71560](https://github.com/ClickHouse/ClickHouse/pull/71560) ([Ali](https://github.com/xogoodnow)).
* أُضيف نوع header جديد إلى S3 endpoints لمصادقة المستخدم (`access_header`). يتيح ذلك الحصول على access header بأدنى أولوية، على أن يُستبدل بـ `access_key_id` من أي source آخر (مثل schema جدول أو named collection). [#71011](https://github.com/ClickHouse/ClickHouse/pull/71011) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* ستُرجع الدوال عالية الرتبة التي تحتوي على Arrays ثابتة وarguments ملتقطة ثابتة قيمًا ثابتة. [#58400](https://github.com/ClickHouse/ClickHouse/pull/58400) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أصبحت أسماء خطوات query plan (`EXPLAIN PLAN json=1`) وأسماء processors في pipeline (`EXPLAIN PIPELINE compact=0,graph=1`) تتضمن الآن معرّفًا فريدًا كلاحقة. يتيح ذلك مطابقة مخرجات Profiler الخاصة بالـprocessors وtraces الخاصة بـ OpenTelemetry مع مخرجات explain. [#63518](https://github.com/ClickHouse/ClickHouse/pull/63518) ([qhsong](https://github.com/qhsong)).
* أُضيف خيار للتحقق مما إذا كان object موجودًا بعد كتابته إلى Azure Blob Storage، ويُتحكم في ذلك عبر الإعداد `check_objects_after_upload`. [#64847](https://github.com/ClickHouse/ClickHouse/pull/64847) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* استخدام قاعدة البيانات `Atomic` افتراضيًا في `clickhouse-local`. يعالج البندين 1 و5 من [#50647](https://github.com/ClickHouse/ClickHouse/issues/50647). ويغلق [#44817](https://github.com/ClickHouse/ClickHouse/issues/44817). [#68024](https://github.com/ClickHouse/ClickHouse/pull/68024) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تؤدي Exceptions إلى قطع HTTP protocol لتنبيه client بوجود خطأ. [#68800](https://github.com/ClickHouse/ClickHouse/pull/68800) ([Sema Checherinda](https://github.com/CheSema)).
* الإبلاغ عن المضيفين الذين يشغّلون distributed DDL queries من خلال إنشاء replica\_dir ووضع علامة على replicas النشطة في DDLWorker. [#69658](https://github.com/ClickHouse/ClickHouse/pull/69658) ([tuanpach](https://github.com/tuanpach)).
* الانتظار فقط على replicas النشطة لاستعلامات قاعدة البيانات ON CLUSTER إذا كان distributed\_ddl\_output\_mode مضبوطًا على \*\_only\_active. [#69660](https://github.com/ClickHouse/ClickHouse/pull/69660) ([tuanpach](https://github.com/tuanpach)).
* تحسين معالجة الأخطاء وإلغاء عمليات النسخ الاحتياطي والاستعادة الخاصة بـ `ON CLUSTER`: - إذا فشلت عملية نسخ احتياطي أو استعادة على مضيف واحد، فسيتم إلغاؤها تلقائيًا على المضيفين الآخرين - يجب ألا تظهر أخطاء غريبة بسبب فشل بعض المضيفين بينما تواصل مضيفات أخرى عملها - إذا أُلغيت عملية نسخ احتياطي أو استعادة على مضيف واحد، فسيتم إلغاؤها تلقائيًا على المضيفين الآخرين - إصلاح المشكلات المتعلقة بـ `test_disallow_concurrency` - والآن ينبغي أن يعمل تعطيل التزامن بشكل أفضل - أصبحت عمليات النسخ الاحتياطي والاستعادة الآن أكثر تحمّلًا بكثير لانقطاعات ZooKeeper. [#70027](https://github.com/ClickHouse/ClickHouse/pull/70027) ([Vitaly Baranov](https://github.com/vitlibar)).
* دعم `ALTER TABLE ... MODIFY/RESET SETTING ...` لبعض الإعدادات في محرك التخزين S3Queue. [#70811](https://github.com/ClickHouse/ClickHouse/pull/70811) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تمت إضافة إمكانية إعادة تحميل شهادات العميل بالطريقة نفسها المستخدمة لإعادة تحميل شهادات الخادم. [#70997](https://github.com/ClickHouse/ClickHouse/pull/70997) ([Roman Antonov](https://github.com/Romeo58rus)).
* جعل حجم سجل العميل قابلاً للتهيئة وزيادة حجمه الافتراضي. [#71014](https://github.com/ClickHouse/ClickHouse/pull/71014) ([Jiří Kozlovský](https://github.com/jirislav)).
* دعم الأنواع Boolean في القارئ الأصلي لـ Parquet. [#71055](https://github.com/ClickHouse/ClickHouse/pull/71055) ([Arthur Passos](https://github.com/arthurpassos)).
* إعادة المحاولة مع مزيد من الأخطاء عند التفاعل مع S3، مثل "Malformed message". [#71088](https://github.com/ClickHouse/ClickHouse/pull/71088) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* خفض مستوى السجل لبعض الرسائل المتعلقة بـ S3. [#71090](https://github.com/ClickHouse/ClickHouse/pull/71090) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم كتابة ملفات HDFS التي تحتوي على مسافات. [#71105](https://github.com/ClickHouse/ClickHouse/pull/71105) ([exmy](https://github.com/exmy)).
* تمت إضافة إعدادات تحدّ من عدد الجداول المكررة وDictionaries وviews. [#71179](https://github.com/ClickHouse/ClickHouse/pull/71179) ([Kirill](https://github.com/kirillgarbar)).
* استخدام `AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE` بدلًا من `AWS_CONTAINER_AUTHORIZATION_TOKEN` إذا كان الأول متاحًا. يعالج [#71074](https://github.com/ClickHouse/ClickHouse/issues/71074). [#71269](https://github.com/ClickHouse/ClickHouse/pull/71269) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* إزالة إنشاء عقدة metadata\_version في ZooKeeper من خيط إعادة تشغيل ReplicatedMergeTree. الحالة الوحيدة التي نحتاج فيها إلى إنشاء هذه العقدة هي عندما يحدّث المستخدم من إصدار أقدم من 20.4 مباشرةً إلى إصدار أحدث من 24.10. لا يدعم ClickHouse عمليات Upgrades التي تمتد لأكثر من عام، لذا ينبغي إثارة استثناء ومطالبة المستخدم بالتحديث تدريجيًا بدلًا من إنشاء هذه العقدة. [#71385](https://github.com/ClickHouse/ClickHouse/pull/71385) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* إضافة لوحات معلومات لكل مضيف `Overview (host)` و`Cloud overview (host)` إلى لوحة المعلومات المتقدمة. [#71422](https://github.com/ClickHouse/ClickHouse/pull/71422) ([alesapin](https://github.com/alesapin)).
* يستخدم `clickhouse-local` SELECT ضمنيًا افتراضيًا، مما يتيح استخدامه كآلة حاسبة. تحسين تمييز الصياغة النحوية لوضع SELECT الضمني. [#71620](https://github.com/ClickHouse/ClickHouse/pull/71620) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ستقوم تطبيقات سطر الأوامر بتمييز الصياغة النحوية حتى في حالة العبارات المتعددة. [#71622](https://github.com/ClickHouse/ClickHouse/pull/71622) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ستُرجِع تطبيقات سطر الأوامر رموز خروج غير صفرية عند حدوث أخطاء. في الإصدارات السابقة، كان التطبيق `disks` يُرجِع صفرًا عند الخطأ، وكانت التطبيقات الأخرى تُرجِع صفرًا للأخطاء 256 (`PARTITION_ALREADY_EXISTS`) و512 (`SET_NON_GRANTED_ROLE`). [#71623](https://github.com/ClickHouse/ClickHouse/pull/71623) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* عندما يُمرَّر المستخدم/المجموعة على هيئة معرّف ID، يفشل `clickhouse su`. يُصلح هذا التصحيح ذلك ليقبل أيضًا `UID:GID`. [#71626](https://github.com/ClickHouse/ClickHouse/pull/71626) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إتاحة تعطيل زيادة حجم المخزن المؤقت في الذاكرة لذاكرة التخزين المؤقت لنظام الملفات عبر الإعداد `filesystem_cache_prefer_bigger_buffer_size`. [#71640](https://github.com/ClickHouse/ClickHouse/pull/71640) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة إعداد منفصل `background_download_max_file_segment_size` لتحديد الحد الأقصى لحجم مقطع الملف للتنزيل في الخلفية في ذاكرة التخزين المؤقت لنظام الملفات. [#71648](https://github.com/ClickHouse/ClickHouse/pull/71648) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تحسين طفيف في تحليل JSON type: إذا كانت الكتلة الحالية لمسار JSON path تحتوي على قيم من عدة أنواع، فسيُحاوَل اختيار أفضل نوع عبر تجربة الأنواع وفق ترتيب best-effort خاص. [#71785](https://github.com/ClickHouse/ClickHouse/pull/71785) ([Pavel Kruglov](https://github.com/Avogar)).
* سابقًا، كانت القراءة من `system.asynchronous_metrics` تنتظر اكتمال التحديث المتزامن. وقد يستغرق ذلك وقتًا طويلًا إذا كان النظام تحت حمل كثيف. مع هذا التغيير، أصبح بالإمكان دائمًا قراءة القيم التي جُمعت سابقًا. [#71798](https://github.com/ClickHouse/ClickHouse/pull/71798) ([Alexander Gololobov](https://github.com/davenger)).
* ‏S3Queue وAzureQueue: اضبط `polling_max_timeout_ms` على 10 دقائق، و`polling_backoff_ms` على 30 ثانية. [#71817](https://github.com/ClickHouse/ClickHouse/pull/71817) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تحديث `HostResolver` ثلاث مرات خلال فترة `history`. [#71863](https://github.com/ClickHouse/ClickHouse/pull/71863) ([Sema Checherinda](https://github.com/CheSema)).
* أُضيف إلى صفحة HTML الخاصة بـ Advanced dashboard محدِّد منسدل لاختيار dashboard من الجدول `system.dashboards`. [#72081](https://github.com/ClickHouse/ClickHouse/pull/72081) ([Sergei Trifonov](https://github.com/serxa)).
* التحقق من وجود قاعدة البيانات الافتراضية بعد التفويض. يُصلح [#71097](https://github.com/ClickHouse/ClickHouse/issues/71097). [#71140](https://github.com/ClickHouse/ClickHouse/pull/71140) ([Konstantin Bogdanov](https://github.com/thevar1able)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release-1">
  #### إصلاح خطأ (سلوك غير صحيح يلاحظه المستخدم في إصدار مستقر رسمي)
</div>

* لم تعد الأجزاء التي أُلغي تكرارها أثناء استعلام `ATTACH PART` تبقى عالقة بالبادئة `attaching_`. [#65636](https://github.com/ClickHouse/ClickHouse/pull/65636) ([Kirill](https://github.com/kirillgarbar)).
* إصلاح خلل كانت فيه DateTime64 تفقد الدقة في الدالة `IN`. [#67230](https://github.com/ClickHouse/ClickHouse/pull/67230) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح خطأ منطقي محتمل عند استخدام الدوال مع `IGNORE/RESPECT NULLS` في `ORDER BY ... WITH FILL`، ويغلق [#57609](https://github.com/ClickHouse/ClickHouse/issues/57609). [#68234](https://github.com/ClickHouse/ClickHouse/pull/68234) ([Vladimir Cherkasov](https://github.com/vdimir)).
* إصلاح أخطاء منطقية نادرة في عمليات insert غير المتزامنة ذات التنسيق `Native` عند بلوغ حد الذاكرة. [#68965](https://github.com/ClickHouse/ClickHouse/pull/68965) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح COMMENT في CREATE TABLE للعمود EPHEMERAL. [#70458](https://github.com/ClickHouse/ClickHouse/pull/70458) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح خطأ منطقي في JSONExtract مع LowCardinality(Nullable). [#70549](https://github.com/ClickHouse/ClickHouse/pull/70549) ([Pavel Kruglov](https://github.com/Avogar)).
* السماح بتنفيذ system drop replica zkpath عندما توجد replica أخرى لها zk path نفسه. [#70642](https://github.com/ClickHouse/ClickHouse/pull/70642) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* إصلاح تعطل وتسرب في AggregateFunctionGroupArraySorted. [#70820](https://github.com/ClickHouse/ClickHouse/pull/70820) ([Michael Kolupaev](https://github.com/al13n321)).
* إضافة إمكانية تجاوز Content-Type عبر headers المستخدم في URL engine. [#70859](https://github.com/ClickHouse/ClickHouse/pull/70859) ([Artem Iurin](https://github.com/ortyomka)).
* إصلاح خطأ منطقي في `StorageS3Queue` "Cannot create a persistent node in /processed since it already exists". [#70984](https://github.com/ClickHouse/ClickHouse/pull/70984) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح مشكلة عدم إغلاق الجلسات المُسمّاة وبقائها معلّقة إلى الأبد في ظروف معينة. [#70998](https://github.com/ClickHouse/ClickHouse/pull/70998) ([Márcio Martins](https://github.com/marcio-absmartly)).
* إصلاح الخلل الذي لم يكن يراعي العمود \_row\_exists في خيار إعادة البناء الخاص بـ projection lightweight delete. [#71089](https://github.com/ClickHouse/ClickHouse/pull/71089) ([Shichao Jin](https://github.com/jsc0218)).
* إصلاح مشكلة `AT_* is out of range` عند التشغيل على Oracle Linux UEK 6.10. [#71109](https://github.com/ClickHouse/ClickHouse/pull/71109) ([Örjan Fors](https://github.com/op)).
* إصلاح قيمة غير صحيحة في system.query\_metric\_log بسبب حالة تسابق غير متوقعة. [#71124](https://github.com/ClickHouse/ClickHouse/pull/71124) ([Pablo Marcos](https://github.com/pamarcos)).
* إصلاح عدم تطابق اسم الدالة التجميعية quantileExactWeightedInterpolated. أُدخل هذا الخلل في [https://github.com/ClickHouse/ClickHouse/pull/69619](https://github.com/ClickHouse/ClickHouse/pull/69619). للإحاطة @Algunenano. [#71168](https://github.com/ClickHouse/ClickHouse/pull/71168) ([李扬](https://github.com/taiyang-li)).
* إصلاح استثناء bad\_weak\_ptr مع Dynamic عند مقارنة الدوال. [#71183](https://github.com/ClickHouse/ClickHouse/pull/71183) ([Pavel Kruglov](https://github.com/Avogar)).
* التحقق من أن قراءة ملف 7z تتم من جهاز محلي. [#71184](https://github.com/ClickHouse/ClickHouse/pull/71184) ([Daniil Ivanik](https://github.com/divanik)).
* إصلاح مشكلة تجاهل إعدادات التنسيق في تنسيق Native عبر HTTP ومع الإدراجات غير المتزامنة. [#71193](https://github.com/ClickHouse/ClickHouse/pull/71193) ([Pavel Kruglov](https://github.com/Avogar)).
* لم تعد استعلامات SELECT التي تعمل بالإعداد `use_query_cache = 1` تُرفض إذا ظهر اسم جدول نظام كسلسلة حرفية؛ على سبيل المثال، أصبح الاستعلام `SELECT * FROM users WHERE name = 'system.metrics' SETTINGS use_query_cache = true;` يعمل الآن. [#71254](https://github.com/ClickHouse/ClickHouse/pull/71254) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح خلل يؤدي إلى زيادة استخدام الذاكرة إذا كان enable\_filesystem\_cache=1، لكن القرص في إعدادات التخزين لا يحتوي على أي إعدادات لذاكرة التخزين المؤقت. [#71261](https://github.com/ClickHouse/ClickHouse/pull/71261) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح الخطأ المحتمل "Cannot read all data" أثناء إلغاء تسلسل قاموس LowCardinality من عمود Dynamic. [#71299](https://github.com/ClickHouse/ClickHouse/pull/71299) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح عدم اكتمال تنظيف تنسيق الإخراج المتوازي في العميل. [#71304](https://github.com/ClickHouse/ClickHouse/pull/71304) ([Raúl Marín](https://github.com/Algunenano)).
* أُضيف فكّ المحارف الخاصة المفقود في المجموعات المسماة. وبدون هذا الإصلاح، لا يمكن لـ clickhouse-server بدء التشغيل. [#71308](https://github.com/ClickHouse/ClickHouse/pull/71308) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* إصلاح الإدراجات غير المتزامنة مع الكتل الفارغة عبر البروتوكول الأصلي. [#71312](https://github.com/ClickHouse/ClickHouse/pull/71312) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح عدم اتساق تنسيق AST عند منح امتيازات wildcard غير صحيحة [#71309](https://github.com/ClickHouse/ClickHouse/issues/71309). [#71332](https://github.com/ClickHouse/ClickHouse/pull/71332) ([pufit](https://github.com/pufit)).
* إضافة try/catch إلى المُدمِّرات الخاصة بأجزاء البيانات لتجنّب std::terminate. [#71364](https://github.com/ClickHouse/ClickHouse/pull/71364) ([alesapin](https://github.com/alesapin)).
* التحقق من الأنواع المشبوهة والتجريبية في تلميحات نوع JSON. [#71369](https://github.com/ClickHouse/ClickHouse/pull/71369) ([Pavel Kruglov](https://github.com/Avogar)).
* بدء تشغيل خيط عامل الذاكرة على أنظمة التشغيل غير Linux أيضًا (إصلاح [#71051](https://github.com/ClickHouse/ClickHouse/issues/71051)). [#71384](https://github.com/ClickHouse/ClickHouse/pull/71384) ([Alexandre Snarskii](https://github.com/snar)).
* إصلاح الخطأ Invalid number of rows in Chunk مع عمود Variant. [#71388](https://github.com/ClickHouse/ClickHouse/pull/71388) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح الخطأ column "attgenerated" does not exist في إصدارات PostgreSQL الأقدم، وإصلاح [#60651](https://github.com/ClickHouse/ClickHouse/issues/60651). [#71396](https://github.com/ClickHouse/ClickHouse/pull/71396) ([0xMihalich](https://github.com/0xMihalich)).
* لتجنّب إغراق سجلات الخادم، تُسجَّل الآن محاولات المصادقة الفاشلة عند المستوى `DEBUG` بدلًا من `ERROR`. [#71405](https://github.com/ClickHouse/ClickHouse/pull/71405) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح تعطل في table function ‏`mongodb` عند تمرير وسيطات غير صحيحة (مثل `NULL`). [#71426](https://github.com/ClickHouse/ClickHouse/pull/71426) ([Vladimir Cherkasov](https://github.com/vdimir)).
* إصلاح تعطل مرتبط بـ optimize\_rewrite\_array\_exists\_to\_has. [#71432](https://github.com/ClickHouse/ClickHouse/pull/71432) ([Raúl Marín](https://github.com/Algunenano)).
* تم إصلاح استخدام الإعداد `max_insert_delayed_streams_for_parallel_write` في عمليات الإدراج. كان يعمل سابقًا بشكل غير صحيح، ما قد يؤدي إلى ارتفاع استخدام الذاكرة في عمليات الإدراج التي تكتب البيانات إلى عدة أقسام. [#71474](https://github.com/ClickHouse/ClickHouse/pull/71474) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الخطأ المحتمل `Argument for function must be constant` (المحلل القديم) في الحالات التي قد يظهر فيها `arrayJoin` ظاهريًا في شرط `WHERE`. حدث هذا كتراجع بعد [https://github.com/ClickHouse/ClickHouse/pull/65414](https://github.com/ClickHouse/ClickHouse/pull/65414). [#71476](https://github.com/ClickHouse/ClickHouse/pull/71476) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* منع حدوث تعطل في SortCursor عند وجود 0 أعمدة (المحلل القديم). [#71494](https://github.com/ClickHouse/ClickHouse/pull/71494) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح تجاوز Date32 للنطاق بسبب بيانات ORC غير المهيأة. لمزيد من التفاصيل، راجع [https://github.com/apache/incubator-gluten/issues/7823](https://github.com/apache/incubator-gluten/issues/7823). [#71500](https://github.com/ClickHouse/ClickHouse/pull/71500) ([李扬](https://github.com/taiyang-li)).
* إصلاح احتساب حجم العمود في Wide part للنوعين Dynamic وJSON. [#71526](https://github.com/ClickHouse/ClickHouse/pull/71526) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح في المحلل عند استخدام الاستعلام داخل العرض المادي العامل IN مع CTE. يغلق [#65598](https://github.com/ClickHouse/ClickHouse/issues/65598). [#71538](https://github.com/ClickHouse/ClickHouse/pull/71538) ([Maksim Kita](https://github.com/kitaisreal)).
* تجنب حدوث تعطل عند استخدام UDF في قيد. [#71541](https://github.com/ClickHouse/ClickHouse/pull/71541) ([Raúl Marín](https://github.com/Algunenano)).
* إرجاع 0 أو المحرف الافتراضي بدلًا من إطلاق خطأ في دوال `bitShift` عند الخروج عن الحدود. [#71580](https://github.com/ClickHouse/ClickHouse/pull/71580) ([Pablo Marcos](https://github.com/pamarcos)).
* إصلاح تعطل الخادم أثناء استخدام عرض مادي مع بعض المحركات. [#71593](https://github.com/ClickHouse/ClickHouse/pull/71593) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* كان ARRAY JOIN مع بنية بيانات متداخلة تحتوي على اسم مستعار لمصفوفة ثابتة يؤدي إلى إلغاء مرجع مؤشر فارغ. يغلق هذا [#71677](https://github.com/ClickHouse/ClickHouse/issues/71677). [#71678](https://github.com/ClickHouse/ClickHouse/pull/71678) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح LOGICAL\_ERROR عند تنفيذ ALTER مع tuple فارغ. يصلح هذا [#71647](https://github.com/ClickHouse/ClickHouse/issues/71647). [#71679](https://github.com/ClickHouse/ClickHouse/pull/71679) ([Amos Bird](https://github.com/amosbird)).
* لا تُحوِّل المجموعة الثابتة في predicates على أعمدة التقسيم عند استخدام العامل NOT IN. [#71695](https://github.com/ClickHouse/ClickHouse/pull/71695) ([Eduard Karacharov](https://github.com/korowa)).
* إصلاح رسالة السجل الخاصة بفشل سكربت التهيئة في Docker لتكون أوضح. [#71734](https://github.com/ClickHouse/ClickHouse/pull/71734) ([Андрей](https://github.com/andreineustroev)).
* إصلاح CAST من LowCardinality(Nullable) إلى Dynamic. كان ذلك قد يؤدي سابقًا إلى الخطأ `Bad cast from type DB::ColumnVector<int> to DB::ColumnNullable`. [#71742](https://github.com/ClickHouse/ClickHouse/pull/71742) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح الاستثناء في toDayOfWeek ضمن شرط `WHERE` مع مفتاح أساسي من النوع DateTime64. [#71849](https://github.com/ClickHouse/ClickHouse/pull/71849) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* تم إصلاح تعبئة القيم الافتراضية بعد parsing إلى الأعمدة sparse. [#71854](https://github.com/ClickHouse/ClickHouse/pull/71854) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح خطأ الدالة GROUPING عندما يكون الإدخال ALIAS في جدول موزّع، وإغلاق [#68602](https://github.com/ClickHouse/ClickHouse/issues/68602). [#71855](https://github.com/ClickHouse/ClickHouse/pull/71855) ([Vladimir Cherkasov](https://github.com/vdimir)).
* إصلاح تعطل محتمل عند استخدام `allow_experimental_join_condition`، وإغلاق [#71693](https://github.com/ClickHouse/ClickHouse/issues/71693). [#71857](https://github.com/ClickHouse/ClickHouse/pull/71857) ([Vladimir Cherkasov](https://github.com/vdimir)).
* إصلاح عبارات SELECT التي تستخدم clause `WITH TIES` وقد لا تُرجع عددًا كافيًا من الصفوف. [#71886](https://github.com/ClickHouse/ClickHouse/pull/71886) ([wxybear](https://github.com/wxybear)).
* إصلاح استثناء TOO\_LARGE\_ARRAY\_SIZE الناتج عن اعتبار column من ناتج تقييم arrayWithConstant، بالخطأ، متجاوزًا حد حجم المصفوفة. [#71894](https://github.com/ClickHouse/ClickHouse/pull/71894) ([Udi](https://github.com/udiz)).
* كان `clickhouse-benchmark` يبلّغ عن metrics غير صحيحة للاستعلامات التي تستغرق أكثر من ثانية واحدة. [#71898](https://github.com/ClickHouse/ClickHouse/pull/71898) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح data race بين مؤشّر التقدّم وجدول التقدّم في clickhouse-client. تظهر هذه المشكلة عند استخدام FROM INFILE. كما تم اعتراض ضغطات المفاتيح أثناء استعلامات INSERT لتبديل عرض جدول التقدّم. [#71901](https://github.com/ClickHouse/ClickHouse/pull/71901) ([Julia Kartseva](https://github.com/jkartseva)).
* استخدام Keeperات مساعدة لاكتشاف cluster تلقائيًا. [#71911](https://github.com/ClickHouse/ClickHouse/pull/71911) ([Anton Ivashkin](https://github.com/ianton-ru)).
* إصلاح column ‏rows\_processed في system.s3/azure\_queue\_log الذي تعطّل في الإصدار 24.6. إغلاق [#69975](https://github.com/ClickHouse/ClickHouse/issues/69975). [#71946](https://github.com/ClickHouse/ClickHouse/pull/71946) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح حالة كانت فيها دالتا `s3`/`s3Cluster` قد تُرجعان نتيجة غير مكتملة أو تطرحان استثناءً. كانت هذه الحالة تتضمن استخدام glob pattern في عنوان URI الخاص بـ s3 (مثل `pattern/*`) مع وجود object فارغ بالمفتاح `pattern/` (وتنشئ S3 Console مثل هذه objects تلقائيًا). كما تغيّرت القيمة الافتراضية للإعداد `s3_skip_empty_files` من `false` إلى `true`. [#71947](https://github.com/ClickHouse/ClickHouse/pull/71947) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح تعطل في تمييز الصياغة في clickhouse-client. إغلاق [#71864](https://github.com/ClickHouse/ClickHouse/issues/71864). [#71949](https://github.com/ClickHouse/ClickHouse/pull/71949) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح خطأ `Illegal type` في جداول `MergeTree` عند استخدام دالة binary monotonic في `ORDER BY` إذا كانت argument الأولى ثابتة. إصلاح [#71941](https://github.com/ClickHouse/ClickHouse/issues/71941). [#71966](https://github.com/ClickHouse/ClickHouse/pull/71966) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* السماح فقط باستعلامات SELECT داخل EXPLAIN AST المستخدم ضمن subquery. أما الأنواع الأخرى من queries فتؤدي إلى logical error: 'Bad cast from type DB::ASTCreateQuery to DB::ASTSelectWithUnionQuery' أو `Inconsistent AST formatting`. [#71982](https://github.com/ClickHouse/ClickHouse/pull/71982) ([Pavel Kruglov](https://github.com/Avogar)).
* عند insert سجل باستخدام `clickhouse-client`، يقرأ client أوصاف الأعمدة من server. لكن كان هناك خطأ يجعلنا نكتب الأوصاف بترتيب غير صحيح، بينما الترتيب الصحيح هو \[statistics, ttl, settings]. [#71991](https://github.com/ClickHouse/ClickHouse/pull/71991) ([Han Fei](https://github.com/hanfei1991)).
* إصلاح تنسيق أوامر ALTER من `MOVE PARTITION ... TO TABLE ...` عند تمكين `format_alter_commands_with_parentheses`. [#72080](https://github.com/ClickHouse/ClickHouse/pull/72080) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح عمليات RIGHT / FULL JOIN في الاستعلامات التي تستخدم parallel replicas. يمكن الآن تنفيذ عمليات RIGHT JOIN باستخدام parallel replicas (مع توزيع قراءة الجدول الأيمن). أما عمليات FULL JOIN فلا يمكن تنفيذها بالتوازي بين العقد، وتُنفَّذ محليًا. [#71162](https://github.com/ClickHouse/ClickHouse/pull/71162) ([Igor Nikonov](https://github.com/devcrafter)).
* إصلاح المشكلة التي كانت تؤدي إلى طباعة ClickHouse داخل حاويات Docker للرسالة "get\_mempolicy: Operation not permitted" على stderr بسبب تقييد استدعاءات النظام. [#70900](https://github.com/ClickHouse/ClickHouse/pull/70900) ([filimonov](https://github.com/filimonov)).
* إصلاح سجل metadata\_version في ZooKeeper ضمن خيط إعادة التشغيل بدلًا من خيط attach. [#70297](https://github.com/ClickHouse/ClickHouse/pull/70297) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* هذا إصلاح لميزة "zero-copy" replication، وهي غير مدعومة وستُزال بالكامل. لا تحذف blob عندما تكون هناك عقد تستخدمه في ReplicatedMergeTree مع zero-copy replication. [#71186](https://github.com/ClickHouse/ClickHouse/pull/71186) ([Antonio Andelic](https://github.com/antonio2368)).
* هذا إصلاح لميزة "zero-copy" replication، وهي غير مدعومة وستُزال بالكامل. جرى الحصول على قفل zero-copy مشترك قبل نقل part إلى zero-copy disk لمنع احتمال فقدان البيانات إذا لم يكن Keeper متاحًا. [#71845](https://github.com/ClickHouse/ClickHouse/pull/71845) ([Aleksei Filatov](https://github.com/aalexfvk)).

### <a id="2410" /> إصدار ClickHouse 24.10، بتاريخ 2024-10-31. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.10/), [الفيديو](https://www.youtube.com/watch?v=AamIAjURp4U)

<Frame>
  <iframe src="https://www.youtube.com/embed/AamIAjURp4U" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* أصبح من الممكن كتابة `SETTINGS` قبل `FORMAT` في سلسلة من الاستعلامات باستخدام `UNION` عندما تكون الاستعلامات الفرعية داخل أقواس. يُغلق هذا [#39712](https://github.com/ClickHouse/ClickHouse/issues/39712). كما يغيّر هذا السلوكَ عند تحديد عبارة SETTINGS مرتين في تسلسل واحد داخل الاستعلام. وستكون الأولوية لعبارة SETTINGS الأقرب إلى الاستعلام الفرعي المعني. في الإصدارات السابقة، كان يمكن لعبارة SETTINGS الخارجية أن تتقدّم في الأولوية على العبارة الداخلية. [#68614](https://github.com/ClickHouse/ClickHouse/pull/68614) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أصبح الآن مسموحًا افتراضيًا بإعادة ترتيب شروط التصفية في عبارة `[PRE]WHERE`. ويمكن تعطيل ذلك بضبط `allow_reorder_prewhere_conditions` على `false`. [#70657](https://github.com/ClickHouse/ClickHouse/pull/70657) ([Nikita Taranov](https://github.com/nickitat)).
* أُزيلت مكتبة `idxd-config` بسبب ترخيصها غير المتوافق. ويؤدي ذلك أيضًا إلى إزالة برنامج الترميز Intel DeflateQPL التجريبي. [#70987](https://github.com/ClickHouse/ClickHouse/pull/70987) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* إتاحة منح الوصول إلى البادئات التي تتضمن أحرف بدل. `GRANT SELECT ON db.table_pefix_* TO user`. [#65311](https://github.com/ClickHouse/ClickHouse/pull/65311) ([pufit](https://github.com/pufit)).
* إذا ضغطت على مفتاح المسافة أثناء تنفيذ query، فسيعرض client جدولًا آنيًا يتضمن metrics مفصلة. يمكنك تمكين ذلك على مستوى عام باستخدام الخيار الجديد `--progress-table` في clickhouse-client؛ ويرتبط به الخيار الجديد `--enable-progress-table-toggle`، الذي يبدّل عرض جدول التقدم عند الضغط على مفتاح التحكم (Space). [#63689](https://github.com/ClickHouse/ClickHouse/pull/63689) ([Maria Khristenko](https://github.com/mariaKhr)), [#70423](https://github.com/ClickHouse/ClickHouse/pull/70423) ([Julia Kartseva](https://github.com/jkartseva)).
* إتاحة التخزين المؤقت لملفات القراءة لمحركات table الخاصة بـ object storage وdata lake باستخدام hash من ETag + file path كمفتاح cache. [#70135](https://github.com/ClickHouse/ClickHouse/pull/70135) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم إنشاء table باستخدام query: `CREATE TABLE ... CLONE AS ...`. تستنسخ هذه الصيغة schema الخاصة بـ source table ثم تُجري Attach لجميع partitions إلى table المُنشأة حديثًا. هذه feature مدعومة فقط مع الجداول من family `MergeTree`‎. يغلق [#65015](https://github.com/ClickHouse/ClickHouse/issues/65015). [#69091](https://github.com/ClickHouse/ClickHouse/pull/69091) ([tuanpach](https://github.com/tuanpach)).
* إضافة system table جديدة، `system.query_metric_log`، تحتوي على history لقيم Memory وMetric من table system.events لكل query على حدة، وتُكتب دوريًا إلى القرص. [#66532](https://github.com/ClickHouse/ClickHouse/pull/66532) ([Pablo Marcos](https://github.com/pamarcos)).
* يمكن كتابة query بسيطة من نوع SELECT باستخدام SELECT ضمنية لتمكين expressions بأسلوب الآلة الحاسبة، مثل: `ch "1 + 2"`. ويتحكم في ذلك setting جديدة هي `implicit_select`. [#68502](https://github.com/ClickHouse/ClickHouse/pull/68502) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم وضع `--copy` في clickhouse local كاختصار لتحويل format [#68503](https://github.com/ClickHouse/ClickHouse/issues/68503). [#68583](https://github.com/ClickHouse/ClickHouse/pull/68583) ([Denis Hananein](https://github.com/denis-hananein)).
* إضافة صفحة HTML مدمجة لتصور merges، وهي متاحة على path ‏`/merges`. [#70821](https://github.com/ClickHouse/ClickHouse/pull/70821) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة دعم للدالة `arrayUnion`. [#68989](https://github.com/ClickHouse/ClickHouse/pull/68989) ([Peter Nguyen](https://github.com/petern48)).
* إتاحة aliases ذات معاملات في SQL. [#50665](https://github.com/ClickHouse/ClickHouse/pull/50665) ([Anton Kozlov](https://github.com/tonickkozlov)).
* إضافة aggregate function جديدة باسم `quantileExactWeightedInterpolated`، وهي نسخة interpolated مبنية على quantileExactWeighted. قد يتساءل البعض لماذا نحتاج إلى `quantileExactWeightedInterpolated` جديدة مع أننا نملك بالفعل `quantileExactInterpolatedWeighted`. السبب هو أن الجديدة أدق من القديمة. وهذا من أجل التوافق مع spark. [#69619](https://github.com/ClickHouse/ClickHouse/pull/69619) ([李扬](https://github.com/taiyang-li)).
* دالة جديدة باسم `arrayElementOrNull`. تُرجع `NULL` إذا كان فهرس Array خارج النطاق أو إذا لم يتم العثور على مفتاح Map. [#69646](https://github.com/ClickHouse/ClickHouse/pull/69646) ([李扬](https://github.com/taiyang-li)).
* يتيح للمستخدمين تحديد regular expressions عبر الحقلين الجديدين `message_regexp` و`message_regexp_negative` في ملف `config.xml` لتصفية logging. ويُطبَّق logging على النص المنسق غير الملوَّن لتوفير تجربة أكثر سلاسة للمطورين. [#69657](https://github.com/ClickHouse/ClickHouse/pull/69657) ([Peter Nguyen](https://github.com/petern48)).
* تمت إضافة الدالة `RIPEMD160`، التي تحسب قيمة hash التشفيرية RIPEMD-160 لسلسلة نصية. مثال: `SELECT HEX(RIPEMD160('The quick brown fox jumps over the lazy dog'))` تُرجع `37F332F68DB77BD9D7EDD4969571AD671CF9DD3B`. [#70087](https://github.com/ClickHouse/ClickHouse/pull/70087) ([Dergousov Maxim](https://github.com/m7kss1)).
* دعم قراءة جداول `Iceberg` على `HDFS`. [#70268](https://github.com/ClickHouse/ClickHouse/pull/70268) ([flynn](https://github.com/ucasfl)).
* دعم CTE بصيغة `WITH ... INSERT`، بعدما كان المدعوم سابقًا يقتصر على `INSERT ... WITH ...`. [#70593](https://github.com/ClickHouse/ClickHouse/pull/70593) ([Shichao Jin](https://github.com/jsc0218)).
* تكامل MongoDB: دعم جميع أنواع MongoDB، ودعم عبارتي WHERE وORDER BY على جانب MongoDB، وفرض قيود على expression غير المدعومة من MongoDB. لاحظ أن التكامل الجديد معطّل افتراضيًا، ولاستخدامه يُرجى تعيين `<use_legacy_mongodb_integration>` إلى `false` في config الخادم. [#63279](https://github.com/ClickHouse/ClickHouse/pull/63279) ([Kirill Nikiforov](https://github.com/allmazz)).
* تمت إضافة دالة جديدة `getSettingOrDefault` لإرجاع default value وتجنّب حدوث Exception إذا لم يتم العثور على custom setting في profile الحالي. [#69917](https://github.com/ClickHouse/ClickHouse/pull/69917) ([Shankar](https://github.com/shiyer7474)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* أصبحت العروض المادية القابلة للتحديث جاهزة للاستخدام في بيئات production. [#70550](https://github.com/ClickHouse/ClickHouse/pull/70550) ([Michael Kolupaev](https://github.com/al13n321)). كما أصبحت العروض المادية القابلة للتحديث مدعومة الآن في قواعد بيانات Replicated. [#60669](https://github.com/ClickHouse/ClickHouse/pull/60669) ([Michael Kolupaev](https://github.com/al13n321)).
* نُقلت النسخ المتماثلة المتوازية من الحالة التجريبية إلى Beta. وأُعيدت صياغة الإعدادات التي تتحكم في سلوك خوارزميات النسخ المتماثلة المتوازية. وتذكيرًا سريعًا: يحتوي ClickHouse على أربع خوارزميات مختلفة للقراءة المتوازية باستخدام عدة replicas، وينعكس ذلك في الإعداد `parallel_replicas_mode`، وتكون قيمته الافتراضية `read_tasks`. بالإضافة إلى ذلك، أُضيف إعداد تبديل `enable_parallel_replicas`. [#63151](https://github.com/ClickHouse/ClickHouse/pull/63151) ([Alexey Milovidov](https://github.com/alexey-milovidov)), ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* دعم النوع `Dynamic` في معظم الدوال من خلال تنفيذها على الأنواع الداخلية داخل `Dynamic`. [#69691](https://github.com/ClickHouse/ClickHouse/pull/69691) ([Pavel Kruglov](https://github.com/Avogar)).
* إتاحة قراءة/كتابة النوع `JSON` كسلسلة ثنائية في تنسيق `RowBinary` ضمن الإعدادات `input_format_binary_read_json_as_string/output_format_binary_write_json_as_string`. [#70288](https://github.com/ClickHouse/ClickHouse/pull/70288) ([Pavel Kruglov](https://github.com/Avogar)).
* إتاحة إجراء التسلسل/إلغاء التسلسل لعمود `JSON` كعمود `String` واحد في Native format. للإخراج، استخدم الإعداد `output_format_native_write_json_as_string`. وللإدخال، استخدم إصدار التسلسل `1` قبل بيانات العمود. [#70312](https://github.com/ClickHouse/ClickHouse/pull/70312) ([Pavel Kruglov](https://github.com/Avogar)).
* استُحدث وضع خاص (تجريبي) لمحدد الدمج في جداول MergeTree، يجعله أكثر هجوميةً تجاه الأقسام القريبة من الحد الأقصى لعدد الأجزاء. ويُتحكم فيه عبر إعداد MergeTree على مستوى الجدول `merge_selector_use_blurry_base`. [#70645](https://github.com/ClickHouse/ClickHouse/pull/70645) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تنفيذ ser/de عام بين `Union` في Avro وأنواع `Variant` في ClickHouse. يحل المشكلة [#69713](https://github.com/ClickHouse/ClickHouse/issues/69713). [#69712](https://github.com/ClickHouse/ClickHouse/pull/69712) ([Jiří Kozlovský](https://github.com/jirislav)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* أُعيدت هيكلة `IDisk` و`IObjectStorage` لتحسين الأداء. وستُهيَّأ الجداول من مخازن الكائنات `plain` و`plain_rewritable` بسرعة أكبر. [#68146](https://github.com/ClickHouse/ClickHouse/pull/68146) ([Alexey Milovidov](https://github.com/alexey-milovidov), [Julia Kartseva](https://github.com/jkartseva)). ولم يعد يُستدعى طلب LIST في واجهة برمجة تطبيقات تخزين الكائنات عند التحقق مما إذا كان الملف أو الدليل موجودًا على القرص `plain_rewritable`، لأن ذلك قد يكون مرتفع التكلفة. [#70852](https://github.com/ClickHouse/ClickHouse/pull/70852) ([Julia Kartseva](https://github.com/jkartseva)). كما جرى تقليل عدد طلبات HEAD في واجهة برمجة تطبيقات تخزين الكائنات على القرص `plain&#95;rewritable`. [#70915](https://github.com/ClickHouse/ClickHouse/pull/70915) ([Julia Kartseva](https://github.com/jkartseva)).
* أُضيفت إمكانية تحليل البيانات مباشرةً إلى الأعمدة sparse. [#69828](https://github.com/ClickHouse/ClickHouse/pull/69828) ([Anton Popov](https://github.com/CurtizJ)).
* تحسين أداء تحليل التنسيقات التي تحتوي على عدد كبير من القيم المفقودة (مثل `JSONEachRow`). [#69875](https://github.com/ClickHouse/ClickHouse/pull/69875) ([Anton Popov](https://github.com/CurtizJ)).
* يدعم القراءة المتوازية لمجموعات الصفوف في Parquet، والتحميل المسبق لمجموعات الصفوف في وضع `single-threaded`. [#69862](https://github.com/ClickHouse/ClickHouse/pull/69862) ([LiuNeng](https://github.com/liuneng1994)).
* دعم فهرس MinMax للدالة `pointInPolygon`. [#62085](https://github.com/ClickHouse/ClickHouse/pull/62085) ([JackyWoo](https://github.com/JackyWoo)).
* استخدام bloom filters عند قراءة ملفات Parquet. [#62966](https://github.com/ClickHouse/ClickHouse/pull/62966) ([Arthur Passos](https://github.com/arthurpassos)).
* إعادة تسمية الأجزاء من دون أقفال لتجنّب تأثير INSERT في SELECT (بسبب قفل الأجزاء) (في الظروف العادية مع `fsync_part_directory`، تضاعف QPS لعمليات SELECT مع INSERT بالتوازي بمقدار 2x، ويكون التأثير أكبر تحت الأحمال العالية). ملاحظة: يقتصر هذا حاليًا على `ReplicatedMergeTree` فقط. [#64955](https://github.com/ClickHouse/ClickHouse/pull/64955) ([Azat Khuzhin](https://github.com/azat)).
* مراعاة `ttl_only_drop_parts` عند `materialize ttl`؛ مع قراءة الأعمدة الضرورية فقط لإعادة حساب TTL وحذف الأجزاء عبر استبدالها بجزء فارغ. [#65488](https://github.com/ClickHouse/ClickHouse/pull/65488) ([Andrey Zvonov](https://github.com/zvonand)).
* تحسين إنشاء الخيوط في ThreadPool لتقليل التنافس على الأقفال إلى أدنى حد. ويُنفَّذ إنشاء الخيوط الآن خارج القسم الحرج لتجنّب التأخير في جدولة المهام وإدارة الخيوط تحت الأحمال المرتفعة. ويجعل ذلك ClickHouse أكثر استجابةً بكثير تحت الأحمال المتزامنة الكثيفة. [#68694](https://github.com/ClickHouse/ClickHouse/pull/68694) ([filimonov](https://github.com/filimonov)).
* تمكين قراءة أعمدة السلاسل النصية `LowCardinality` من `ORC`. [#69481](https://github.com/ClickHouse/ClickHouse/pull/69481) ([李扬](https://github.com/taiyang-li)).
* استخدام `LowCardinality` مع `ProfileEvents` في سجلات النظام مثل `part_log` و`query_views_log` و`filesystem_cache_log`. [#70152](https://github.com/ClickHouse/ClickHouse/pull/70152) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحسين أداء الدالتين `fromUnixTimestamp` و`toUnixTimestamp`. [#71042](https://github.com/ClickHouse/ClickHouse/pull/71042) ([kevinyhzou](https://github.com/KevinyhZou)).
* عدم تعطيل القراءة غير المحظورة من page cache على مستوى الخادم بالكامل عند القراءة من I/O حاجب. وكان هذا يؤدي إلى تراجع الأداء عندما لا يدعم نظام ملفات واحد (مثل tmpfs) استدعاء النظام `preadv2`، بينما تدعمه أنظمة أخرى. [#70299](https://github.com/ClickHouse/ClickHouse/pull/70299) ([Antonio Andelic](https://github.com/antonio2368)).
* لم يعُد `ALTER TABLE .. REPLACE PARTITION` ينتظر عمليات mutation/الدمج التي تحدث في أقسام أخرى. [#59138](https://github.com/ClickHouse/ClickHouse/pull/59138) ([Vasily Nemkov](https://github.com/Enmk)).
* لا تُجرى عملية تحقق عند مزامنة ACL من Keeper، إذ يُجرى التحقق أثناء الإنشاء. قد لا يكون لهذا أثر كبير، لكن هناك عمليات تثبيت تضم عشرات الآلاف أو أكثر من المستخدمين المُنشَئين، وقد يستغرق التحقق غير الضروري من hash وقتًا طويلًا حتى يكتمل أثناء بدء تشغيل الخادم (إذ يزامن كل شيء من Keeper). [#70644](https://github.com/ClickHouse/ClickHouse/pull/70644) ([Raúl Marín](https://github.com/Algunenano)).

<div id="improvement-1">
  #### تحسين
</div>

* سيقوم `CREATE TABLE AS` بنسخ `PRIMARY KEY` و`ORDER BY` والبنود المشابهة (في جداول `MergeTree`). [#69739](https://github.com/ClickHouse/ClickHouse/pull/69739) ([sakulali](https://github.com/sakulali)).
* دعم XID ‏64-بت في Keeper. يمكن تمكينه باستخدام قيمة الإعداد `use_xid_64`. [#69908](https://github.com/ClickHouse/ClickHouse/pull/69908) ([Antonio Andelic](https://github.com/antonio2368)).
* تُضبط وسائط سطر الأوامر لإعدادات Bool على `true` عندما لا يتم توفير أي قيمة للوسيطة (على سبيل المثال `clickhouse-client --optimize_aggregation_in_order --query "SELECT 1"`). [#70459](https://github.com/ClickHouse/ClickHouse/pull/70459) ([davidtsuk](https://github.com/davidtsuk)).
* تمت إضافة إعدادات على مستوى المستخدم `min_free_disk_bytes_to_perform_insert` و`min_free_disk_perform_to_throw_insert` لمنع عمليات الإدراج على الأقراص التي شارفت على الامتلاء. [#69755](https://github.com/ClickHouse/ClickHouse/pull/69755) ([Marco Vilas Boas](https://github.com/marco-vb)).
* ستكون الوثائق المضمّنة للإعدادات أكثر تفصيلًا واكتمالًا من الوثائق الموجودة على الموقع الإلكتروني. وهذه هي الخطوة الأولى قبل جعل وثائق الموقع الإلكتروني تُولَّد دائمًا تلقائيًا من الشيفرة المصدرية. ولهذا آثار بعيدة المدى: - سيُضمن تضمين كل إعداد؛ - لن يكون هناك احتمال لوجود قيم افتراضية متقادمة؛ - يمكننا توليد هذه الوثائق لكل إصدار من ClickHouse؛ - ويمكن للخادوم نفسه عرض الوثائق حتى بدون الوصول إلى الإنترنت. توليد وثائق الموقع الإلكتروني من الشيفرة المصدرية. [#70289](https://github.com/ClickHouse/ClickHouse/pull/70289) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* السماح بأن تكون السلسلة الهدف `needle` فارغة في الدالة `replace`، بنفس السلوك الموجود في PostgreSQL. [#69918](https://github.com/ClickHouse/ClickHouse/pull/69918) ([zhanglistar](https://github.com/zhanglistar)).
* السماح بأن تكون السلسلة الهدف `needle` فارغة في الدوال `replaceRegexp*`. [#70053](https://github.com/ClickHouse/ClickHouse/pull/70053) ([zhanglistar](https://github.com/zhanglistar)).
* تُنشأ الروابط الرمزية للجداول في الدليل `data/database_name/` لتشير إلى المسارات الفعلية لبيانات الجدول، بحسب سياسة التخزين، بدلًا من الدليل `store/...` على القرص الافتراضي. [#61777](https://github.com/ClickHouse/ClickHouse/pull/61777) ([Kirill](https://github.com/kirillgarbar)).
* عند تحليل حقل `Enum` من `JSON`، سيُفسَّر أيُّ نصٍّ يحتوي على عدد صحيح على أنه عنصر `Enum` المقابل. ويغلق هذا [#65119](https://github.com/ClickHouse/ClickHouse/issues/65119). [#66801](https://github.com/ClickHouse/ClickHouse/pull/66801) ([scanhex12](https://github.com/scanhex12)).
* السماح بإجراء `TRIM` لـ `LEADING` أو `TRAILING` على سلسلة نصية فارغة باعتباره عملية دون أي تأثير. يُغلق [#67792](https://github.com/ClickHouse/ClickHouse/issues/67792). [#68455](https://github.com/ClickHouse/ClickHouse/pull/68455) ([Peter Nguyen](https://github.com/petern48)).
* تحسين توافق `cast(timestamp as String)` مع Spark. [#69179](https://github.com/ClickHouse/ClickHouse/pull/69179) ([Wenzheng Liu](https://github.com/lwz9103)).
* استخدم دائمًا المحلّل الجديد لحساب التعبيرات الثابتة عندما تكون `enable_analyzer` مضبوطة على `true`. دعم حساب وسائط دالة الجدول `executable` دون استخدام استعلام `SELECT` للتعبيرات الثابتة. [#69292](https://github.com/ClickHouse/ClickHouse/pull/69292) ([Dmitry Novik](https://github.com/novikd)).
* إضافة إعداد `enable_secure_identifiers` لمنع المعرّفات التي تحتوي على محارف خاصة. [#69411](https://github.com/ClickHouse/ClickHouse/pull/69411) ([tuanpach](https://github.com/tuanpach)).
* أضِف `show_create_query_identifier_quoting_rule` لتحديد آلية وضع علامات الاقتباس حول المعرّفات في ناتج استعلام `SHOW CREATE TABLE`. Possible values: - `user_display`: عندما تكون المعرّفات كلمةً مفتاحية. - `when_necessary`: عندما تكون المعرّفات إحدى القيم `{"distinct", "all", "table"}` أو عندما قد يؤدي ذلك إلى التباس، مثل أسماء الأعمدة وأسماء سمات Dictionary. - `always`: ضع علامات اقتباس حول المعرّفات دائمًا. [#69448](https://github.com/ClickHouse/ClickHouse/pull/69448) ([tuanpach](https://github.com/tuanpach)).
* حسِّن استعادة تبعيات كيانات الوصول [#69563](https://github.com/ClickHouse/ClickHouse/pull/69563) ([Vitaly Baranov](https://github.com/vitlibar)).
* إذا شغّلت `clickhouse-client` أو أي تطبيق CLI آخر، وبدأ تشغيله ببطء بسبب زيادة الحمل على الخادم، ثم بدأت في كتابة الاستعلام، مثل `SELECT`، فكانت الإصدارات السابقة تعرض بقية الأحرف المرتدة من الطرفية قبل طباعة رسالة الترحيب، مثل `SELECTClickHouse local version 24.10.1.1.` بدلًا من `ClickHouse local version 24.10.1.1.`. وقد أُصلح ذلك الآن. يُغلق هذا [#31696](https://github.com/ClickHouse/ClickHouse/issues/31696). [#69856](https://github.com/ClickHouse/ClickHouse/pull/69856) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أضِف عمودًا جديدًا `readonly_duration` إلى جدول `system.replicas`. وهذا مطلوب للتمييز في alerts بين النسخ المتماثلة الفعلية للقراءة فقط ونسخ sentinel. [#69871](https://github.com/ClickHouse/ClickHouse/pull/69871) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* غيّر نوع الإعداد `join_output_by_rowlist_perkey_rows_threshold` إلى عدد صحيح غير موقّع. [#69886](https://github.com/ClickHouse/ClickHouse/pull/69886) ([kevinyhzou](https://github.com/KevinyhZou)).
* حسِّن logging الخاص بـ span في OpenTelemetry ليشمل إعدادات query. [#70011](https://github.com/ClickHouse/ClickHouse/pull/70011) ([sharathks118](https://github.com/sharathks118)).
* أضِف معلومات تشخيصية حول array functions عالية الرتبة إذا كان نوع ناتج lambda غير متوقع. [#70093](https://github.com/ClickHouse/ClickHouse/pull/70093) ([ttanay](https://github.com/ttanay)).
* تحسين في Keeper: تقليل القفل أثناء تغييرات cluster. [#70275](https://github.com/ClickHouse/ClickHouse/pull/70275) ([Antonio Andelic](https://github.com/antonio2368)).
* أضِف الكلمتين المفتاحيتين `WITH IMPLICIT` و`FINAL` إلى الأمر `SHOW GRANTS`. وأصلِح خطأً بسيطًا في grants الضمنية: [#70094](https://github.com/ClickHouse/ClickHouse/issues/70094). [#70293](https://github.com/ClickHouse/ClickHouse/pull/70293) ([pufit](https://github.com/pufit)).
* راعِ `compatibility` في MergeTree settings. تُؤخذ قيمة `compatibility` من profile ‏`default` عند بدء تشغيل server، وتُعدَّل إعدادات MergeTree الافتراضية وفقًا لذلك. ولا تؤثر التغييرات اللاحقة على الإعداد `compatibility` في إعدادات MergeTree. [#70322](https://github.com/ClickHouse/ClickHouse/pull/70322) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تجنّب إغراق logs بأجسام استجابات HTTP كبيرة عند حدوث أخطاء أثناء الاتصال بين الخوادم. [#70487](https://github.com/ClickHouse/ClickHouse/pull/70487) ([Vladimir Cherkasov](https://github.com/vdimir)).
* أُضيف إعداد جديد `max_parts_to_move` للتحكم في الحد الأقصى لعدد parts التي يمكن نقلها دفعة واحدة. [#70520](https://github.com/ClickHouse/ClickHouse/pull/70520) ([Vladimir Cherkasov](https://github.com/vdimir)).
* قيِّد تكرار بعض log messages. [#70601](https://github.com/ClickHouse/ClickHouse/pull/70601) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* كان `CHECK TABLE` مع المحدِّد `PART` يُعرَض بتنسيق غير صحيح في client. [#70660](https://github.com/ClickHouse/ClickHouse/pull/70660) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم كتابة فهرس العمود وفهرس الإزاحة باستخدام الكاتب الأصلي لـ Parquet. [#70669](https://github.com/ClickHouse/ClickHouse/pull/70669) ([LiuNeng](https://github.com/liuneng1994)).
* دعم تحليل `DateTime64` للميكروثواني والمنطقة الزمنية وفق صيغة Joda ("Joda" هي مكتبة Java شائعة للتاريخ والوقت، و"صيغة Joda" هي أسلوب تلك المكتبة). [#70737](https://github.com/ClickHouse/ClickHouse/pull/70737) ([kevinyhzou](https://github.com/KevinyhZou)).
* تم تغيير النهج المتبع لتحديد ما إذا كان التخزين السحابي يدعم [الحذف الدفعي](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html) أم لا. [#70786](https://github.com/ClickHouse/ClickHouse/pull/70786) ([Vitaly Baranov](https://github.com/vitlibar)).
* دعم Parquet page v2 في القارئ الأصلي. [#70807](https://github.com/ClickHouse/ClickHouse/pull/70807) ([Arthur Passos](https://github.com/arthurpassos)).
* إضافة تحقّق مما إذا كان الجدول يحتوي على كلٍّ من `storage_policy` و`disk` مضبوطَين. كما أُضيف تحقّق مما إذا كانت سياسة التخزين الجديدة متوافقة مع القديمة عند استخدام الإعداد `disk`. [#70839](https://github.com/ClickHouse/ClickHouse/pull/70839) ([Kirill](https://github.com/kirillgarbar)).
* إضافة `system.s3_queue_settings` و`system.azure_queue_settings`. [#70841](https://github.com/ClickHouse/ClickHouse/pull/70841) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أصبحت الدالتان `base58Encode` و`base58Decode` تقبلان الآن وسائط من النوع `FixedString`. مثال: `SELECT base58Encode(toFixedString('plaintext', 9));`. [#70846](https://github.com/ClickHouse/ClickHouse/pull/70846) ([Faizan Patel](https://github.com/faizan2786)).
* إضافة العمود `partition` إلى كل نوع من أنواع الإدخالات في سجل الأجزاء. سابقًا، كان يُضبط لبعض الإدخالات فقط. هذا يُغلق [#70819](https://github.com/ClickHouse/ClickHouse/issues/70819). [#70848](https://github.com/ClickHouse/ClickHouse/pull/70848) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة الحدثين `MergeStart` و`MutateStart` إلى `system.part_log`، مما يساعد في تحليل عمليات الدمج وتصوّرها. [#70850](https://github.com/ClickHouse/ClickHouse/pull/70850) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة حدث profile جديد يتعلق بعدد أجزاء المصدر المدمجة. يتيح ذلك مراقبة تشعّب شجرة الدمج في بيئة الإنتاج. [#70908](https://github.com/ClickHouse/ClickHouse/pull/70908) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُعيد تفعيل التنزيلات الخلفية إلى ذاكرة التخزين المؤقت لنظام الملفات. [#70929](https://github.com/ClickHouse/ClickHouse/pull/70929) ([Nikita Taranov](https://github.com/nickitat)).
* إضافة خوارزمية جديدة لمحدد الدمج باسم `Trivial` للاستخدام المتخصص فقط. وهي أسوأ من محدد الدمج `Simple`. [#70969](https://github.com/ClickHouse/ClickHouse/pull/70969) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم تنفيذ `CREATE OR REPLACE VIEW` بصورة ذرّية. [#70536](https://github.com/ClickHouse/ClickHouse/pull/70536) ([tuanpach](https://github.com/tuanpach))
* تمت إضافة وضع `strict_once` إلى الدالة التجميعية `windowFunnel` لتجنب احتساب الحدث نفسه عدة مرات إذا طابق شروطًا متعددة، ويُغلق [#21835](https://github.com/ClickHouse/ClickHouse/issues/21835). [#69738](https://github.com/ClickHouse/ClickHouse/pull/69738) ([Vladimir Cherkasov](https://github.com/vdimir)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release-2">
  #### إصلاح خطأ (خلل يلاحظه المستخدم في إصدار مستقر رسمي)
</div>

* تطبيق تحديثات الإعدادات على كائن السياق العام. يعالج هذا مشكلات مثل [#62308](https://github.com/ClickHouse/ClickHouse/issues/62308). [#62944](https://github.com/ClickHouse/ClickHouse/pull/62944) ([Amos Bird](https://github.com/amosbird)).
* إصلاح مشكلة عدم استخدام `ReadSettings` للقيم التي يعيّنها المستخدم، إذ كانت تُستخدم القيم الافتراضية فقط. [#65625](https://github.com/ClickHouse/ClickHouse/pull/65625) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح مشكلة عدم تطابق النوع في `sumMapFiltered` عند استخدام وسائط موقَّعة. [#58408](https://github.com/ClickHouse/ClickHouse/pull/58408) ([Chen768959](https://github.com/Chen768959)).
* إصلاح الرتابة في دوال التحويل المشابهة لـ `toHour` عند تمرير وسيط اختياري للمنطقة الزمنية. [#60264](https://github.com/ClickHouse/ClickHouse/pull/60264) ([Amos Bird](https://github.com/amosbird)).
* تخفيف فحص `supportsPrewhere` لجداول `Merge`. يعالج هذا [#61064](https://github.com/ClickHouse/ClickHouse/issues/61064). وقد جرى تشديده دون داعٍ في [#60082](https://github.com/ClickHouse/ClickHouse/issues/60082). [#61091](https://github.com/ClickHouse/ClickHouse/pull/61091) ([Amos Bird](https://github.com/amosbird)).
* إصلاح التعامل مع الإعداد `use_concurrency_control` لضمان فرض الحد `concurrent_threads_soft_limit_num` على نحو صحيح. ويؤدي هذا إلى تفعيل التحكم في التزامن افتراضيًا لأنه كان معطّلًا سابقًا بسبب خلل. [#61473](https://github.com/ClickHouse/ClickHouse/pull/61473) ([Sergei Trifonov](https://github.com/serxa)).
* إصلاح تحسين غير صحيح لقسم `JOIN ON` في حالة التحقق من `IS NULL` داخل أي دالة أخرى (مثل `NOT`)، بما قد يؤدي إلى نتائج خاطئة. يُغلق [#67915](https://github.com/ClickHouse/ClickHouse/issues/67915). [#68049](https://github.com/ClickHouse/ClickHouse/pull/68049) ([Vladimir Cherkasov](https://github.com/vdimir)).
* منع استعلامات `ALTER` التي قد تجعل استعلام `CREATE` الخاص بالجداول غير صالح. [#68574](https://github.com/ClickHouse/ClickHouse/pull/68574) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح عدم اتساق تنسيق AST للدالتين `negate` (`-`) و`NOT` مع Tuples والمصفوفات. [#68600](https://github.com/ClickHouse/ClickHouse/pull/68600) ([Vladimir Cherkasov](https://github.com/vdimir)).
* إصلاح إدراج نوع غير مكتمل في `Dynamic` أثناء إلغاء التسلسل. وكان هذا قد يؤدي إلى أخطاء `Parameter out of bound`. [#69291](https://github.com/ClickHouse/ClickHouse/pull/69291) ([Pavel Kruglov](https://github.com/Avogar)).
* في zero-copy replication، وهي ميزة تجريبية ويجب عدم استخدامها في بيئات production: إصلاح حلقة لا نهائية بعد `restore replica` في شجرة الدمج المتماثلة مع zero copy. [#69293](https://github.com/CljmnickHouse/ClickHouse/pull/69293) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* إعادة القيمة الافتراضية لـ `processing_threads_num` لتكون عدد أنوية CPU في وحدة التخزين `S3Queue`. [#69384](https://github.com/ClickHouse/ClickHouse/pull/69384) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تجاوز مسار `try/catch` عند إجراء إلغاء/تسلسل `Protobuf` المتداخل المتكرر إلى الأعمدة المتداخلة (يعالج [#41971](https://github.com/ClickHouse/ClickHouse/issues/41971)). [#69556](https://github.com/ClickHouse/ClickHouse/pull/69556) ([Eliot Hautefeuille](https://github.com/hileef)).
* إصلاح تعطل أثناء الإدراج في عمود `FixedString` في محرك `PostgreSQL`. [#69584](https://github.com/ClickHouse/ClickHouse/pull/69584) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح تعطل عند تنفيذ `create view t as (with recursive 42 as ttt select ttt);`. [#69676](https://github.com/ClickHouse/ClickHouse/pull/69676) ([Han Fei](https://github.com/hanfei1991)).
* تم إصلاح `maxMapState` الذي كان يطلق 'Bad get' إذا كان نوع القيمة هو DateTime64. [#69787](https://github.com/ClickHouse/ClickHouse/pull/69787) ([Michael Kolupaev](https://github.com/al13n321)).
* إصلاح `getSubcolumn` مع الأعمدة `LowCardinality` من خلال تجاوز `useDefaultImplementationForLowCardinalityColumns` لإرجاع `true`. [#69831](https://github.com/ClickHouse/ClickHouse/pull/69831) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* إصلاح توقف عمليات الإرسال الموزعة بشكل دائم إذا فشلت عملية DROP لجدول موزع. [#69843](https://github.com/ClickHouse/ClickHouse/pull/69843) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الاستعلامات غير القابلة للإلغاء التي تحتوي على WITH FILL مع مفاتيح NaN. يُغلق هذا [#69261](https://github.com/ClickHouse/ClickHouse/issues/69261). [#69845](https://github.com/ClickHouse/ClickHouse/pull/69845) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح القيمة الافتراضية الخاصة بـ analyzer عند استخدام قيمة توافق قديمة. [#69895](https://github.com/ClickHouse/ClickHouse/pull/69895) ([Raúl Marín](https://github.com/Algunenano)).
* عدم التحقق من التبعيات أثناء CREATE OR REPLACE VIEW عند تنفيذ DROP للجدول القديم. سابقًا، كان استعلام CREATE OR REPLACE يفشل عند وجود جداول تعتمد على العرض المُعاد إنشاؤه. [#69907](https://github.com/ClickHouse/ClickHouse/pull/69907) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح متعلق بـ Decimal. يُصلح [#69730](https://github.com/ClickHouse/ClickHouse/issues/69730). [#69978](https://github.com/ClickHouse/ClickHouse/pull/69978) ([Arthur Passos](https://github.com/arthurpassos)).
* أصبح DEFINER/INVOKER يعمل الآن مع العروض المعلّمة بمعلمات. [#69984](https://github.com/ClickHouse/ClickHouse/pull/69984) ([pufit](https://github.com/pufit)).
* إصلاح تحليل مُعرِّفات العرض. [#69985](https://github.com/ClickHouse/ClickHouse/pull/69985) ([pufit](https://github.com/pufit)).
* تم إصلاح خلل كانت فيه المنطقة الزمنية تغيّر نتيجة الاستعلام الذي يتضمن وسائط من النوع `Date` أو `Date32`. [#70036](https://github.com/ClickHouse/ClickHouse/pull/70036) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* يُصلح `Block structure mismatch` في الاستعلامات التي تحتوي على عروض متداخلة وشرط `WHERE`. يُصلح [#66209](https://github.com/ClickHouse/ClickHouse/issues/66209). [#70054](https://github.com/ClickHouse/ClickHouse/pull/70054) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تجنب إعادة استخدام الأعمدة بين named tuples مختلفة عند تقييم دوال `tuple`. يُصلح هذا [#70022](https://github.com/ClickHouse/ClickHouse/issues/70022). [#70103](https://github.com/ClickHouse/ClickHouse/pull/70103) ([Amos Bird](https://github.com/amosbird)).
* إصلاح LOGICAL\_ERROR غير الصحيح عند استبدال القيم الحرفية في النطاقات. [#70122](https://github.com/ClickHouse/ClickHouse/pull/70122) ([Pablo Marcos](https://github.com/pamarcos)).
* التحقق من النوع Nullable(Nothing) أثناء ALTER TABLE MODIFY COLUMN/QUERY لمنع الجداول ذات نوع البيانات هذا. [#70123](https://github.com/ClickHouse/ClickHouse/pull/70123) ([Pavel Kruglov](https://github.com/Avogar)).
* رسالة خطأ مناسبة للاستعلام غير القانوني `JOIN ... ON *`، ويُغلق هذا [#68650](https://github.com/ClickHouse/ClickHouse/issues/68650). [#70124](https://github.com/ClickHouse/ClickHouse/pull/70124) ([Vladimir Cherkasov](https://github.com/vdimir)).
* إصلاح نتيجة غير صحيحة مع فهرس تخطّي البيانات. [#70127](https://github.com/ClickHouse/ClickHouse/pull/70127) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح `data race` في دالة فك الضغط `decompress` الخاصة بـ ColumnObject/ColumnTuple، والذي كان قد يؤدي إلى استخدام الذاكرة بعد تحريرها. [#70137](https://github.com/ClickHouse/ClickHouse/pull/70137) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح احتمال حدوث تعليق في ALTER COLUMN مع النوع Dynamic. [#70144](https://github.com/ClickHouse/ClickHouse/pull/70144) ([Pavel Kruglov](https://github.com/Avogar)).
* سيعتبر ClickHouse الآن مزيدًا من الأخطاء قابلة لإعادة المحاولة، ولن يوسم أجزاء البيانات بأنها تالفة في حال وقوع مثل هذه الأخطاء. [#70145](https://github.com/ClickHouse/ClickHouse/pull/70145) ([alesapin](https://github.com/alesapin)).
* استخدام المعامل `max_types` الصحيح أثناء إنشاء النوع Dynamic لـ JSON subcolumn. [#70147](https://github.com/ClickHouse/ClickHouse/pull/70147) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح ظهور كلمة المرور في `system.query_log` للمستخدمين الذين يستخدمون أسلوب المصادقة بكلمة مرور bcrypt. [#70148](https://github.com/ClickHouse/ClickHouse/pull/70148) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح عدّاد الأحداث للواجهة الأصلية (InterfaceNativeSendBytes). [#70153](https://github.com/ClickHouse/ClickHouse/pull/70153) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح احتمال حدوث تعطل مرتبط بـ JSON columns. [#70172](https://github.com/ClickHouse/ClickHouse/pull/70172) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح عدة مشكلات في arrayMin وarrayMax. [#70207](https://github.com/ClickHouse/ClickHouse/pull/70207) ([Raúl Marín](https://github.com/Algunenano)).
* مراعاة الإعداد allow\_simdjson في محلل JSON type. [#70218](https://github.com/ClickHouse/ClickHouse/pull/70218) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح إلغاء مرجعية مؤشر فارغ عند إنشاء materialized view تحتوي على عمليتي selects و `INTERSECT`، مثل `CREATE MATERIALIZED VIEW v0 AS (SELECT 1) INTERSECT (SELECT 1);`. [#70264](https://github.com/ClickHouse/ClickHouse/pull/70264) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* لا تعدّل الإعدادات العامة باستخدام نصوص بدء التشغيل. سابقًا، كان تغيير أحد الإعدادات في نص بدء التشغيل يؤدي إلى تغييره على مستوى عام. [#70310](https://github.com/ClickHouse/ClickHouse/pull/70310) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح ALTER للنوع `Dynamic` عند تقليل المعامل max\_types، وهو ما كان قد يؤدي إلى تعطل الخادم. [#70328](https://github.com/ClickHouse/ClickHouse/pull/70328) ([Pavel Kruglov](https://github.com/Avogar)).
* إصلاح التعطل عند استخدام WITH FILL بشكل غير صحيح. [#70338](https://github.com/ClickHouse/ClickHouse/pull/70338) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح احتمال حدوث استخدام للذاكرة بعد تحريرها في `SYSTEM DROP FORMAT SCHEMA CACHE FOR Protobuf`. [#70358](https://github.com/ClickHouse/ClickHouse/pull/70358) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح التعطل أثناء GROUP BY على JSON sub-object subcolumn. [#70374](https://github.com/ClickHouse/ClickHouse/pull/70374) ([Pavel Kruglov](https://github.com/Avogar)).
* لا تُجرِ `prefetch` للأجزاء في vertical merges إذا كان الجزء لا يحتوي على أي صفوف. [#70452](https://github.com/ClickHouse/ClickHouse/pull/70452) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح التعطل في WHERE مع lambda functions. [#70464](https://github.com/ClickHouse/ClickHouse/pull/70464) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح إنشاء الجداول باستخدام `CREATE ... AS table_function(...)` مع قاعدة البيانات `Replicated` ومصدر table function غير المتاح على replica ثانوية. [#70511](https://github.com/ClickHouse/ClickHouse/pull/70511) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تجاهل جميع المخرجات في `async insert` عند استخدام `wait_for_async_insert=1`. يُغلق [#62644](https://github.com/ClickHouse/ClickHouse/issues/62644). [#70530](https://github.com/ClickHouse/ClickHouse/pull/70530) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* تجاهل الملف frozen\_metadata.txt أثناء اجتياز دليل الظل من system.remote\_data\_paths. [#70590](https://github.com/ClickHouse/ClickHouse/pull/70590) ([Aleksei Filatov](https://github.com/aalexfvk)).
* إصلاح إنشاء دوال النوافذ ذات الحالة على ذاكرة غير مصطفّة. [#70631](https://github.com/ClickHouse/ClickHouse/pull/70631) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح حالات التعطل النادرة في استعلامات `SELECT` وعمليات الدمج بعد إضافة عمود من النوع `Array` مع تعبير افتراضي غير فارغ. [#70695](https://github.com/ClickHouse/ClickHouse/pull/70695) ([Anton Popov](https://github.com/CurtizJ)).
* سيحترم الإدراج في دالة الجدول S3 إعدادات الاستعلام. [#70696](https://github.com/ClickHouse/ClickHouse/pull/70696) ([Vladimir Cherkasov](https://github.com/vdimir)).
* إصلاح الاستدعاء الذاتي غير المنتهي عند استنتاج مخطط Protobuf عندما يكون تخطي الحقول غير المدعومة مُمكّنًا. [#70697](https://github.com/ClickHouse/ClickHouse/pull/70697) ([Raúl Marín](https://github.com/Algunenano)).
* تعطيل enable\_named\_columns\_in\_function\_tuple افتراضيًا. [#70833](https://github.com/ClickHouse/ClickHouse/pull/70833) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح مشكلة عدم سريان الإعداد processing\_threads\_num في محرك الجدول S3Queue عندما يكون مستنتجًا من عدد أنوية CPU على الخادم. [#70837](https://github.com/ClickHouse/ClickHouse/pull/70837) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تطبيع وسائط named tuple في حالات التجميع. هذا يُصلح [#69732](https://github.com/ClickHouse/ClickHouse/issues/69732). [#70853](https://github.com/ClickHouse/ClickHouse/pull/70853) ([Amos Bird](https://github.com/amosbird)).
* إصلاح خطأ منطقي ناتج عن الأصفار السالبة في جدول hash ثنائي المستوى. هذا يُغلق [#70973](https://github.com/ClickHouse/ClickHouse/issues/70973). [#70979](https://github.com/ClickHouse/ClickHouse/pull/70979) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح `limit by` و`limit with ties` في البيئات الموزعة ومع parallel replicas. [#70880](https://github.com/ClickHouse/ClickHouse/pull/70880) ([Nikita Taranov](https://github.com/nickitat)).

### <a id="249" /> إصدار ClickHouse 24.9 بتاريخ 2024-09-26. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.9/)، [الفيديو](https://www.youtube.com/watch?v=ray6wJGCHbs)

<Frame>
  <iframe src="https://www.youtube.com/embed/ray6wJGCHbs" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* أصبحت التعبيرات مثل `a[b].c` مدعومة في `Tuple` المسماة، وكذلك الاشتراكات المسماة انطلاقًا من تعبيرات عشوائية، مثل `expr().name`. وهذا مفيد لمعالجة JSON. يُغلق هذا [#54965](https://github.com/ClickHouse/ClickHouse/issues/54965). في الإصدارات السابقة، كان التعبير بالشكل `expr().name` يُحلَّل على أنه `tupleElement(expr(), name)`، وكان محلل الاستعلامات يبحث عن العمود `name` بدلًا من عنصر `Tuple` المقابل؛ أما في الإصدار الجديد، فقد أصبح `tupleElement(expr(), 'name')`. في معظم الحالات، لم يكن السلوك السابق يعمل، لكن يمكن تصور سيناريو نادر جدًا قد يؤدي فيه هذا التغيير إلى عدم توافق: إذا كنت قد خزّنت أسماء عناصر `Tuple` في عمود أو اسم مستعار، وكان اسمه مختلفًا عن اسم عنصر `Tuple`: `SELECT 'b' AS a, CAST([tuple(123)] AS 'Array(Tuple(b UInt8))') AS t, t[1].a`. ومن غير المرجح جدًا أنك استخدمت مثل هذه الاستعلامات، لكن لا يزال يتعين علينا وسم هذا التغيير بأنه قد يكون غير متوافق مع الإصدارات السابقة. [#68435](https://github.com/ClickHouse/ClickHouse/pull/68435) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* عند تمكين الإعداد `print_pretty_type_names`، سيطبع نوع البيانات `Tuple` بصيغة منسقة في عبارات `SHOW CREATE TABLE`، والدالة `formatQuery`، وفي الوضع التفاعلي في `clickhouse-client` و`clickhouse-local`. في الإصدارات السابقة، كان هذا الإعداد يُطبَّق فقط على استعلامات `DESCRIBE` و`toTypeName`. يُغلق هذا [#65753](https://github.com/ClickHouse/ClickHouse/issues/65753). [#68492](https://github.com/ClickHouse/ClickHouse/pull/68492) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* لا يُسمح بتحديد UUID صراحةً عند إنشاء جدول في قواعد بيانات `Replicated`. كذلك، لا يُسمح بتحديد `Keeper path` واسم الـ replica صراحةً لجداول \*MergeTree في قواعد بيانات `Replicated`. ويُدخل هذا إعدادًا جديدًا هو `database_replicated_allow_explicit_uuid`، كما يغيّر نوع `database_replicated_allow_replicated_engine_arguments` من Bool إلى UInt64 [#66104](https://github.com/ClickHouse/ClickHouse/pull/66104) ([Alexander Tokmakov](https://github.com/tavplubix)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* السماح للمستخدم بامتلاك عدة طرق مصادقة بدلًا من طريقة واحدة فقط، مع إمكانية إعادة تعيين طرق المصادقة إلى أحدث طريقة تمت إضافتها. إذا كنت تريد تشغيل مثيلات على 24.8 ومثيلًا واحدًا على 24.9 لبعض الوقت، فمن الأفضل ضبط `max_authentication_methods_per_user` = 1 خلال تلك الفترة لتجنّب حالات عدم التوافق المحتملة. [#65277](https://github.com/ClickHouse/ClickHouse/pull/65277) ([Arthur Passos](https://github.com/arthurpassos)).
* إضافة دعم لـ `ATTACH PARTITION ALL FROM`. [#61987](https://github.com/ClickHouse/ClickHouse/pull/61987) ([Kirill Nikiforov](https://github.com/allmazz)).
* إضافة الإعداد `input_format_json_empty_as_default` الذي، عند تفعيله، يعامل الحقول الفارغة في مُدخلات JSON على أنها قيم افتراضية. يُغلق [#59339](https://github.com/ClickHouse/ClickHouse/issues/59339). [#66782](https://github.com/ClickHouse/ClickHouse/pull/66782) ([Alexis Arnaud](https://github.com/a-a-f)).
* أُضيفت الدالتان `overlay` و`overlayUTF8` اللتان تستبدلان أجزاءً من سلسلة نصية بسلسلة نصية أخرى. مثال: `SELECT overlay('Hello New York', 'Jersey', 11)` تُرجع `Hello New Jersey`. [#66933](https://github.com/ClickHouse/ClickHouse/pull/66933) ([李扬](https://github.com/taiyang-li)).
* إضافة دعم لعمليات الحذف الخفيف في partition ضمن `DELETE FROM [db.]table [ON CLUSTER cluster] [IN PARTITION partition_expr] WHERE expr; ` [#67805](https://github.com/ClickHouse/ClickHouse/pull/67805) ([sunny](https://github.com/sunny19930321)).
* تنفيذ المقارنة بين قيم نوع البيانات `Interval` من domains مختلفة (مثل الثواني والدقائق)، بحيث تُحوَّل الآن إلى أقل supertype مشترك. [#68057](https://github.com/ClickHouse/ClickHouse/pull/68057) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إضافة الإعداد `create_if_not_exists` لجعل السلوك الافتراضي مماثلًا لـ `IF NOT EXISTS` أثناء عبارات CREATE. [#68164](https://github.com/ClickHouse/ClickHouse/pull/68164) ([Peter Nguyen](https://github.com/petern48)).
* يتيح الآن قراءة جداول `Iceberg` في Azure ومحليًا. [#68210](https://github.com/ClickHouse/ClickHouse/pull/68210) ([Daniil Ivanik](https://github.com/divanik)).
* يمكن الآن حذف إدخالات query cache حسب tag. على سبيل المثال، يمكن الآن حذف إدخال query cache الذي أُنشئ بواسطة `SELECT 1 SETTINGS use_query_cache = true, query_cache_tag = 'abc'` باستخدام `SYSTEM DROP QUERY CACHE TAG 'abc'`. [#68477](https://github.com/ClickHouse/ClickHouse/pull/68477) ([Michał Tabaszewski](https://github.com/pinsvin00)).
* إضافة تشفير التخزين لـ named collections. [#68615](https://github.com/ClickHouse/ClickHouse/pull/68615) ([Pablo Marcos](https://github.com/pamarcos)).
* إضافة العمود الظاهري `_headers` إلى محرك الجداول `URL`. يُغلق [#65026](https://github.com/ClickHouse/ClickHouse/issues/65026). [#68867](https://github.com/ClickHouse/ClickHouse/pull/68867) ([flynn](https://github.com/ucasfl)).
* إضافة جدول `system.projections` لتتبّع projections المتاحة. [#68901](https://github.com/ClickHouse/ClickHouse/pull/68901) ([Jordi Villar](https://github.com/jrdi)).
* إضافة الدالة الجديدة `arrayZipUnaligned` للتوافق مع Spark (والتي تحمل الاسم `arrays_zip` في Spark)، وتتيح التعامل مع arrays غير المتحاذية استنادًا إلى `arrayZip` الأصلية. [#69030](https://github.com/ClickHouse/ClickHouse/pull/69030) ([李扬](https://github.com/taiyang-li)).
* أُضيفت أوامر `cp`/`mv` إلى تطبيق سطر أوامر عميل Keeper، وتوفّر نسخ/نقل العقدة بصورة ذرية. [#69034](https://github.com/ClickHouse/ClickHouse/pull/69034) ([Mikhail Artemenko](https://github.com/Michicosun)).
* يضيف الوسيط `scale` (الافتراضي: `true`) إلى الدالة `arrayAUC`، بما يتيح تخطي خطوة التطبيع (التذكرة [#69609](https://github.com/ClickHouse/ClickHouse/issues/69609)). [#69717](https://github.com/ClickHouse/ClickHouse/pull/69717) ([gabrielmcg44](https://github.com/gabrielmcg44)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* يضيف الإعداد `input_format_try_infer_variants`، الذي يتيح استنتاج النوع `Variant` أثناء استنتاج المخطط في تنسيقات النص عندما يكون هناك أكثر من نوع محتمل لعناصر العمود/المصفوفة. [#63798](https://github.com/ClickHouse/ClickHouse/pull/63798) ([Shaun Struwig](https://github.com/Blargian)).
* يضيف الدوال التجميعية `distinctDynamicTypes`/`distinctJSONPaths`/`distinctJSONPathsAndTypes` لتحسين فحص محتوى نوع عمود JSON. [#68463](https://github.com/ClickHouse/ClickHouse/pull/68463) ([Kruglov Pavel](https://github.com/Avogar)).
* خوارزمية جديدة لتحديد وحدة توزيع العلامات بين النسخ المتماثلة المتوازية باستخدام تجزئة متسقة. ويجري اختيار أعداد مختلفة من العلامات لأنماط القراءة المختلفة لتحسين الأداء. [#68424](https://github.com/ClickHouse/ClickHouse/pull/68424) ([Nikita Taranov](https://github.com/nickitat)).
* سابقًا، كان التعقيد الخوارزمي لمنطق إزالة التكرار للأجزاء في معالجة إعلانات النسخ المتماثلة المتوازية هو O(n^2)، وكان ذلك قد يستغرق وقتًا ملحوظًا للجداول التي تحتوي على عدد كبير من الأجزاء (أو التقسيمات). يجعل هذا التغيير التعقيد O(n\*log(n)). [#69596](https://github.com/ClickHouse/ClickHouse/pull/69596) ([Alexander Gololobov](https://github.com/davenger)).
* تحسينات على العرض المادي القابل للتحديث: وضع الإلحاق (`... REFRESH EVERY 1 MINUTE APPEND ...`) لإضافة صفوف إلى جدول موجود بدلًا من الكتابة فوق الجدول بالكامل، وإعادات المحاولة (معطّلة افتراضيًا، وتُضبط في قسم SETTINGS من الاستعلام)، والاستعلام `SYSTEM WAIT VIEW <name>` الذي ينتظر التحديث الجاري حاليًا، بالإضافة إلى بعض الإصلاحات. [#58934](https://github.com/ClickHouse/ClickHouse/pull/58934) ([Michael Kolupaev](https://github.com/al13n321)).
* تمت إضافة `min_max` كنوع جديد من الإحصاءات (التجريبية). وهو يدعم تقدير شروط النطاق على الأعمدة الرقمية، مثل `x < 100`. [#67013](https://github.com/ClickHouse/ClickHouse/pull/67013) ([JackyWoo](https://github.com/JackyWoo)).
* تحسين castOrDefault للأعمدة من نوع Variant/Dynamic بحيث يعمل حتى عندما تكون الأنواع الداخلية غير قابلة للتحويل إطلاقًا. [#67150](https://github.com/ClickHouse/ClickHouse/pull/67150) ([Kruglov Pavel](https://github.com/Avogar)).
* أصبح النسخ المتماثل لمجموعة فرعية من الأعمدة متاحًا الآن عبر MaterializedPostgreSQL. ويغلق [#33748](https://github.com/ClickHouse/ClickHouse/issues/33748). [#69092](https://github.com/ClickHouse/ClickHouse/pull/69092) ([Kruglov Kirill](https://github.com/1on)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* جرى تنفيذ قراءة الملفات المطلوبة فقط لتقسيم Hive. [#68963](https://github.com/ClickHouse/ClickHouse/pull/68963) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* تحسين أداء JOIN عبر إعادة ترتيب الجدول الأيمن حسب المفاتيح عندما تكون مفاتيح الجدول متقاربة في عمليات hash join من نوع LEFT أو INNER. [#60341](https://github.com/ClickHouse/ClickHouse/pull/60341) ([kevinyhzou](https://github.com/KevinyhZou)).
* تحسين أداء ALL JOIN عبر إلحاق قائمة الصفوف عند الحاجة. [#63677](https://github.com/ClickHouse/ClickHouse/pull/63677) ([kevinyhzou](https://github.com/KevinyhZou)).
* تحميل البيانات الوصفية لذاكرة التخزين المؤقت لنظام الملفات بشكل غير متزامن أثناء عملية الإقلاع، لتسريع إعادة التشغيل (ويُتحكَّم بذلك عبر الإعداد `load_metadata_asynchronously`). [#65736](https://github.com/ClickHouse/ClickHouse/pull/65736) ([Daniel Pozo Escalona](https://github.com/danipozo)).
* جرى تحسين الدالتين `array` و`map` لمعالجة بعض الحالات الشائعة بسرعة أكبر بكثير. [#67707](https://github.com/ClickHouse/ClickHouse/pull/67707) ([李扬](https://github.com/taiyang-li)).
* تحسين بسيط في قراءة السلاسل النصية في ORC، خصوصًا عندما لا يحتوي العمود على أي قيم NULL. [#67794](https://github.com/ClickHouse/ClickHouse/pull/67794) ([李扬](https://github.com/taiyang-li)).
* تحسين الأداء العام لعمليات الدمج عبر تقليل العبء الإضافي الناتج عن جدولة خطوات الدمج. [#68016](https://github.com/ClickHouse/ClickHouse/pull/68016) ([Anton Popov](https://github.com/CurtizJ)).
* تسريع الطلبات إلى S3 عندما لا يكون profile مضبوطًا، ولا تكون بيانات الاعتماد مضبوطة، ولا يكون IMDS متاحًا (على سبيل المثال، عند الاستعلام عن bucket عامة من جهاز خارج Cloud). وهذا يُغلق [#52771](https://github.com/ClickHouse/ClickHouse/issues/52771). [#68082](https://github.com/ClickHouse/ClickHouse/pull/68082) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إزالة الافتراضية من قارئ format في `RowInputFormatWithNamesAndTypes` لتحقيق بعض تحسينات الأداء. [#68437](https://github.com/ClickHouse/ClickHouse/pull/68437) ([李扬](https://github.com/taiyang-li)).
* إضافة الدمج المتوازي للدالة التجميعية `uniq` عند التجميع باستخدام مفتاح Group By لتحقيق أقصى استفادة من وحدة المعالجة المركزية. [#68441](https://github.com/ClickHouse/ClickHouse/pull/68441) ([Jiebin Sun](https://github.com/jiebinn)).
* إضافة الإعداد `output_format_orc_dictionary_key_size_threshold` للسماح للمستخدم بتمكين ترميز القاموس لعمود String في output format ‏`ORC`. ويساعد ذلك على تقليل حجم ملف `ORC` الناتج وتحسين أداء القراءة بشكل ملحوظ. [#68591](https://github.com/ClickHouse/ClickHouse/pull/68591) ([李扬](https://github.com/taiyang-li)).
* تقديم طلب جديد في Keeper باسم RemoveRecursive يزيل العقدة مع كامل شجرتها الفرعية. [#69332](https://github.com/ClickHouse/ClickHouse/pull/69332) ([Mikhail Artemenko](https://github.com/Michicosun)).
* تسريع أداء الإدراج في جدول يحتوي على vector similarity index عبر إضافة البيانات إلى فهرس المتجهات بالتوازي. [#69493](https://github.com/ClickHouse/ClickHouse/pull/69493) ([flynn](https://github.com/ucasfl)).
* تقليل استخدام الذاكرة في عمليات الإدراج إلى JSON باستخدام حجم buffer كتابة متكيف. فكثير من الملفات التي ينشئها عمود JSON في Wide part تحتوي على كمية صغيرة من البيانات، ولا جدوى من تخصيص buffer بحجم 1MB لها. [#69272](https://github.com/ClickHouse/ClickHouse/pull/69272) ([Kruglov Pavel](https://github.com/Avogar)).
* تجنب إعادة thread إلى threadpool الخاص بـ concurrent hash join لتفادي أن ينشئ الاستعلام عددًا مفرطًا من threads. [#69406](https://github.com/ClickHouse/ClickHouse/pull/69406) ([Duc Canh Le](https://github.com/canhld94)).

<div id="improvement-1">
  #### تحسين
</div>

* أصبح CREATE TABLE AS ينسخ الآن أيضًا PRIMARY KEY وORDER BY والعبارات المشابهة. ويدعم هذا حاليًا فقط MergeTree family من table engines. [#69076](https://github.com/ClickHouse/ClickHouse/pull/69076) ([sakulali](https://github.com/sakulali)).
* جرى تعزيز أجزاء من codebase المرتبطة بتحليل entities الصغيرة. وقد اكتُشفت الأخطاء (الطفيفة) التالية وأُصلحت: - إذا كان جدول `DeltaLake` مُقسَّمًا حسب Bool، فكانت قيمة partition تُفسَّر دائمًا على أنها false؛ - كان جدول `ExternalDistributed` يستخدم shard واحدة فقط من العناوين المقدَّمة؛ وكانت قيمة الإعداد `max_threads` وما شابهها تُطبع بالشكل `'auto(N)'` بدلًا من `auto(N)`. [#52503](https://github.com/ClickHouse/ClickHouse/pull/52503) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* استُخدمت metrics الخاصة بـ cgroup لاحتساب CPU usage بدلًا من system-wide metrics. [#62003](https://github.com/ClickHouse/ClickHouse/pull/62003) ([Nikita Taranov](https://github.com/nickitat)).
* أصبح IO scheduling لأقراص S3 البعيدة يُنفَّذ الآن على مستوى streams الخاصة بمقبس HTTP (بدلًا من طلبات S3 كاملةً) لحل مشكلات throttling المتعلقة بـ `bandwidth_limit`. [#65182](https://github.com/ClickHouse/ClickHouse/pull/65182) ([Sergei Trifonov](https://github.com/serxa)).
* كانت الدالتان `upperUTF8` و`lowerUTF8` قادرتين سابقًا فقط على تحويل الأحرف السيريلية إلى أحرف كبيرة/صغيرة. وقد أُزيل هذا القيد الآن، وأصبح تحويل الأحرف إلى كبيرة/صغيرة يدعم أحرف أي لغة. Example: يعيد `SELECT upperUTF8('Süden')` الآن القيمة `SÜDEN`. [#65761](https://github.com/ClickHouse/ClickHouse/pull/65761) ([李扬](https://github.com/taiyang-li)).
* عند تنفيذ lightweight delete على table تحتوي على projection(s)، كان أمام المستخدمين سابقًا خياران: إما throw an exception (افتراضيًا) أو إسقاط الـ projection عند تنفيذ lightweight delete. أما الآن، فقد أصبح هناك خيار ثالث يتيح الإبقاء على lightweight delete ثم إعادة بناء projection(s). [#66169](https://github.com/ClickHouse/ClickHouse/pull/66169) ([jsc0218](https://github.com/jsc0218)).
* أُضيف خياران (`dns_allow_resolve_names_to_ipv4` و `dns_allow_resolve_names_to_ipv6`) للسماح بحظر connections حسب عائلة IP. [#66895](https://github.com/ClickHouse/ClickHouse/pull/66895) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* أصبح تجاهل Ctrl-Z قابلًا للتهيئة (ignore\_shell\_suspend) في clickhouse-client. [#67134](https://github.com/ClickHouse/ClickHouse/pull/67134) ([Azat Khuzhin](https://github.com/azat)).
* تحسين التحقق من UTF-8 في JSON output formats. يضمن ذلك توليد JSON صالح عند وجود تسلسلات بايت معيّنة في بيانات النتائج. [#67938](https://github.com/ClickHouse/ClickHouse/pull/67938) ([mwoenker](https://github.com/mwoenker)).
* أُضيفت profile events لعمليات merges وmutations لتحسين introspection. [#68015](https://github.com/ClickHouse/ClickHouse/pull/68015) ([Anton Popov](https://github.com/CurtizJ)).
* ODBC: جلب http\_max\_tries من server configuration. [#68128](https://github.com/ClickHouse/ClickHouse/pull/68128) ([Rodolphe Dugé de Bernonville](https://github.com/RodolpheDuge)).
* إضافة دعم wildcard لتحديد هوية المستخدم في extension ‏SubjectAltName من X.509. [#68236](https://github.com/ClickHouse/ClickHouse/pull/68236) ([Marco Vilas Boas](https://github.com/marco-vb)).
* تحسين schema inference لقيم date time. يُستخدم `DateTime64` الآن فقط عندما تحتوي قيمة date time على جزء كسري، وإلا فيُستخدم DateTime العادي. كما أصبح inference لكل من Date/DateTime أكثر صرامة الآن، خصوصًا عندما يكون `date_time_input_format='best_effort'`، لتجنب استنتاج date times من السلاسل النصية في الحالات الطرفية. [#68382](https://github.com/ClickHouse/ClickHouse/pull/68382) ([Kruglov Pavel](https://github.com/Avogar)).
* إزالة الشيفرة القديمة للمجموعات المُسمّاة من القواميس واستبدالها بالشيفرة الجديدة، بما يتيح استخدام المجموعات المُسمّاة المُنشأة عبر DDL داخل القواميس. يغلق [#60936](https://github.com/ClickHouse/ClickHouse/issues/60936)، ويغلق [#36890](https://github.com/ClickHouse/ClickHouse/issues/36890). [#68412](https://github.com/ClickHouse/ClickHouse/pull/68412) ([Kseniia Sumarokova](https://github.com/kssenii)).
* استخدام HTTP/1.1 بدلًا من HTTP/1.0 (المُعيَّن افتراضيًا) لمُوثِّقات HTTP الخارجية. [#68456](https://github.com/ClickHouse/ClickHouse/pull/68456) ([Aleksei Filatov](https://github.com/aalexfvk)).
* إضافة مجموعة جديدة من المقاييس لاستبطان مجمّع الخيوط، بما يوفّر رؤى أعمق حول أداء مجمّع الخيوط وسلوكه. [#68674](https://github.com/ClickHouse/ClickHouse/pull/68674) ([filimonov](https://github.com/filimonov)).
* دعم معلمات الاستعلام في عمليات الإدراج غير المتزامنة بتنسيق `Values`. [#68741](https://github.com/ClickHouse/ClickHouse/pull/68741) ([Anton Popov](https://github.com/CurtizJ)).
* دعم `Date32` في `dateTrunc` و`toStartOfInterval`. [#68874](https://github.com/ClickHouse/ClickHouse/pull/68874) ([LiuNeng](https://github.com/liuneng1994)).
* إضافة العمودين `plan_step_name` و`plan_step_description` إلى `system.processors_profile_log`. [#68954](https://github.com/ClickHouse/ClickHouse/pull/68954) ([Alexander Gololobov](https://github.com/davenger)).
* دعم اللغة الإسبانية في القواميس المضمّنة. [#69035](https://github.com/ClickHouse/ClickHouse/pull/69035) ([Vasily Okunev](https://github.com/VOkunev)).
* إضافة معمارية CPU إلى رسالة معلومات الأعطال المختصرة. [#69037](https://github.com/ClickHouse/ClickHouse/pull/69037) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* ستفشل الاستعلامات بسرعة أكبر إذا تعذّر إنشاء اتصال جديد بـ Keeper أثناء إعادة المحاولة. [#69148](https://github.com/ClickHouse/ClickHouse/pull/69148) ([Raúl Marín](https://github.com/Algunenano)).
* تحديث Database Factory بحيث يصبح بإمكان محركات قواعد البيانات المعرّفة من المستخدم أن تتضمن معاملات وإعدادات وتجاوزات للجداول (على غرار StorageFactory). [#69201](https://github.com/ClickHouse/ClickHouse/pull/69201) ([NikBarykin](https://github.com/NikBarykin)).
* كان وضع الاستعادة الذي يستبدل جميع محركات الجداول والدوال الخارجية بمحرك `Null` (الإعدادان `restore_replace_external_engines_to_null` و`restore_replace_external_table_functions_to_null`) يفشل إذا كان الجدول يحتوي على SETTINGS. والآن، تُزال الإعدادات من تعريف الجدول في هذه الحالة، ما يتيح استعادة هذه الجداول. [#69253](https://github.com/ClickHouse/ClickHouse/pull/69253) ([Ilya Yatsishin](https://github.com/qoega)).
* أصبح CLICKHOUSE\_PASSWORD الآن يُهرَّب بشكل صحيح داخل XML في نقطة الدخول لصورة ClickHouse. [#69301](https://github.com/ClickHouse/ClickHouse/pull/69301) ([aohoyd](https://github.com/aohoyd)).
* السماح بمعاملات فارغة لـ `arrayZip`/`arrayZipUnaligned`، كما حدث مع concat في [https://github.com/ClickHouse/ClickHouse/pull/65887](https://github.com/ClickHouse/ClickHouse/pull/65887). وذلك من أجل التوافق مع Spark في Gluten CH Backend. [#69576](https://github.com/ClickHouse/ClickHouse/pull/69576) ([李扬](https://github.com/taiyang-li)).
* دعم خيارات SSL أكثر تقدمًا للاتصال الداخلي لـ Keeper (مثل المفاتيح الخاصة المحمية بعبارة مرور). [#69582](https://github.com/ClickHouse/ClickHouse/pull/69582) ([Antonio Andelic](https://github.com/antonio2368)).
* قد يستغرق تحليل الفهرس وقتًا ملحوظًا في الجداول الكبيرة التي تحتوي على عدد كبير من الأجزاء أو الأقسام. ومن المفترض أن يتيح هذا التغيير إيقاف الاستعلامات الثقيلة في هذه المرحلة. [#69606](https://github.com/ClickHouse/ClickHouse/pull/69606) ([Alexander Gololobov](https://github.com/davenger)).
* إخفاء المعلومات الحساسة في دالة الجدول `gcs`. [#69611](https://github.com/ClickHouse/ClickHouse/pull/69611) ([Vitaly Baranov](https://github.com/vitlibar)).
* إعادة إنشاء الإسقاط لعمليات الدمج التي تقلّل عدد الصفوف. [#62364](https://github.com/ClickHouse/ClickHouse/pull/62364) ([cangyin](https://github.com/cangyin)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release-3">
  #### إصلاح خلل (سلوك خاطئ يلاحظه المستخدم في إصدار مستقر رسمي)
</div>

* إصلاح إرفاق الجدول عندما يحتوي `pg dbname` على الرمز "-" في المحرك التجريبي وغير المدعوم MaterializedPostgreSQL. [#62730](https://github.com/ClickHouse/ClickHouse/pull/62730) ([takakawa](https://github.com/takakawa)).
* تم إصلاح خطأ في generated columns في المحرك التجريبي وغير المدعوم إطلاقًا MaterializedPostgreSQL عندما يكون ترتيب `adnum` معطّلًا [#63161](https://github.com/ClickHouse/ClickHouse/issues/63161). كما تم إصلاح خطأ في العمود `id` الذي يستخدم التعبير `nextval` كقيمة default في MaterializedPostgreSQL التجريبي وغير المدعوم إطلاقًا عند وجود generated columns في الجدول. وتم أيضًا إصلاح خطأ عند حذف publication تحتوي على رموز خارج \[a-z1-9-]. [#67664](https://github.com/ClickHouse/ClickHouse/pull/67664) ([Kruglov Kirill](https://github.com/1on)).
* دعم Storage Join للأعمدة Nullable في left table، وإغلاق [#61247](https://github.com/ClickHouse/ClickHouse/issues/61247). [#66926](https://github.com/ClickHouse/ClickHouse/pull/66926) ([vdimir](https://github.com/vdimir)).
* نتيجة query غير صحيحة مع parallel replicas (بما في ذلك توزيع queries) عندما يحتوي المعامل `IN` على تحويل إلى Decimal(). أُدخل هذا الخلل مع analyzer الجديد. [#67234](https://github.com/ClickHouse/ClickHouse/pull/67234) ([Igor Nikonov](https://github.com/devcrafter)).
* إصلاح المشكلة التي تؤدي إلى عدم اتساق metadata عند تنفيذ alter modify order by. [#67436](https://github.com/ClickHouse/ClickHouse/pull/67436) ([iceFireser](https://github.com/iceFireser)).
* إصلاح الحد الأعلى للدالة `fromModifiedJulianDay`. كان من المفترض أن يكون `9999-12-31`، لكنه ضُبط بالخطأ على `9999-01-01`. [#67583](https://github.com/ClickHouse/ClickHouse/pull/67583) ([PHO](https://github.com/depressed-pho)).
* إصلاح الحالة التي لا يكون فيها الـ index في بداية الـ tuple أثناء query من نوع `IN`. [#67626](https://github.com/ClickHouse/ClickHouse/pull/67626) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح انتهاء الصلاحية في `RoleCache`. [#67748](https://github.com/ClickHouse/ClickHouse/pull/67748) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح فقدان window view لبعض blocks بسبب بطء flush إلى العرض. [#67983](https://github.com/ClickHouse/ClickHouse/pull/67983) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح مشكلة MSan الناتجة عن format تاريخ غير صحيح. [#68105](https://github.com/ClickHouse/ClickHouse/pull/68105) ([JackyWoo](https://github.com/JackyWoo)).
* تم إصلاح crash في Filtering الخاص بـ Parquet عندما تختلف data types في الملف بشكل كبير عن types المطلوبة (مثلًا `... FROM file('a.parquet', Parquet, 'x String')`، بينما يحتوي الملف على `x Int64`). ومن دون هذا الإصلاح، استخدم `input_format_parquet_filter_push_down = 0` كحل بديل. [#68131](https://github.com/ClickHouse/ClickHouse/pull/68131) ([Michael Kolupaev](https://github.com/al13n321)).
* إصلاح crash في `lag`/`lead` أُدخل في [#67091](https://github.com/ClickHouse/ClickHouse/issues/67091). [#68262](https://github.com/ClickHouse/ClickHouse/pull/68262) ([lgbo](https://github.com/lgbo-ustc)).
* محاولة إصلاح crash في Postgres عند إلغاء query. [#68288](https://github.com/ClickHouse/ClickHouse/pull/68288) ([Kseniia Sumarokova](https://github.com/kssenii)).
* بعد [https://github.com/ClickHouse/ClickHouse/pull/61984،](https://github.com/ClickHouse/ClickHouse/pull/61984،) لا يزال `schema_inference_make_columns_nullable=0` قادرًا على جعل الأعمدة `Nullable` في صيغ Parquet/Arrow. كان هذا التغيير غير متوافق مع الإصدارات السابقة، وقد لاحظ المستخدمون هذا التغير في السلوك. يعيد هذا الـ PR القيمة `schema_inference_make_columns_nullable=0` إلى سلوكها السابق (لن يتم infer أي أعمدة Nullable)، ويقدّم قيمة جديدة هي `auto` لهذا الإعداد، بحيث تجعل الأعمدة `Nullable` فقط إذا كانت البيانات تتضمن معلومات عن قابلية القيم الفارغة. [#68298](https://github.com/ClickHouse/ClickHouse/pull/68298) ([Kruglov Pavel](https://github.com/Avogar)).
* يُصلح [#50868](https://github.com/ClickHouse/ClickHouse/issues/50868). كانت القيم الثابتة الصغيرة من نوع DateTime64 التي يعيدها استعلام فرعي متداخل داخل distributed query تتحول خطأً إلى Nulls، مما يتسبب في أخطاء واحتمال ظهور نتائج استعلام غير صحيحة. [#68323](https://github.com/ClickHouse/ClickHouse/pull/68323) ([Shankar](https://github.com/shiyer7474)).
* إصلاح غياب وضع مزامنة replica في الاستعلام `SYSTEM SYNC REPLICA`. [#68326](https://github.com/ClickHouse/ClickHouse/pull/68326) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح خلل في شرط المفتاح. [#68354](https://github.com/ClickHouse/ClickHouse/pull/68354) ([Han Fei](https://github.com/hanfei1991)).
* إصلاح تعطل عند drop أو rename دور مستخدم مُستخدَم في دليل المستخدمين الخارجي LDAP. [#68355](https://github.com/ClickHouse/ClickHouse/pull/68355) ([Andrey Zvonov](https://github.com/zvonand)).
* إصلاح قيمة عمود Progress في system.view\_refreshes عندما تتجاوز 1 [#68377](https://github.com/ClickHouse/ClickHouse/issues/68377). [#68378](https://github.com/ClickHouse/ClickHouse/pull/68378) ([megao](https://github.com/jetgm)).
* معالجة علامات regexp بشكل صحيح. [#68389](https://github.com/ClickHouse/ClickHouse/pull/68389) ([Han Fei](https://github.com/hanfei1991)).
* يعمل عامل CAST بأسلوب PostgreSQL (`::`) بشكل صحيح حتى مع القيم الحرفية السداسية العشرية بأسلوب SQL والقيم الحرفية من نوع binary string (مثل: `SELECT x'414243'::String`). هذا يُغلق [#68324](https://github.com/ClickHouse/ClickHouse/issues/68324). [#68482](https://github.com/ClickHouse/ClickHouse/pull/68482) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تصحيح طفيف لـ [https://github.com/ClickHouse/ClickHouse/pull/68131](https://github.com/ClickHouse/ClickHouse/pull/68131). [#68494](https://github.com/ClickHouse/ClickHouse/pull/68494) ([Chang chen](https://github.com/baibaichen)).
* إصلاح [#68239](https://github.com/ClickHouse/ClickHouse/issues/68239) في SAMPLE n عندما تكون n عددًا صحيحًا. [#68499](https://github.com/ClickHouse/ClickHouse/pull/68499) ([Denis Hananein](https://github.com/denis-hananein)).
* إصلاح خلل في mann-whitney-utest عندما لا يكون حجما التوزيعين متساويين. [#68556](https://github.com/ClickHouse/ClickHouse/pull/68556) ([Han Fei](https://github.com/hanfei1991)).
* بعد إعادة تشغيل غير متوقعة، يتعذر بدء replication لـ ReplicatedMergeTree بسبب معالجة غير سليمة للجزء covered-by-broken. [#68584](https://github.com/ClickHouse/ClickHouse/pull/68584) ([baolin](https://github.com/baolinhuang)).
* إصلاح أخطاء `LOGICAL_ERROR` عند تطبيق الدوال `sipHash64Keyed` أو `sipHash128Keyed` أو `sipHash128ReferenceKeyed` على arrays أو tuples فارغة. [#68630](https://github.com/ClickHouse/ClickHouse/pull/68630) ([Robert Schulze](https://github.com/rschu1ze)).
* قد يقوم فهرس النص الكامل بتصفية أعمدة غير صحيحة عند فهرسة عدة أعمدة، إذ لم يكن يعيد ضبط row\_id بين الأعمدة المختلفة. خطوات إعادة المشكلة موجودة في tests/queries/0\_stateless/03228\_full\_text\_with\_multi\_col.sql. بدون هذا الإصلاح. [#68644](https://github.com/ClickHouse/ClickHouse/pull/68644) ([siyuan](https://github.com/linkwk7)).
* إصلاح المحرفين غير الصالحين '\t' و'\n' في replica\_name عند إنشاء جدول Replicated، مما يؤدي إلى parsing غير صحيح لـ 'source replica' في LogEntry. ذُكر ذلك في issue [#68640](https://github.com/ClickHouse/ClickHouse/issues/68640). [#68645](https://github.com/ClickHouse/ClickHouse/pull/68645) ([Zhigao Hong](https://github.com/zghong)).
* أُعيدت الأعمدة الافتراضية ` _table` و`_database` إلى الجداول الموزعة. وكانت متاحة حتى الإصدار 24.3. [#68672](https://github.com/ClickHouse/ClickHouse/pull/68672) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح خطأ محتمل `Size of permutation (0) is less than required (...)` أثناء تبديل عمود Variant. [#68681](https://github.com/ClickHouse/ClickHouse/pull/68681) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح خطأ محتمل `DB::Exception: Block structure mismatch in joined block stream: different columns:` مع عمود JSON الجديد. [#68686](https://github.com/ClickHouse/ClickHouse/pull/68686) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح مشكلة المفاتيح الثابتة المُجسَّدة عند تجزئة الخرائط التي تستخدم المصفوفات كمفاتيح في الدوال `sipHash(64/128)Keyed`. [#68731](https://github.com/ClickHouse/ClickHouse/pull/68731) ([Salvatore Mesoraca](https://github.com/aiven-sal)).
* جرى جعل `ColumnsDescription::toString` ينسّق كل عمود باستخدام كائن `IAST::FormatState` نفسه. ويؤدي ذلك إلى كتابة بيانات وصفية موحّدة للأعمدة على القرص وفي ZooKeeper. [#68733](https://github.com/ClickHouse/ClickHouse/pull/68733) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* إصلاح دمج البيانات المجمّعة لمجموعات التجميع. [#68744](https://github.com/ClickHouse/ClickHouse/pull/68744) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خطأ منطقي عند إنشاء merge tree مكرّرة، ثم تعديل عمود، ثم تنفيذ modify statistics. [#68820](https://github.com/ClickHouse/ClickHouse/pull/68820) ([Han Fei](https://github.com/hanfei1991)).
* إصلاح حلّ الأعمدة الفرعية الديناميكية من الاستعلامات الفرعية في المحلّل. [#68824](https://github.com/ClickHouse/ClickHouse/pull/68824) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تحليل البيانات الوصفية للأنواع المعقدة في DeltaLake. ويغلق هذا [#68739](https://github.com/ClickHouse/ClickHouse/issues/68739). [#68836](https://github.com/ClickHouse/ClickHouse/pull/68836) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أُصلحت عمليات الإدراج غير المتزامنة عندما تتغير البيانات الوصفية للجدول (بواسطة استعلامات `ALTER ADD/MODIFY COLUMN`) بعد الإدراج ولكن قبل التفريغ إلى الجدول. [#68837](https://github.com/ClickHouse/ClickHouse/pull/68837) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح استثناء غير متوقع عند تمرير tuple فارغ ضمن مصفوفة. ويعالج هذا [#68618](https://github.com/ClickHouse/ClickHouse/issues/68618). [#68848](https://github.com/ClickHouse/ClickHouse/pull/68848) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تحليل أوامر mutations الخاصة بالبيانات الوصفية فقط. [#68935](https://github.com/ClickHouse/ClickHouse/pull/68935) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح احتمال ظهور نتيجة غير صحيحة أثناء دمج حالة anyHeavy. [#68950](https://github.com/ClickHouse/ClickHouse/pull/68950) ([Raúl Marín](https://github.com/Algunenano)).
* أُصلحت الكتابة إلى العروض المادية عند تمكين الإعداد `optimize_functions_to_subcolumns`. [#68951](https://github.com/ClickHouse/ClickHouse/pull/68951) ([Anton Popov](https://github.com/CurtizJ)).
* عدم استخدام ذاكرة التخزين المؤقت لعمليات التسلسل في أساليب عمود Dynamic الثابت. فقد يؤدي ذلك إلى استخدام قيمة غير مهيأة، أو حتى إلى حدوث race condition أثناء عمليات التجميع. [#68953](https://github.com/ClickHouse/ClickHouse/pull/68953) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح parsing error عندما ينبغي إدراج null كقيمة افتراضية في بعض الحالات أثناء تحليل JSON type. [#68955](https://github.com/ClickHouse/ClickHouse/pull/68955) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح عدم إرسال `Content-Encoding` في بعض الاستجابات المضغوطة. [#64802](https://github.com/ClickHouse/ClickHouse/issues/64802). [#68975](https://github.com/ClickHouse/ClickHouse/pull/68975) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* كانت هناك حالات جرى فيها ضمّ المسار بصورة غير صحيحة، بحيث احتوى على الجزء `//`، وقد حُلّت هذه المشكلة باستخدام تطبيع المسار. [#69066](https://github.com/ClickHouse/ClickHouse/pull/69066) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح خطأ منطقي عند وجود async insert فارغ. [#69080](https://github.com/ClickHouse/ClickHouse/pull/69080) ([Han Fei](https://github.com/hanfei1991)).
* إصلاح data race في عرض التقدّم داخل clickhouse-client أثناء إلغاء query. [#69081](https://github.com/ClickHouse/ClickHouse/pull/69081) ([Sergei Trifonov](https://github.com/serxa)).
* إصلاح خلل كان يمنع استخدام vector similarity index ‏(وهو حاليًا Experimental) عند استخدام cosine distance بوصفها دالة المسافة. [#69090](https://github.com/ClickHouse/ClickHouse/pull/69090) ([flynn](https://github.com/ucasfl)).
* يعالج هذا التغيير مشكلةً كان فيها تكرار محاولة إنشاء قاعدة بيانات Replicated بعد تعطل server أثناء عملية الإنشاء الأولى قد يؤدي إلى حدوث خطأ. [#69102](https://github.com/ClickHouse/ClickHouse/pull/69102) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* لا تستنتج النوع Bool من String في CSV عندما تكون `input_format_csv_try_infer_numbers_from_strings = 1`، لأننا لا نسمح بقراءة قيم bool من السلاسل النصية. [#69109](https://github.com/ClickHouse/ClickHouse/pull/69109) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح parsing error في explain ast insert queries على client عندما يكون `--multiquery` مفعّلًا. [#69123](https://github.com/ClickHouse/ClickHouse/pull/69123) ([wxybear](https://github.com/wxybear)).
* لم تكن clause ‏`UNION` داخل subqueries تُعالَج بشكل صحيح في queries التي تستخدم parallel replicas، وكان ذلك يؤدي إلى LOGICAL\_ERROR ‏`Duplicate announcement received for replica`. [#69146](https://github.com/ClickHouse/ClickHouse/pull/69146) ([Igor Nikonov](https://github.com/devcrafter)).
* إصلاح تمرير structure argument في s3Cluster. سابقًا، كان من الممكن فقدان التعبير `DEFAULT` الخاص بالـ column عند إرسال query إلى replicas في s3Cluster. [#69147](https://github.com/ClickHouse/ClickHouse/pull/69147) ([Kruglov Pavel](https://github.com/Avogar)).
* مراعاة إعدادات format في Values format أثناء التحويل من expression إلى نوع الوجهة. [#69149](https://github.com/ClickHouse/ClickHouse/pull/69149) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح `clickhouse-client --queries-file` للمستخدمين ذوي وضع readonly (إذ كان يفشل سابقًا مع `Cannot modify 'log_comment' setting in readonly mode`). [#69175](https://github.com/ClickHouse/ClickHouse/pull/69175) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح data race في clickhouse-client عندما يكون موصولًا عبر pipe إلى عملية انتهت مبكرًا. [#69186](https://github.com/ClickHouse/ClickHouse/pull/69186) ([vdimir](https://github.com/vdimir)).
* إصلاح النتائج غير الصحيحة لـ uniq و GROUP BY لأنواع JSON/Dynamic. [#69203](https://github.com/ClickHouse/ClickHouse/pull/69203) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح اكتشاف format الخاص بـ INFILE في asynchronous inserts. إذا لم يكن format محددًا صراحةً في FORMAT clause، فيمكن اكتشافه من امتداد ملف INFILE. [#69237](https://github.com/ClickHouse/ClickHouse/pull/69237) ([Julia Kartseva](https://github.com/jkartseva)).
* بعد [هذه issue](https://github.com/ClickHouse/ClickHouse/pull/59946#issuecomment-1943653197)، توجد في بيئة production عدة table replicas تكون فيها قيمة العقدة `metadata_version` مساويةً لـ `0` وفي الوقت نفسه مختلفةً عن إصدار عقدة `metadata` الخاصة بالجدول المقابل. ويؤدي ذلك إلى فشل queries ‏`alter` على مثل هذه replicas. [#69274](https://github.com/ClickHouse/ClickHouse/pull/69274) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* وسم النوع Dynamic على أنه ليس نوع مفتاح أساسي آمنًا لتجنّب المشكلات المتعلقة بـ Fields. [#69311](https://github.com/ClickHouse/ClickHouse/pull/69311) ([Kruglov Pavel](https://github.com/Avogar)).
* تحسين استعادة تبعيات كيانات الوصول. [#69346](https://github.com/ClickHouse/ClickHouse/pull/69346) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح سلوك غير معرّف عند فشل جميع محاولات الاتصال أثناء الحصول على connection لعمليات الإدراج. [#69390](https://github.com/ClickHouse/ClickHouse/pull/69390) ([Pablo Marcos](https://github.com/pamarcos)).
* إغلاق [#69135](https://github.com/ClickHouse/ClickHouse/issues/69135). إذا حاولنا إعادة استخدام البيانات المضمومة لعملية ربط `cross`، فإن ذلك لا يمكن أن يحدث حاليًا في ClickHouse. لذلك من الأفضل الإبقاء على `have_compressed` في `reuseJoinedData`. [#69404](https://github.com/ClickHouse/ClickHouse/pull/69404) ([lgbo](https://github.com/lgbo-ustc)).
* جعل الدالة `materialize()` تُرجع full column عندما تكون المعلمة sparse column. [#69429](https://github.com/ClickHouse/ClickHouse/pull/69429) ([Alexander Gololobov](https://github.com/davenger)).
* إصلاح `LOGICAL_ERROR` في الدالة `sqidDecode` ([#69450](https://github.com/ClickHouse/ClickHouse/issues/69450)). [#69451](https://github.com/ClickHouse/ClickHouse/pull/69451) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح سريع لمشكلة s3queue في الإصدار 24.6 أو عند create query مع database replicated. [#69454](https://github.com/ClickHouse/ClickHouse/pull/69454) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح حالة كان فيها استهلاك الذاكرة مرتفعًا جدًا بسبب squashing في استعلامات `INSERT INTO ... SELECT` أو `CREATE TABLE AS SELECT`. [#69469](https://github.com/ClickHouse/ClickHouse/pull/69469) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* أصبحت العبارتان `SHOW COLUMNS` و`SHOW INDEX` تعملان الآن بشكل صحيح إذا كان اسم الجدول يحتوي على نقاط. [#69514](https://github.com/ClickHouse/ClickHouse/pull/69514) ([Salvatore Mesoraca](https://github.com/aiven-sal)).
* لم يعد مسموحًا الآن باستخدام query cache للاستعلامات التي يكون فيها نمط overflow != 'throw'. وهذا يمنع الحالات التي قد تُخزَّن فيها نتائج استعلامات مبتورة وغير صحيحة في query cache. (issue [#67476](https://github.com/ClickHouse/ClickHouse/issues/67476)). [#69549](https://github.com/ClickHouse/ClickHouse/pull/69549) ([Robert Schulze](https://github.com/rschu1ze)).
* الحفاظ على الترتيب الأصلي للشروط أثناء النقل إلى prewhere. في السابق، كان يمكن أن يتغير الترتيب، ما قد يؤدي إلى فشل الاستعلامات عندما يكون الترتيب مهمًا. [#69560](https://github.com/ClickHouse/ClickHouse/pull/69560) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح المعالجة التمهيدية للطلبات المتعددة في Keeper بعد حدوث الخطأ ZNOAUTH. [#69627](https://github.com/ClickHouse/ClickHouse/pull/69627) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح `METADATA_MISMATCH` الذي كان قد يحدث بسبب TTL مع WHERE clause في DatabaseReplicated عند إنشاء replica جديدة. [#69736](https://github.com/ClickHouse/ClickHouse/pull/69736) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح الإعداد `tracked_file_ttl_sec` في `StorageS3(Azure)Queue`. فقد كنا نكتبه إلى keeper بالمفتاح `tracked_file_ttl_sec`، لكننا نقرأه على أنه `tracked_files_ttl_sec`، وكان ذلك خطأً مطبعيًا. [#69742](https://github.com/ClickHouse/ClickHouse/pull/69742) ([Kseniia Sumarokova](https://github.com/kssenii)).
* استخدام tryconvertfieldtotype في gethyperrectangleforrowgroup. [#69745](https://github.com/ClickHouse/ClickHouse/pull/69745) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* التراجع عن "إصلاح `prewhere` من دون أعمدة ومن دون دقة الفهرسة التكيفية (تقريبًا من دون أي شيء)"'. وبسبب التغييرات التي تم التراجع عنها، قد تحدث بعض الأخطاء عند قراءة أجزاء البيانات الناتجة عن إصدارات CH القديمة (على الأرجح 2021 أو أقدم). [#68897](https://github.com/ClickHouse/ClickHouse/pull/68897) ([Alexander Gololobov](https://github.com/davenger)).

### <a id="248" /> إصدار ClickHouse 24.8 LTS، 2024-08-20. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.8/)، [الفيديو](https://www.youtube.com/watch?v=AeLmp2jc51k)

<Frame>
  <iframe src="https://www.youtube.com/embed/AeLmp2jc51k" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* أصبح `clickhouse-client` و`clickhouse-local` يعملان افتراضيًا في وضع الاستعلامات المتعددة بدلًا من وضع الاستعلام الواحد. على سبيل المثال، أصبح الأمر `clickhouse-client -q "SELECT 1; SELECT 2"` يعمل الآن، بينما كان على المستخدمين سابقًا إضافة `--multiquery` (أو `-n`). كما أصبح الخيار `--multiquery/-n` قديمًا. وتُعامَل استعلامات INSERT ضمن العبارات متعددة الاستعلامات معاملة خاصة بحسب عبارة FORMAT: فإذا كانت FORMAT هي `VALUES` (وهي الحالة الأكثر شيوعًا)، فإن نهاية عبارة INSERT تُمثَّل بفاصلة منقوطة `;` في نهاية الاستعلام. أما في جميع FORMATs الأخرى (مثل `CSV` أو `JSONEachRow`)، فإن نهاية عبارة INSERT تُمثَّل بسطرين جديدين `\n\n` في نهاية الاستعلام. [#63898](https://github.com/ClickHouse/ClickHouse/pull/63898) ([FFish](https://github.com/wxybear)).
* في الإصدارات السابقة، كان من الممكن استخدام صياغة بديلة لأنواع البيانات `LowCardinality` عبر إلحاق `WithDictionary` باسم نوع البيانات. كانت هذه مجرد تنفيذ أولي عملي، ولم تُوثَّق أو تُطرَح للعامة مطلقًا. أما الآن فقد أصبحت مهملة. إذا كنت قد استخدمت هذه الصياغة، فعليك تنفيذ ALTER على جداولك وإعادة تسمية أنواع البيانات إلى `LowCardinality`. [#66842](https://github.com/ClickHouse/ClickHouse/pull/66842) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح أخطاء منطقية في وحدة التخزين `Buffer` المستخدمة مع جدول وجهة موزّع. وهذا تغيير غير متوافق مع الإصدارات السابقة: فقد تتوقف الاستعلامات التي تستخدم `Buffer` مع جدول وجهة موزّع عن العمل إذا ظهر الجدول أكثر من مرة في الاستعلام (مثلًا في ربط ذاتي). [#67015](https://github.com/ClickHouse/ClickHouse/pull/67015) ([vdimir](https://github.com/vdimir)).
* في الإصدارات السابقة، كان استدعاء دوال التوزيعات العشوائية المعتمدة على دالة غاما (مثل Chi-Squared وStudent وFisher) باستخدام معاملات سالبة قريبة من الصفر يؤدي إلى حساب طويل أو إلى حلقة لا نهائية. في الإصدار الجديد، سيؤدي استدعاء هذه الدوال بمعاملات صفرية أو سالبة إلى ظهور استثناء. هذا يُغلق [#67297](https://github.com/ClickHouse/ClickHouse/issues/67297). [#67326](https://github.com/ClickHouse/ClickHouse/pull/67326) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أصبح جدول النظام `text_log` مفعّلًا افتراضيًا. وهذا متوافق بالكامل مع الإصدارات السابقة، لكن قد تلاحظ زيادة طفيفة جدًا في استخدام القرص المحلي (إذ يستهلك جدول النظام هذا مقدارًا ضئيلًا جدًا من مساحة القرص). [#67428](https://github.com/ClickHouse/ClickHouse/pull/67428) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* في الإصدارات السابقة، قد تكون `arrayWithConstant` بطيئة إذا طُلب منها توليد مصفوفات كبيرة جدًا. في الإصدار الجديد، أصبح الحد الأقصى 1 جيجابايت لكل مصفوفة. هذا يُغلق [#32754](https://github.com/ClickHouse/ClickHouse/issues/32754). [#67741](https://github.com/ClickHouse/ClickHouse/pull/67741) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح تنسيق المعدِّل REPLACE (ومنع حذف الأقواس). [#67774](https://github.com/ClickHouse/ClickHouse/pull/67774) ([Azat Khuzhin](https://github.com/azat)).
* تم النقل الخلفي في [#68349](https://github.com/ClickHouse/ClickHouse/issues/68349): إعادة تنفيذ النوع `Dynamic`. الآن، عند بلوغ الحد الأقصى لأنواع البيانات الديناميكية، لا تُحوَّل الأنواع الجديدة إلى String، بل تُخزَّن في بنية بيانات خاصة بتنسيق ثنائي مع نوع بيانات مُرمَّز ثنائيًا. وأصبح بالإمكان الآن قراءة أي نوع أُدرِج يومًا في العمود `Dynamic` منه كعمود فرعي. [#68132](https://github.com/ClickHouse/ClickHouse/pull/68132) ([Kruglov Pavel](https://github.com/Avogar)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* أُضيف إعداد جديد لـ `MergeTree` باسم `deduplicate_merge_projection_mode` للتحكم في projections أثناء عمليات الدمج (في محركات محددة) وفي استعلام `OPTIMIZE DEDUPLICATE`. الخيارات المدعومة هي: `throw` (إطلاق استثناء إذا لم تكن الـ projection مدعومة بالكامل في محرك \*MergeTree)، و`drop` (إزالة الـ projection أثناء الدمج إذا تعذر دمجها بشكل متسق)، و`rebuild` (إعادة بناء الـ projection من الصفر، وهي عملية مكلفة). [#66672](https://github.com/ClickHouse/ClickHouse/pull/66672) ([jsc0218](https://github.com/jsc0218)).
* أُضيف العمود الافتراضي `_etag` إلى S3 table engine. ويعالج ذلك المشكلة [#65312](https://github.com/ClickHouse/ClickHouse/issues/65312). [#65386](https://github.com/ClickHouse/ClickHouse/pull/65386) ([skyoct](https://github.com/skyoct)).
* أُضيفت آلية وسم (namespace) إلى query cache. وتُعامل query cache الاستعلامات نفسها ذات الوسوم المختلفة على أنها استعلامات مختلفة. مثال: `SELECT 1 SETTINGS use_query_cache = 1, query_cache_tag = 'abc'` و`SELECT 1 SETTINGS use_query_cache = 1, query_cache_tag = 'def'` ينشئان الآن cache entries مختلفة في query cache. [#68235](https://github.com/ClickHouse/ClickHouse/pull/68235) ([sakulali](https://github.com/sakulali)).
* دعم المزيد من حالات strictness الخاصة بـ JOIN (`LEFT/RIGHT SEMI/ANTI/ANY JOIN`) مع شروط عدم مساواة تتضمن columns من كلٍّ من الجدول الأيسر والجدول الأيمن. مثل: `t1.y < t2.y` (راجع الإعداد `allow_experimental_join_condition`). [#64281](https://github.com/ClickHouse/ClickHouse/pull/64281) ([lgbo](https://github.com/lgbo-ustc)).
* دعم Hive-style partitioning في محركات مختلفة (`File`, `URL`, `S3`, `AzureBlobStorage`, `HDFS`). ينظّم Hive-style partitioning البيانات ضمن أدلة فرعية مقسّمة، مما يجعل الاستعلام عن datasets الكبيرة وإدارتها أكثر كفاءة. حاليًا، يقتصر ذلك على إنشاء virtual columns بالاسم والبيانات المناسبين. وسيُضيف طلب السحب اللاحق آلية filtering المناسبة للبيانات (لتسريع الأداء). [#65997](https://github.com/ClickHouse/ClickHouse/pull/65997) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* أُضيفت الدالة `printf` للتوافق مع Spark (مع أنه يمكنك استخدام الدالة الحالية `format`). [#66257](https://github.com/ClickHouse/ClickHouse/pull/66257) ([李扬](https://github.com/taiyang-li)).
* أُضيف الخياران `restore_replace_external_engines_to_null` و`restore_replace_external_table_functions_to_null` لاستبدال external engines وtable\_engines بمحرك `Null`، وهو ما قد يكون مفيدًا للاختبار. ومن المفترض أن يعمل ذلك مع RESTORE ومع الإنشاء الصريح للجداول. [#66536](https://github.com/ClickHouse/ClickHouse/pull/66536) ([Ilya Yatsishin](https://github.com/qoega)).
* أُضيف دعم لقراءة هندسة `MULTILINESTRING` بتنسيق `WKT` باستخدام الدالة `readWKTLineString`. [#67647](https://github.com/ClickHouse/ClickHouse/pull/67647) ([Jacob Reckhard](https://github.com/jacobrec)).
* أُضيفت table function جديدة باسم `fuzzQuery`. تتيح هذه الدالة تعديل query string معيّن بإدخال تغييرات عشوائية عليه. مثال: `SELECT query FROM fuzzQuery('SELECT 1') LIMIT 5;`. [#67655](https://github.com/ClickHouse/ClickHouse/pull/67655) ([pufit](https://github.com/pufit)).
* أُضيف الاستعلام `ALTER TABLE ... DROP DETACHED PARTITION ALL` لحذف جميع الأقسام المنفصلة. [#67885](https://github.com/ClickHouse/ClickHouse/pull/67885) ([Duc Canh Le](https://github.com/canhld94)).
* أُضيفت الإحصائية `rows_before_aggregation_at_least` إلى استجابة الاستعلام عند تفعيل الإعداد الجديد `rows_before_aggregation`. وتمثل هذه الإحصائية عدد rows المقروءة قبل aggregation. وفي سياق distributed query، عند استخدام دالة aggregation `group by` أو `max` من دون `limit`، يمكن أن يعكس `rows_before_aggregation_at_least` عدد الصفوف التي طابقها الاستعلام. [#66084](https://github.com/ClickHouse/ClickHouse/pull/66084) ([morning-color](https://github.com/morning-color)).
* إتاحة استعلام `OPTIMIZE` على جداول `Join` لتقليل استهلاك الذاكرة. [#67883](https://github.com/ClickHouse/ClickHouse/pull/67883) ([Duc Canh Le](https://github.com/canhld94)).
* إتاحة تشغيل الاستعلام فورًا في play عند إضافة `&run=1` إلى عنوان URL [#66457](https://github.com/ClickHouse/ClickHouse/pull/66457) ([Aleksandr Musorin](https://github.com/AVMusorin)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* إضافة نوع بيانات `JSON` جديد. [#66444](https://github.com/ClickHouse/ClickHouse/pull/66444) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة محرك الجدول الجديد `TimeSeries`. [#64183](https://github.com/ClickHouse/ClickHouse/pull/64183) ([Vitaly Baranov](https://github.com/vitlibar)).
* إضافة محرك التخزين التجريبي الجديد `Kafka` لتخزين الإزاحات في Keeper بدلًا من الاعتماد على ترحيلها إلى Kafka. وهذا يجعل عملية commit إلى جداول ClickHouse ذرّية من حيث الاستهلاك من قائمة الانتظار. [#57625](https://github.com/ClickHouse/ClickHouse/pull/57625) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* استخدام طريقة تكيفية لحساب حجم مهام القراءة (أي إنها تعتمد على أحجام أعمدة القراءة) للنسخ المتماثلة المتوازية. [#60377](https://github.com/ClickHouse/ClickHouse/pull/60377) ([Nikita Taranov](https://github.com/nickitat)).
* إضافة نوع إحصاءات `count_min` ‏(مخططات count-min) يوفّر تقديرات للانتقائية لمسندات المساواة مثل `col = 'val'`. أنواع البيانات المدعومة هي string وdate وdatetime والأنواع الرقمية. [#65521](https://github.com/ClickHouse/ClickHouse/pull/65521) ([JackyWoo](https://github.com/JackyWoo)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* الإعداد `optimize_functions_to_subcolumns` مفعّل افتراضيًا. [#68053](https://github.com/ClickHouse/ClickHouse/pull/68053) ([Anton Popov](https://github.com/CurtizJ)).
* تُخزَّن البيانات الوصفية لدليل القرص `plain_rewritable` ضمن تخطيط `__meta`، بشكل منفصل عن بيانات MergeTree في التخزين الكائني. كما نُقل القرص `plain_rewritable` إلى بنية أدلة مسطّحة. [#65751](https://github.com/ClickHouse/ClickHouse/pull/65751) ([Julia Kartseva](https://github.com/jkartseva)).
* تحسين تجميع الأعمدة (وهي عملية تحدث في استعلامات INSERT) للأنواع `String`/`Array`/`Map`/`Variant`/`Dynamic` من خلال حجز الذاكرة المطلوبة مسبقًا لجميع الأعمدة الفرعية. [#67043](https://github.com/ClickHouse/ClickHouse/pull/67043) ([Kruglov Pavel](https://github.com/Avogar)).
* تسريع `SYSTEM FLUSH LOGS` وتفريغ السجلات عند الإيقاف. [#67472](https://github.com/ClickHouse/ClickHouse/pull/67472) ([Sema Checherinda](https://github.com/CheSema)).
* تحسين الأداء العام لعمليات الدمج عبر تقليل الكلفة الإضافية في خطوات جدولة عمليات الدمج. [#68016](https://github.com/ClickHouse/ClickHouse/pull/68016) ([Anton Popov](https://github.com/CurtizJ)).
* تسريع إزالة الجداول في استعلام `DROP DATABASE`، مع زيادة القيمة الافتراضية لـ `database_catalog_drop_table_concurrency` إلى 16. [#67228](https://github.com/ClickHouse/ClickHouse/pull/67228) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تجنّب تخصيص سعة أكبر من اللازم لعمود مصفوفة أثناء الكتابة إلى ORC. يؤدي ذلك إلى تحسين الأداء بنسبة 15% لعمود Array. [#67879](https://github.com/ClickHouse/ClickHouse/pull/67879) ([李扬](https://github.com/taiyang-li)).
* تسريع mutations في MergeTree غير المكرّر بشكل ملحوظ [#66911](https://github.com/ClickHouse/ClickHouse/pull/66911) [#66909](https://github.com/ClickHouse/ClickHouse/pull/66909) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="improvement-1">
  #### تحسين
</div>

* أُعيدت تسمية الإعداد `allow_experimental_analyzer` إلى `enable_analyzer`. وتم الاحتفاظ بالاسم القديم على هيئة اسم مستعار. ويعني ذلك أن Analyzer لم يعد في مرحلة Beta، بل أصبح معتمدًا بالكامل لبيئات production. [#66438](https://github.com/ClickHouse/ClickHouse/pull/66438) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تحسين استدلال المخطط لقيم التاريخ والوقت. والآن لا يُستخدم DateTime64 إلا عندما تحتوي قيمة التاريخ والوقت على جزء كسري، وإلا فيُستخدم DateTime العادي. كما أصبح استدلال Date/DateTime أكثر صرامة الآن، خاصةً عند استخدام `date_time_input_format='best_effort'`، لتجنّب استدلال قيم التاريخ والوقت من السلاسل النصية في الحالات الطرفية. [#68382](https://github.com/ClickHouse/ClickHouse/pull/68382) ([Kruglov Pavel](https://github.com/Avogar)).
* أصبح ClickHouse server يدعم الآن الإعداد الجديد `max_keep_alive_requests`. وبالنسبة إلى اتصالات HTTP الدائمة مع الخادم، فإنه يعمل بالتوازي مع `keep_alive_timeout` — فإذا لم تنتهِ مهلة الخمول، ولكن كان قد تم بالفعل تنفيذ أكثر من `max_keep_alive_requests` طلبًا عبر الاتصال المعني، فسيُغلِقه الخادم. [#61793](https://github.com/ClickHouse/ClickHouse/pull/61793) ([Nikita Taranov](https://github.com/nickitat)).
* تحسينات متنوعة في لوحة المعلومات المتقدمة. ويؤدي هذا إلى إغلاق [#67697](https://github.com/ClickHouse/ClickHouse/issues/67697). ويؤدي هذا إلى إغلاق [#63407](https://github.com/ClickHouse/ClickHouse/issues/63407). ويؤدي هذا إلى إغلاق [#51129](https://github.com/ClickHouse/ClickHouse/issues/51129). ويؤدي هذا إلى إغلاق [#61204](https://github.com/ClickHouse/ClickHouse/issues/61204). [#67701](https://github.com/ClickHouse/ClickHouse/pull/67701) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* لم يعد امتياز REMOTE مطلوبًا عند إنشاء distributed table: إذ يكفي امتياز Distributed engine. [#65419](https://github.com/ClickHouse/ClickHouse/pull/65419) ([jsc0218](https://github.com/jsc0218)).
* عدم تمرير سجلات Keeper صراحةً في صورة Docker لإتاحة تجاوزها. [#65564](https://github.com/ClickHouse/ClickHouse/pull/65564) ([Azat Khuzhin](https://github.com/azat)).
* أُضيفت إعدادات `use_same_password_for_base_backup` لاستعلامات `BACKUP` و`RESTORE`، مما يتيح إنشاء نسخ احتياطية تزايدية واستعادتها من/إلى أرشيفات محمية بكلمة مرور. [#66214](https://github.com/ClickHouse/ClickHouse/pull/66214) ([Samuele](https://github.com/sguerrini97)).
* تجاهل `async_load_databases` لاستعلام `ATTACH` (إذ كان من الممكن سابقًا أن يعيد `ATTACH` النتيجة قبل إرفاق الجداول). [#66240](https://github.com/ClickHouse/ClickHouse/pull/66240) ([Azat Khuzhin](https://github.com/azat)).
* أُضيفت سجلات ومقاييس للاتصالات المرفوضة (عند عدم توفر موارد كافية). [#66410](https://github.com/ClickHouse/ClickHouse/pull/66410) ([Alexander Tokmakov](https://github.com/tavplubix)).
* دعم نوع `UUID` بصورة صحيحة لمحرك MongoDB. [#66671](https://github.com/ClickHouse/ClickHouse/pull/66671) ([Azat Khuzhin](https://github.com/azat)).
* إضافة مقاييس لتأخر النسخ المتماثل ووقت التعافي. [#66703](https://github.com/ClickHouse/ClickHouse/pull/66703) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* إضافة المقياس `DiskS3NoSuchKeyErrors`. [#66704](https://github.com/ClickHouse/ClickHouse/pull/66704) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* ضمان عمل العبارة `COMMENT` مع جميع table engines. [#66832](https://github.com/ClickHouse/ClickHouse/pull/66832) ([Joe Lynch](https://github.com/joelynch)).
* تقبل الدالة `mapFromArrays` الآن `Map(K, V)` كوسيط أول. على سبيل المثال، يعمل الآن ‎`SELECT mapFromArrays(map('a', 4, 'b', 4), ['aa', 'bb'])`‎ ويُرجع `{('a',4):'aa',('b',4):'bb'}`. كذلك، إذا كان الوسيط الأول من النوع Array، فيمكنه الآن أيضًا أن يكون من النوع `Array(Nullable(T))` أو `Array(LowCardinality(Nullable(T)))`، ما دامت القيم الفعلية في المصفوفة ليست `NULL`. [#67103](https://github.com/ClickHouse/ClickHouse/pull/67103) ([李扬](https://github.com/taiyang-li)).
* أصبحت إعدادات `clickhouse-local` تُقرأ من `~/.clickhouse-local`. [#67135](https://github.com/ClickHouse/ClickHouse/pull/67135) ([Azat Khuzhin](https://github.com/azat)).
* أُعيدت تسمية الإعداد `input_format_orc_read_use_writer_time_zone` إلى `input_format_orc_reader_timezone`، مع السماح للمستخدم بتعيين المنطقة الزمنية للقارئ. [#67175](https://github.com/ClickHouse/ClickHouse/pull/67175) ([kevinyhzou](https://github.com/KevinyhZou)).
* خُفِّض مستوى الخطأ `Socket is not connected` عندما يُعاد ضبط اتصال HTTP فورًا من النظير بعد الاتصال، مما يُغلق [#34218](https://github.com/ClickHouse/ClickHouse/issues/34218). [#67177](https://github.com/ClickHouse/ClickHouse/pull/67177) ([vdimir](https://github.com/vdimir)).
* إضافة إمكانية تحميل لوحات المعلومات لـ `system.dashboards` من config (وبمجرد تعيينها، فإنها تتجاوز الإعداد المسبق الافتراضي للوحات المعلومات). [#67232](https://github.com/ClickHouse/ClickHouse/pull/67232) ([Azat Khuzhin](https://github.com/azat)).
* تُكتب دوال النافذة في SQL تقليديًا بصيغة snake case. ولأن ClickHouse يستخدم صيغة `camelCase`، فقد أُنشئت الأسماء البديلة الجديدة `denseRank()` و`percentRank()`. ويمكن استدعاء هاتين الدالتين الجديدتين بالطريقة نفسها تمامًا مثل الدالتين الأصليتين `dense_rank()` و`percent_rank()`. وتظل كل من صياغتي snake case و`camelCase` قابلة للاستخدام. كما أُضيف اختبار جديد لكل دالة. وهذا يُغلق [#67042](https://github.com/ClickHouse/ClickHouse/issues/67042). [#67334](https://github.com/ClickHouse/ClickHouse/pull/67334) ([Peter Nguyen](https://github.com/petern48)).
* الاكتشاف التلقائي لتنسيق ملف الإعدادات إذا لم يكن الامتداد `.xml` أو `.yml` أو `.yaml`. إذا بدأ الملف بـ \< فقد يكون XML، وإلا فقد يكون YAML. وهذا مفيد عند تمرير ملف إعدادات من pipe: `clickhouse-server --config-file <(echo "hello: world")`. [#67391](https://github.com/ClickHouse/ClickHouse/pull/67391) ([sakulali](https://github.com/sakulali)).
* أصبحت الدالتان `formatDateTime` و`formatDateTimeInJodaSyntax` تتعاملان الآن مع وسيط format باعتباره اختياريًا. وإذا لم يُحدَّد، فتُفترض سلسلتا التنسيق `%Y-%m-%d %H:%i:%s` و`yyyy-MM-dd HH:mm:ss`. مثال: تُرجع ‎`SELECT parseDateTime('2021-01-04 23:12:34')`‎ الآن قيمة DateTime `2021-01-04 23:12:34` (في السابق، كان هذا يؤدي إلى استثناء). [#67399](https://github.com/ClickHouse/ClickHouse/pull/67399) ([Robert Schulze](https://github.com/rschu1ze)).
* إعادة محاولة طلبات Keeper تلقائيًا في KeeperMap إذا حدثت بسبب timeout أو فقدان الاتصال. [#67448](https://github.com/ClickHouse/ClickHouse/pull/67448) ([Antonio Andelic](https://github.com/antonio2368)).
* إضافة `-no-pie` إلى إصدارات Aarch64 Linux المبنية للسماح بالاستبطان الصحيح وإظهار الرموز في stacktraces بعد إعادة تشغيل ClickHouse. [#67916](https://github.com/ClickHouse/ClickHouse/pull/67916) ([filimonov](https://github.com/filimonov)).
* أُضيفت profile events لعمليات الدمج وmutations لتحسين الاستبطان. [#68015](https://github.com/ClickHouse/ClickHouse/pull/68015) ([Anton Popov](https://github.com/CurtizJ)).
* إزالة logs غير الضرورية لـ `MergeTree` غير المكرر. [#68238](https://github.com/ClickHouse/ClickHouse/pull/68238) ([Daniil Ivanik](https://github.com/divanik)).

<div id="buildtestingpackaging-improvement">
  #### تحسينات البناء/الاختبار/التغليف
</div>

* لم يعد فحص `اختبارات التكامل` غير المستقرة يشغّل كل حالة اختبار عدة مرات للعثور على المزيد من المشكلات في الاختبارات وجعلها أكثر موثوقية. ويستخدم مكتبة `pytest-repeat` لتشغيل حالة الاختبار عدة مرات ضمن البيئة نفسها. ومن المهم تنظيف الجداول وسائر الكيانات في نهاية حالة الاختبار لكي ينجح. كما أن التكرار أسرع بكثير من تشغيل `pytest` عدة مرات، لأنه يبدأ الحاويات اللازمة مرة واحدة فقط. [#66986](https://github.com/ClickHouse/ClickHouse/pull/66986) ([Ilya Yatsishin](https://github.com/qoega)).
* إزالة العائق أمام استخدام CLion مع ClickHouse. ففي الإصدارات السابقة، كان CLion يتجمّد لمدة دقيقة مع كل ضغطة مفتاح. هذا يُغلق [#66994](https://github.com/ClickHouse/ClickHouse/issues/66994). [#66995](https://github.com/ClickHouse/ClickHouse/pull/66995) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ‏getauxval: تجنّب حدوث تعطّل عند إعادة التنفيذ تحت sanitizer بسبب الارتفاع الكبير في إنتروبيا ASLR في نوى Linux الأحدث. [#67081](https://github.com/ClickHouse/ClickHouse/pull/67081) ([Raúl Marín](https://github.com/Algunenano)).
* جرى استخراج بعض أجزاء شيفرة client إلى ملف واحد، وتطبيق أعلى مستوى ممكن من التحسين عليها حتى في إصدارات debug builds. هذا يُغلق: [#65745](https://github.com/ClickHouse/ClickHouse/issues/65745). [#67215](https://github.com/ClickHouse/ClickHouse/pull/67215) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

<div id="bug-fix">
  #### إصلاحات الأخطاء
</div>

* ينطبق فقط على نوع البيانات التجريبي Variant. إصلاح تعطل مع النوع Variant + AggregateFunction. [#67122](https://github.com/ClickHouse/ClickHouse/pull/67122) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تعطل في DistributedAsyncInsert عندما يكون الاتصال فارغًا. [#67219](https://github.com/ClickHouse/ClickHouse/pull/67219) ([Pablo Marcos](https://github.com/pamarcos)).
* إصلاح تعطل `uniq` و`uniqTheta ` مع وسيطة `tuple()`. يغلق [#67303](https://github.com/ClickHouse/ClickHouse/issues/67303). [#67306](https://github.com/ClickHouse/ClickHouse/pull/67306) ([flynn](https://github.com/ucasfl)).
* إصلاح [#66026](https://github.com/ClickHouse/ClickHouse/issues/66026). تجنّب اجتياز وسيطات table function غير المحلولة في `ReplaceTableNodeToDummyVisitor`. [#67522](https://github.com/ClickHouse/ClickHouse/pull/67522) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح احتمال حدوث تجاوز سعة المكدس في الدالة `JSONMergePatch`. أُعيدت تسمية هذه الدالة من `jsonMergePatch` إلى `JSONMergePatch` لأن الاسم السابق كان غير صحيح. ولا يزال الاسم السابق محفوظًا للتوافق. كما تم تحسين تشخيص الأخطاء في الدالة. يغلق هذا [#67304](https://github.com/ClickHouse/ClickHouse/issues/67304). [#67756](https://github.com/ClickHouse/ClickHouse/pull/67756) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح إلغاء مرجعية مؤشر NULL، الناتج عن استعلام مُعدّ خصيصًا، والذي كان يتسبب في تعطل الخادم عبر hopEnd وhopStart وtumbleEnd وtumbleStart. [#68098](https://github.com/ClickHouse/ClickHouse/pull/68098) ([Salvatore Mesoraca](https://github.com/aiven-sal)).
* إصلاح `Not-ready Set` في بعض جداول النظام عند التصفية باستخدام الاستعلامات الفرعية. [#66018](https://github.com/ClickHouse/ClickHouse/pull/66018) ([Michael Kolupaev](https://github.com/al13n321)).
* إصلاح قراءة الأعمدة الفرعية بعد استعلام `ALTER ADD COLUMN`. [#66243](https://github.com/ClickHouse/ClickHouse/pull/66243) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح القيم المنطقية الحرفية في الاستعلام المُرسل إلى قاعدة بيانات خارجية (لمحركات مثل `PostgreSQL`). [#66282](https://github.com/ClickHouse/ClickHouse/pull/66282) ([vdimir](https://github.com/vdimir)).
* إصلاح تنسيق استعلام يحتوي على تعبير JOIN ON باسم مستعار، فمثلًا يجب تنسيق `... JOIN t2 ON (x = y) AS e ORDER BY x` على النحو `... JOIN t2 ON ((x = y) AS e) ORDER BY x`. [#66312](https://github.com/ClickHouse/ClickHouse/pull/66312) ([vdimir](https://github.com/vdimir)).
* إصلاح cluster() للسرّ بين الخوادم (مع الحفاظ على المستخدم الأولي كما كان سابقًا). [#66364](https://github.com/ClickHouse/ClickHouse/pull/66364) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح خطأ محتمل وقت التشغيل أثناء تحويل حقل Array يحتوي على nulls إلى Array(Variant). [#66727](https://github.com/ClickHouse/ClickHouse/pull/66727) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح حالة توقف متبادل عرضية في Context::getDDLWorker. [#66843](https://github.com/ClickHouse/ClickHouse/pull/66843) ([Alexander Gololobov](https://github.com/davenger)).
* إصلاح إنشاء جدول KeeperMap بعد عملية drop غير مكتملة. [#66865](https://github.com/ClickHouse/ClickHouse/pull/66865) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح خطأ part تالفة أثناء الاستعادة إلى disk من نوع `s3_plain_rewritable`. [#66881](https://github.com/ClickHouse/ClickHouse/pull/66881) ([Vitaly Baranov](https://github.com/vitlibar)).
* في حالات نادرة، كان بإمكان ClickHouse اعتبار parts تالفة بسبب بعض projections غير المتوقعة على disk. وقد تم إصلاح ذلك الآن. [#66898](https://github.com/ClickHouse/ClickHouse/pull/66898) ([alesapin](https://github.com/alesapin)).
* إصلاح اكتشاف التنسيق غير الصالح في استدلال المخطط، والذي قد يؤدي إلى الخطأ المنطقي: التنسيق Format {} لا يدعم استدلال المخطط. [#66899](https://github.com/ClickHouse/ClickHouse/pull/66899) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح احتمال حدوث حالة توقف تام عند إلغاء الاستعلام مع النسخ المتماثلة المتوازية. [#66905](https://github.com/ClickHouse/ClickHouse/pull/66905) ([Nikita Taranov](https://github.com/nickitat)).
* منع create as select حتى عند تعيين database\_replicated\_allow\_heavy\_create. كان هذا محظورًا دائمًا في 23.12، وسُمِح به بالخطأ تحت هذا الإعداد في 24.7 غير المُصدَر. [#66980](https://github.com/ClickHouse/ClickHouse/pull/66980) ([vdimir](https://github.com/vdimir)).
* قد تؤدي القراءة من `numbers` بالخطأ إلى طرح استثناء عند تعيين الحد `max_rows_to_read`. يُغلق هذا [#66992](https://github.com/ClickHouse/ClickHouse/issues/66992). [#66996](https://github.com/ClickHouse/ClickHouse/pull/66996) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة تحويل نوع مناسب إلى دوال النوافذ lagInFrame و leadInFrame — ما يُصلح اختبار msan. [#67091](https://github.com/ClickHouse/ClickHouse/pull/67091) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* كان TRUNCATE DATABASE يوقف replication كما لو كان استعلام DROP DATABASE، وقد أُصلح ذلك. [#67129](https://github.com/ClickHouse/ClickHouse/pull/67129) ([Alexander Tokmakov](https://github.com/tavplubix)).
* استخدام Context عميل منفصل في `clickhouse-local`. [#67133](https://github.com/ClickHouse/ClickHouse/pull/67133) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح الخطأ `Cannot convert column because it is non constant in source stream but must be constant in result.` في استعلام يقرأ من جدول `Merge` فوق جدول `Distriburted` مع shard واحد. [#67146](https://github.com/ClickHouse/ClickHouse/pull/67146) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تصحيح سلوك `ORDER BY all` عند تعطيل `enable_order_by_all` ومع النسخ المتماثلة المتوازية (بما في ذلك distributed queries). [#67153](https://github.com/ClickHouse/ClickHouse/pull/67153) ([Igor Nikonov](https://github.com/devcrafter)).
* إصلاح الاستخدام غير الصحيح لـ input\_format\_max\_bytes\_to\_read\_for\_schema\_inference في schema cache. [#67157](https://github.com/ClickHouse/ClickHouse/pull/67157) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تسرّب الذاكرة في count distinct عند طرح استثناء أثناء GROUP BY على مفتاح Nullable واحد. [#67171](https://github.com/ClickHouse/ClickHouse/pull/67171) ([Jet He](https://github.com/compasses)).
* إصلاح خطأ في التحسين يحوّل OUTER JOIN إلى INNER JOIN. يُغلق هذا [#67156](https://github.com/ClickHouse/ClickHouse/issues/67156). ويُغلق أيضًا [#66447](https://github.com/ClickHouse/ClickHouse/issues/66447). أُدخل هذا الخلل في [https://github.com/ClickHouse/ClickHouse/pull/62907](https://github.com/ClickHouse/ClickHouse/pull/62907). [#67178](https://github.com/ClickHouse/ClickHouse/pull/67178) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح الخطأ `Conversion from AggregateFunction(name, Type) to AggregateFunction(name, Nullable(Type)) is not supported`. كان الخلل ناتجًا عن التحسين `optimize_rewrite_aggregate_function_with_if`. يُصلح هذا [#67112](https://github.com/ClickHouse/ClickHouse/issues/67112). [#67229](https://github.com/ClickHouse/ClickHouse/pull/67229) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح تعليق الاستعلام عند استخدام tuple فارغ كطرف أيسر للدالة IN. [#67295](https://github.com/ClickHouse/ClickHouse/pull/67295) ([Duc Canh Le](https://github.com/canhld94)).
* كان من الممكن إنشاء بيانات JSON متداخلة بعمق كبير على نحو يؤدي إلى تجاوز سعة المكدس أثناء تخطي الحقول غير المعروفة. يُغلق هذا [#67292](https://github.com/ClickHouse/ClickHouse/issues/67292). [#67324](https://github.com/ClickHouse/ClickHouse/pull/67324) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح إرفاق جدول ReplicatedMergeTree بعد حدوث استثناء أثناء بدء التشغيل. [#67360](https://github.com/ClickHouse/ClickHouse/pull/67360) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح `segfault` ناتج عن فصل غير صحيح عن مجموعة الخيوط في `Aggregator`. [#67385](https://github.com/ClickHouse/ClickHouse/pull/67385) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح حالة إضافية يجري فيها تحديد دالة غير حتمية في PK. [#67395](https://github.com/ClickHouse/ClickHouse/pull/67395) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح مشكلة في فهرس `bloom_filter` كانت تتسبب في تعطيل الاستعلامات ذات الشروط الغريبة قليلًا، مثل `(k=2)=(k=2)` أو `has([1,2,3], k)`. [#67423](https://github.com/ClickHouse/ClickHouse/pull/67423) ([Michael Kolupaev](https://github.com/al13n321)).
* تحليل اسم الملف/URI الذي يحتوي على `::` بصورة صحيحة إذا لم يكن أرشيفًا. [#67433](https://github.com/ClickHouse/ClickHouse/pull/67433) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح انتظار المهام في \~WriteBufferFromS3 في حال أُلغي WriteBuffer. [#67459](https://github.com/ClickHouse/ClickHouse/pull/67459) ([Kseniia Sumarokova](https://github.com/kssenii)).
* حماية أدلة الأجزاء المؤقتة من الإزالة أثناء RESTORE. [#67491](https://github.com/ClickHouse/ClickHouse/pull/67491) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح تنفيذ دوال التقييم المختصر المتداخلة. [#67520](https://github.com/ClickHouse/ClickHouse/pull/67520) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح `Logical error: Expected the argument №N of type T to have X rows, but it has 0`. كان يمكن أن يحدث هذا الخطأ في query بعيدة تتضمن تعبيرًا ثابتًا في `GROUP BY` (مع المحلّل الجديد). [#67536](https://github.com/ClickHouse/ClickHouse/pull/67536) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح `join` على Tuple تحتوي على NULLs: كانت بعض الاستعلامات، مع المحلّل الجديد ووجود `NULL` داخل الـ Tuple في قسم `JOIN ON`، تُرجع نتائج غير صحيحة. [#67538](https://github.com/ClickHouse/ClickHouse/pull/67538) ([vdimir](https://github.com/vdimir)).
* إصلاح إعادة الجدولة غير الضرورية لـ FileCache::freeSpaceRatioKeepingThreadFunc() في حالة امتلاء cache غير قابلة للإخلاء. [#67540](https://github.com/ClickHouse/ClickHouse/pull/67540) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح الإدراج في المحركات الشبيهة بالتدفق (Kafka و RabbitMQ و NATS) عبر واجهة HTTP. [#67554](https://github.com/ClickHouse/ClickHouse/pull/67554) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح الدالة `toStartOfWeek` التي كانت تُرجع نتيجة غير صحيحة مع قيمة `DateTime64` صغيرة. [#67558](https://github.com/ClickHouse/ClickHouse/pull/67558) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح إنشاء عرض باستخدام CTE تعاودي. [#67587](https://github.com/ClickHouse/ClickHouse/pull/67587) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح `Logical error: 'file_offset_of_buffer_end <= read_until_position'` في filesystem cache. يُغلق هذا [#57508](https://github.com/ClickHouse/ClickHouse/issues/57508). [#67623](https://github.com/ClickHouse/ClickHouse/pull/67623) ([Kseniia Sumarokova](https://github.com/kssenii)).
* يُصلح [#62282](https://github.com/ClickHouse/ClickHouse/issues/62282). أُزيل استدعاء `convertFieldToString()`، وأُضيفت شيفرة serialization خاصة بكل datatype. كان substitution في parameterized view معطّلًا لعدة datatypes عندما تكون قيمة parameter دالة أو expression تُرجع instance من datatype. [#67654](https://github.com/ClickHouse/ClickHouse/pull/67654) ([Shankar](https://github.com/shiyer7474)).
* إصلاح crash في `percent_rank`. تم تغيير نوع frame الافتراضي لـ `percent_rank` إلى `range unbounded preceding and unbounded following`. كما أصبح window frame الافتراضي لـ `IWindowFunction` يؤخذ في الاعتبار، وباتت window functions التي لا تتضمن تعريف window frame في sql تُوضَع بشكل صحيح ضمن `WindowTransfomer`s مختلفة. [#67661](https://github.com/ClickHouse/ClickHouse/pull/67661) ([lgbo](https://github.com/lgbo-ustc)).
* إصلاح إعادة تحميل SQL UDFs مع UNION. سابقًا، كان من الممكن أن تؤدي إعادة تشغيل server إلى جعل UDF غير صالح. [#67665](https://github.com/ClickHouse/ClickHouse/pull/67665) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح logical error محتمل بالنص "Unexpected return type from if" مع Variant type التجريبي، ومع الإعداد المفعّل `use_variant_as_common_type ` في الدالة if عند استخدام Tuples وMaps. [#67687](https://github.com/ClickHouse/ClickHouse/pull/67687) ([Kruglov Pavel](https://github.com/Avogar)).
* بسبب خلل في Linux Kernel، قد يتعطل query في `TimerDescriptor::drain`. يُغلق هذا [#37686](https://github.com/ClickHouse/ClickHouse/issues/37686). [#67702](https://github.com/ClickHouse/ClickHouse/pull/67702) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح اكتمال الأمر `RESTORE ON CLUSTER`. [#67720](https://github.com/ClickHouse/ClickHouse/pull/67720) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح تعليق Dictionary في حالة CANNOT\_SCHEDULE\_TASK أثناء loading. [#67751](https://github.com/ClickHouse/ClickHouse/pull/67751) ([Azat Khuzhin](https://github.com/azat)).
* تعمل الآن queries مثل `SELECT count() FROM t WHERE cast(c = 1 or c = 9999 AS Bool) SETTINGS use_skip_indexes=1` بشكل صحيح مع Bloom filter indexes على `c`. [#67781](https://github.com/ClickHouse/ClickHouse/pull/67781) ([jsc0218](https://github.com/jsc0218)).
* إصلاح نتائج aggregation غير صحيحة في بعض queries التي تتضمن aggregation بدون keys وfilter، وإغلاق [#67419](https://github.com/ClickHouse/ClickHouse/issues/67419). [#67804](https://github.com/ClickHouse/ClickHouse/pull/67804) ([vdimir](https://github.com/vdimir)).
* التحقق من data types التجريبية/المريبة في ALTER ADD/MODIFY COLUMN. [#67911](https://github.com/ClickHouse/ClickHouse/pull/67911) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح parsing لـ DateTime64 بعد constant folding في distributed queries، وإغلاق [#66773](https://github.com/ClickHouse/ClickHouse/issues/66773). [#67920](https://github.com/ClickHouse/ClickHouse/pull/67920) ([vdimir](https://github.com/vdimir)).
* إصلاح نتيجة `count()` غير صحيحة عند وجود دالة غير deterministic في predicate. [#67922](https://github.com/ClickHouse/ClickHouse/pull/67922) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* تم إصلاح حساب الحد الأقصى للـ soft limit الخاص بـ thread في البيئات المعتمدة على containers حيث يكون عدد وحدات CPU المتاحة للاستخدام محدودًا. [#67963](https://github.com/ClickHouse/ClickHouse/pull/67963) ([Robert Schulze](https://github.com/rschu1ze)).
* لم يعد ClickHouse يعتبر part تالفًا إذا لم يكن projection موجودًا على disk لكنه موجود في `checksums.txt`. [#68003](https://github.com/ClickHouse/ClickHouse/pull/68003) ([alesapin](https://github.com/alesapin)).
* تم إصلاح تخطّي الأجزاء غير المتأثرة في عمليات mutation مع المحلّل الجديد. في السابق، عند تمكين المحلّل، كان يمكن أن تُعاد كتابة البيانات في الجزء بواسطة عملية mutation حتى إذا لم تكن هذه العملية تؤثر في هذا الجزء وفقًا لشرط التصفية. [#68052](https://github.com/ClickHouse/ClickHouse/pull/68052) ([Anton Popov](https://github.com/CurtizJ)).
* أُزيل تحسين غير صحيح كان يحذف الفرز في الاستعلامات الفرعية التي تستخدم `OFFSET`. يُصلح [#67906](https://github.com/ClickHouse/ClickHouse/issues/67906). [#68099](https://github.com/ClickHouse/ClickHouse/pull/68099) ([Graham Campbell](https://github.com/GrahamCampbell)).
* محاولة إصلاح الخطأ `Block structure mismatch in AggregatingStep stream: different types` في تحسين الإسقاط التجميعي. [#68107](https://github.com/ClickHouse/ClickHouse/pull/68107) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* محاولة إصلاح تعطّل Postgres عند إلغاء query. [#68288](https://github.com/ClickHouse/ClickHouse/pull/68288) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح غياب وضع مزامنة replica في الاستعلام `SYSTEM SYNC REPLICA`. [#68326](https://github.com/ClickHouse/ClickHouse/pull/68326) ([Duc Canh Le](https://github.com/canhld94)).

### <a id="247" /> إصدار ClickHouse 24.7، 2024-07-30. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.7/)، [الفيديو](https://www.youtube.com/watch?v=GerQFdJCk7A)

<Frame>
  <iframe src="https://www.youtube.com/embed/GerQFdJCk7A" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* حظر `CRATE MATERIALIZED VIEW ... ENGINE Replicated*MergeTree POPULATE AS SELECT ...` مع قواعد بيانات Replicated. [#63963](https://github.com/ClickHouse/ClickHouse/pull/63963) ([vdimir](https://github.com/vdimir)).
* لن يقبل `clickhouse-keeper-client` إلا المسارات داخل سلاسل نصية حرفية، مثل `ls '/hello/world'`، وليس السلاسل المجردة مثل `ls /hello/world`. [#65494](https://github.com/ClickHouse/ClickHouse/pull/65494) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُعيدت تسمية المقياس `KeeperOutstandingRequets` إلى `KeeperOutstandingRequests`. [#66206](https://github.com/ClickHouse/ClickHouse/pull/66206) ([Robert Schulze](https://github.com/rschu1ze)).
* أُزيل الحقل `is_deterministic` من جدول `system.functions`. [#66630](https://github.com/ClickHouse/ClickHouse/pull/66630) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ستحاول الدالة `tuple` الآن إنشاء named tuples في الاستعلام (ويتحكم في ذلك `enable_named_columns_in_function_tuple`). وقد أُضيفت الدالة `tupleNames` لاستخراج الأسماء من tuples. [#54881](https://github.com/ClickHouse/ClickHouse/pull/54881) ([Amos Bird](https://github.com/amosbird)).
* تغيير آلية عمل إزالة التكرار في Materialized Views. وقد أُصلحت حالات كثيرة مثل: - في destination table: تُقسَّم البيانات إلى كتلتين أو أكثر، وتُعدّ هذه الكتل مكررة عند insert تلك الكتلة in parallel. - في MV destination table: تُزال الكتل المتطابقة باعتبارها مكررة، ويحدث ذلك عندما تنتج MV كثيرًا بيانات متطابقة نتيجةً لبيانات إدخال مختلفة بسبب إجراء aggregation. - في MV destination table: تُزال الكتل المتطابقة القادمة من MV مختلفة باعتبارها مكررة. [#61601](https://github.com/ClickHouse/ClickHouse/pull/61601) ([Sema Checherinda](https://github.com/CheSema)).
* تُرجع الدالتان `bitShiftLeft` و `bitShitfRight` خطأً عند مواضع shift الخارجة عن النطاق. [#65838](https://github.com/ClickHouse/ClickHouse/pull/65838) ([Pablo Marcos](https://github.com/pamarcos)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* إضافة دعم `ASOF JOIN` لخوارزمية `full_sorting_join`. [#55051](https://github.com/ClickHouse/ClickHouse/pull/55051) ([vdimir](https://github.com/vdimir)).
* دعم مصادقة JWT في `clickhouse-client` (ستكون متاحة فقط في ClickHouse Cloud). [#62829](https://github.com/ClickHouse/ClickHouse/pull/62829) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* إضافة دوال SQL ‏`changeYear` و`changeMonth` و`changeDay` و`changeHour` و`changeMinute` و`changeSecond`. على سبيل المثال، يُرجع `SELECT changeMonth(toDate('2024-06-14'), 7)` التاريخ `2024-07-14`. [#63186](https://github.com/ClickHouse/ClickHouse/pull/63186) ([cucumber95](https://github.com/cucumber95)).
* تقديم نصوص بدء تشغيل تتيح تنفيذ الاستعلامات المعدّة مسبقًا في مرحلة بدء التشغيل. [#64889](https://github.com/ClickHouse/ClickHouse/pull/64889) ([pufit](https://github.com/pufit)).
* دعم `accept_invalid_certificate` في إعدادات العميل للسماح له بالاتصال عبر TCP آمن بخادم يعمل بشهادة موقعة ذاتيًا، ويمكن استخدامه كصيغة مختصرة لإعدادات عميل `openSSL` المناظرة `verificationMode=none` + `invalidCertificateHandler.name=AcceptCertificateHandler`. [#65238](https://github.com/ClickHouse/ClickHouse/pull/65238) ([peacewalker122](https://github.com/peacewalker122)).
* إضافة `system.error_log` الذي يحتوي على سجل تاريخي لقيم الأخطاء من الجدول `system.errors`، ويُفرَّغ دوريًا إلى القرص. [#65381](https://github.com/ClickHouse/ClickHouse/pull/65381) ([Pablo Marcos](https://github.com/pamarcos)).
* إضافة دالة التجميع `groupConcat`. وهي مماثلة تقريبًا لـ `arrayStringConcat( groupArray(column), ',')`، ويمكنها استقبال معاملين: محدِّد نصي وعدد العناصر المطلوب معالجتها. [#65451](https://github.com/ClickHouse/ClickHouse/pull/65451) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إضافة تخزين AzureQueue. [#65458](https://github.com/ClickHouse/ClickHouse/pull/65458) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة إعداد جديد لتعطيل/تمكين كتابة فهرس الصفحات في ملفات Parquet. [#65475](https://github.com/ClickHouse/ClickHouse/pull/65475) ([lgbo](https://github.com/lgbo-ustc)).
* تقديم إعداد الخادم `logger.console_log_level` للتحكم في مستوى السجل المرسل إلى وحدة التحكم (إذا كان مفعّلًا). [#65559](https://github.com/ClickHouse/ClickHouse/pull/65559) ([Azat Khuzhin](https://github.com/azat)).
* إلحاق حرف البدل `*` تلقائيًا بنهاية مسار الدليل في دالة الجدول ‏`file`. [#66019](https://github.com/ClickHouse/ClickHouse/pull/66019) ([Zhidong (David) Guo](https://github.com/Gun9niR)).
* إضافة الخيار `--memory-usage` إلى العميل في الوضع غير التفاعلي. [#66393](https://github.com/ClickHouse/ClickHouse/pull/66393) ([vdimir](https://github.com/vdimir)).
* إنشاء عميل تفاعلي لـ `clickhouse-disks`، وإضافة قرص محلي من دليل محلي. [#64446](https://github.com/ClickHouse/ClickHouse/pull/64446) ([Daniil Ivanik](https://github.com/divanik)).
* عند حدوث حذف خفيف على جدول يحتوي على projection واحدة أو أكثر، يكون لدى المستخدمين خياران: إما طرح استثناء (افتراضيًا) أو حذف الـ projection. [#65594](https://github.com/ClickHouse/ClickHouse/pull/65594) ([jsc0218](https://github.com/jsc0218)).
* إضافة جداول نظام تتضمن المعلومات الأساسية عن جميع الجداول المفصولة. [#65400](https://github.com/ClickHouse/ClickHouse/pull/65400) ([Konstantin Morozov](https://github.com/k-morozov)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* تغيير التسلسل الثنائي لنوع البيانات `Variant`: إضافة وضع `compact` لتجنّب كتابة discriminator نفسه عدة مرات في granules التي تحتوي على variant واحد أو على قيم NULL فقط. وإضافة إعداد MergeTree ‏`use_compact_variant_discriminators_serialization` المُمكَّن افتراضيًا. لاحظ أن نوع Variant لا يزال تجريبيًا، لذا فإن هذا التغيير غير المتوافق مع الإصدارات السابقة في التسلسل مقبول. [#62774](https://github.com/ClickHouse/ClickHouse/pull/62774) ([Kruglov Pavel](https://github.com/Avogar)).
* دعم التخزين الخلفي على disk لـ clickhouse-keeper. [#56626](https://github.com/ClickHouse/ClickHouse/pull/56626) ([Han Fei](https://github.com/hanfei1991)).
* إعادة هيكلة دوال JSONExtract، مع دعم المزيد من الأنواع، بما في ذلك النوع التجريبي Dynamic. [#66046](https://github.com/ClickHouse/ClickHouse/pull/66046) ([Kruglov Pavel](https://github.com/Avogar)).
* دعم null map subcolumn لكلٍّ من الأعمدة الفرعية ‏`Variant` و`Dynamic`. [#66178](https://github.com/ClickHouse/ClickHouse/pull/66178) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح قراءة الأعمدة الفرعية ‏`Dynamic` من جدول `Memory` بعد تعديله. سابقًا، إذا جرى تغيير parameter ‏`max_types` لنوع Dynamic في جدول Memory عبر alter، فقد تُرجع قراءات الأعمدة الفرعية اللاحقة نتيجة غير صحيحة. [#66066](https://github.com/ClickHouse/ClickHouse/pull/66066) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة دعم `cluster_for_parallel_replicas` عند استخدام النسخ المتماثلة المتوازية ذات custom key. يتيح ذلك استخدام النسخ المتماثلة المتوازية ذات custom key مع جداول MergeTree. [#65453](https://github.com/ClickHouse/ClickHouse/pull/65453) ([Antonio Andelic](https://github.com/antonio2368)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* استُبدلت خوارزمية التحويل من int إلى string بأخرى أسرع (من amdn/itoa معدّلة إلى jeaiii/itoa معدّلة). [#61661](https://github.com/ClickHouse/ClickHouse/pull/61661) ([Raúl Marín](https://github.com/Algunenano)).
* تُجمَع الآن أحجام hash tables التي ينشئها join (خوارزمية `parallel_hash`) وتُخزَّن مؤقتًا. وستُستخدم هذه المعلومات لتخصيص مساحة مسبقًا في hash tables عند تنفيذ query لاحقًا، مما يوفّر الوقت اللازم لإعادة تحجيم hash tables. [#64553](https://github.com/ClickHouse/ClickHouse/pull/64553) ([Nikita Taranov](https://github.com/nickitat)).
* جرى تحسين queries التي تستخدم `ORDER BY` مع المفتاح الأساسي و`WHERE` وتتضمن condition عالية الانتقائية، وذلك باستخدام buffering. ويتحكم في ذلك الإعداد `read_in_order_use_buffering` (مفعّل افتراضيًا)، وقد يزيد من استخدام الذاكرة في query. [#64607](https://github.com/ClickHouse/ClickHouse/pull/64607) ([Anton Popov](https://github.com/CurtizJ)).
* تحسين أداء loading لبيانات `plain_rewritable` الوصفية. [#65634](https://github.com/ClickHouse/ClickHouse/pull/65634) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* سيستخدم إرفاق الجداول على disks للقراءة فقط موارد أقل عبر عدم تحميل الأجزاء القديمة. [#65635](https://github.com/ClickHouse/ClickHouse/pull/65635) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم minmax hyperrectangle لفهارس Set. [#65676](https://github.com/ClickHouse/ClickHouse/pull/65676) ([AntiTopQuark](https://github.com/AntiTopQuark)).
* إلغاء تحميل الفهرس الأساسي للأجزاء القديمة لتقليل إجمالي استخدام الذاكرة. [#65852](https://github.com/ClickHouse/ClickHouse/pull/65852) ([Anton Popov](https://github.com/CurtizJ)).
* أصبحت الدالتان `replaceRegexpAll` و`replaceRegexpOne` الآن أسرع بكثير إذا كان pattern بسيطًا، أي لا يحتوي على metacharacters أو pattern classes أو flags أو أحرف grouping وما إلى ذلك. (شكرًا لـ Taiyang Li). [#66185](https://github.com/ClickHouse/ClickHouse/pull/66185) ([Robert Schulze](https://github.com/rschu1ze)).
* طلبات s3: تقليل زمن retry لـ queries، وزيادة عدد retries للنسخ الاحتياطية. 8.5 دقائق و100 محاولة retry لـ queries، و1.2 ساعة و1000 retry لاستعادة النسخ الاحتياطية. [#65232](https://github.com/ClickHouse/ClickHouse/pull/65232) ([Sema Checherinda](https://github.com/CheSema)).
* دعم تحسين LIMIT في query plan. ودعم LIMIT pushdown لتخزين PostgreSQL وtable function. [#65454](https://github.com/ClickHouse/ClickHouse/pull/65454) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين load balancing في ZooKeeper. لا تنتهي session الحالية حتى تصبح العقد المثلى متاحة، رغم `fallback_session_lifetime`. وأُضيف أيضًا دعم للموازنة المراعية لمناطق التوفّر (AZ). [#65570](https://github.com/ClickHouse/ClickHouse/pull/65570) ([Alexander Tokmakov](https://github.com/tavplubix)).
* يحذف DatabaseCatalog الجداول بسرعة أكبر باستخدام ما يصل إلى database\_catalog\_drop\_table\_concurrency من threads. [#66065](https://github.com/ClickHouse/ClickHouse/pull/66065) ([Sema Checherinda](https://github.com/CheSema)).

<div id="improvement-1">
  #### تحسين
</div>

* تحسّنت موازنة التحميل في ZooKeeper. لم تعد الجلسة الحالية تنتهي إلى أن تصبح العُقد المثلى متاحة، رغم `fallback_session_lifetime`. وأُضيف أيضًا دعم للموازنة المراعية لمناطق التوفّر (AZ). [#65570](https://github.com/ClickHouse/ClickHouse/pull/65570) ([Alexander Tokmakov](https://github.com/tavplubix)).
* أصبح الإعداد `optimize_trivial_insert_select` معطّلًا افتراضيًا. وفي معظم الحالات، يُفترض أن يكون ذلك مفيدًا. ومع ذلك، إذا لاحظت بطئًا في `INSERT SELECT` أو زيادة في استخدام الذاكرة، فيمكنك إعادة تفعيله أو تنفيذ `SET compatibility = '24.6'`. [#58970](https://github.com/ClickHouse/ClickHouse/pull/58970) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* طباعة stacktrace ومعلومات تشخيصية إذا تعطّل `clickhouse-client` أو `clickhouse-local`. [#61109](https://github.com/ClickHouse/ClickHouse/pull/61109) ([Alexander Tokmakov](https://github.com/tavplubix)).
* كانت نتيجة `SHOW INDEX | INDEXES | INDICES | KEYS` تُرتَّب سابقًا بحسب أسماء أعمدة المفتاح الأساسي. ونظرًا لأن ذلك لم يكن بديهيًا، أصبحت النتيجة الآن تُرتَّب بحسب مواضع أعمدة المفتاح الأساسي داخله. [#61131](https://github.com/ClickHouse/ClickHouse/pull/61131) ([Robert Schulze](https://github.com/rschu1ze)).
* تغيير آلية إزالة التكرار في Materialized Views. وقد أُصلح عدد كبير من الحالات، مثل: - في جدول الوجهة: تُقسَّم البيانات إلى كتلتين أو أكثر، ثم تُعتبَر هذه الكتل مكررة عند إدراجها بالتوازي. - في جدول وجهة MV: تُزال الكتل المتطابقة على أنها مكررة، ويحدث ذلك عندما يُنتج MV كثيرًا بيانات متطابقة كنتيجة لبيانات إدخال مختلفة بسبب تنفيذ aggregation. - في جدول وجهة MV: تُزال الكتل المتطابقة القادمة من MV مختلفة على أنها مكررة. [#61601](https://github.com/ClickHouse/ClickHouse/pull/61601) ([Sema Checherinda](https://github.com/CheSema)).
* دعم قراءة بيانات DeltaLake المُقسَّمة إلى partition. واستنتاج مخطط DeltaLake من خلال قراءة metadata بدلًا من البيانات. [#63201](https://github.com/ClickHouse/ClickHouse/pull/63201) ([Kseniia Sumarokova](https://github.com/kssenii)).
* في composable protocols، كانت طبقة TLS تقبل فقط المعاملين `certificateFile` و`privateKeyFile`. [https://clickhouse.com/docs/operations/settings/composable-protocols](https://clickhouse.com/docs/operations/settings/composable-protocols). [#63985](https://github.com/ClickHouse/ClickHouse/pull/63985) ([Anton Ivashkin](https://github.com/ianton-ru)).
* أُضيف حدث profile event باسم `SelectQueriesWithPrimaryKeyUsage`، ويشير إلى عدد استعلامات SELECT التي تستخدم المفتاح الأساسي لتقييم عبارة WHERE. [#64492](https://github.com/ClickHouse/ClickHouse/pull/64492) ([0x01f](https://github.com/0xfei)).
* إصلاحات وتحسينات متعلقة بـ `StorageS3Queue`. استنتاج قيمة افتراضية لـ `s3queue_processing_threads_num` وفقًا لعدد أنوية CPU الفعلية على الخادم (بدلًا من القيمة الافتراضية السابقة البالغة 1). وتعيين القيمة الافتراضية لـ `s3queue_loading_retries` إلى 10. وإصلاح احتمال ظهور "Uncaught exception" مبهمة في عمود الاستثناء ضمن `system.s3queue`. وعدم زيادة عدد المحاولات عند حدوث الاستثناء `MEMORY_LIMIT_EXCEEDED`. ونقل commit للملفات إلى مرحلة تلي اكتمال الإدراج في الجدول بالكامل لتجنّب تنفيذ commit للملفات قبل إدراجها. وإضافة الإعدادات `s3queue_max_processed_files_before_commit` و`s3queue_max_processed_rows_before_commit` و`s3queue_max_processed_bytes_before_commit` و`s3queue_max_processing_time_sec_before_commit` للتحكم بشكل أفضل في توقيت commit وflush. [#65046](https://github.com/ClickHouse/ClickHouse/pull/65046) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم الأسماء المستعارة في دالة العرض المعلَّم بالمعلمات (في analyzer الجديد فقط). [#65190](https://github.com/ClickHouse/ClickHouse/pull/65190) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تحديث لإخفاء مفتاح الحساب في السجلات ضمن azureBlobStorage. [#65273](https://github.com/ClickHouse/ClickHouse/pull/65273) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* partition pruning لعبارات `IN` الشرطية عندما يكون filter expression جزءًا من تعبير `PARTITION BY`. [#65335](https://github.com/ClickHouse/ClickHouse/pull/65335) ([Eduard Karacharov](https://github.com/korowa)).
* يمكن تطبيق `arrayMin`/`arrayMax` على جميع أنواع البيانات القابلة للمقارنة. [#65455](https://github.com/ClickHouse/ClickHouse/pull/65455) ([pn](https://github.com/chloro-pn)).
* تحسين احتساب الذاكرة في cgroups v2 لاستبعاد الحجم الذي تشغله ذاكرة صفحة التخزين المؤقت. [#65470](https://github.com/ClickHouse/ClickHouse/pull/65470) ([Nikita Taranov](https://github.com/nickitat)).
* عدم إنشاء إعدادات التنسيق لكل صف عند تسلسل الأجزاء لإدراجها في جدول EmbeddedRocksDB. [#65474](https://github.com/ClickHouse/ClickHouse/pull/65474) ([Duc Canh Le](https://github.com/canhld94)).
* تقليص موجّه `clickhouse-local` إلى `:)` فقط. إذ يستغرق `getFQDNOrHostName()` وقتًا طويلًا جدًا على MacOS، ولا نريد أصلًا وجود اسم مضيف في موجّه `clickhouse-local`. [#65510](https://github.com/ClickHouse/ClickHouse/pull/65510) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* تجنّب طباعة رسالة من jemalloc حول arenas لكل CPU على الأجهزة الافتراضية منخفضة الإمكانات. [#65532](https://github.com/ClickHouse/ClickHouse/pull/65532) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تعطيل التنزيل الخلفي لذاكرة التخزين المؤقت لنظام الملفات افتراضيًا. سيُعاد تفعيله عندما نُصلح مشكلة احتمال ظهور "Memory limit exceeded"، لأن تحرير الذاكرة يتم خارج سياق الاستعلام (بينما يُخصَّص buffer داخل سياق الاستعلام) عند استخدام سلاسل التنزيل الخلفية. بالإضافة إلى ذلك، نحتاج إلى إضافة إعداد منفصل لتحديد الحد الأقصى لحجم التنزيل لعمّال الخلفية (وهو حاليًا مقيّد بواسطة max\_file\_segment\_size، وقد يكون كبيرًا جدًا). [#65534](https://github.com/ClickHouse/ClickHouse/pull/65534) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة خيار جديد إلى config وهو `<config_reload_interval_ms>` يتيح تحديد مدى تكرار إعادة تحميل clickhouse للإعدادات. [#65545](https://github.com/ClickHouse/ClickHouse/pull/65545) ([alesapin](https://github.com/alesapin)).
* تنفيذ الترميز الثنائي لأنواع بيانات ClickHouse وإضافة مواصفاته إلى الوثائق. واستخدامه في التسلسل الثنائي لـ Dynamic، وإتاحة استخدامه في تنسيقي RowBinaryWithNamesAndTypes وNative ضمن الإعدادات. [#65546](https://github.com/ClickHouse/ClickHouse/pull/65546) ([Kruglov Pavel](https://github.com/Avogar)).
* أصبحت إعدادات الخادم `compiled_expression_cache_size` و`compiled_expression_cache_elements_size` تظهر الآن في `system.server_settings`. [#65584](https://github.com/ClickHouse/ClickHouse/pull/65584) ([Robert Schulze](https://github.com/rschu1ze)).
* إضافة دعم للتعرّف على المستخدم استنادًا إلى امتداد SubjectAltName في x509. [#65626](https://github.com/ClickHouse/ClickHouse/pull/65626) ([Anton Kozlov](https://github.com/tonickkozlov)).
* سيلتزم `clickhouse-local` بالقيمتين `max_server_memory_usage` و`max_server_memory_usage_to_ram_ratio` من ملف الإعدادات. كما سيضبط الحد الأقصى لاستخدام الذاكرة على 90% من ذاكرة النظام افتراضيًا، كما يفعل `clickhouse-server`. [#65697](https://github.com/ClickHouse/ClickHouse/pull/65697) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة برنامج نصي لنسخ ملفاتك احتياطيًا إلى ClickHouse. [#65699](https://github.com/ClickHouse/ClickHouse/pull/65699) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أصبح مصدر PostgreSQL يدعم إلغاء الاستعلامات. [#65722](https://github.com/ClickHouse/ClickHouse/pull/65722) ([Maksim Kita](https://github.com/kitaisreal)).
* جعل `allow_experimental_analyzer` خاضعًا لتحكم initiator في الاستعلامات الموزعة. وهذا يضمن التوافق والصحة أثناء العمليات في clusters ذات الإصدارات المختلطة. [#65777](https://github.com/ClickHouse/ClickHouse/pull/65777) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* مراعاة حد CPU الخاص بـ cgroup في Keeper. [#65819](https://github.com/ClickHouse/ClickHouse/pull/65819) ([Antonio Andelic](https://github.com/antonio2368)).
* السماح باستخدام الدالة `concat` مع معاملات فارغة `:) select concat();`. [#65887](https://github.com/ClickHouse/ClickHouse/pull/65887) ([李扬](https://github.com/taiyang-li)).
* السماح بالتحكم في المجموعات المسماة في `clickhouse-local`. [#65973](https://github.com/ClickHouse/ClickHouse/pull/65973) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحسين أحداث profile المرتبطة بـ Azure. [#65999](https://github.com/ClickHouse/ClickHouse/pull/65999) ([alesapin](https://github.com/alesapin)).
* دعم قراءة ملفات ORC وفق المنطقة الزمنية الخاصة بالكاتب. [#66025](https://github.com/ClickHouse/ClickHouse/pull/66025) ([kevinyhzou](https://github.com/KevinyhZou)).
* إضافة إعدادات للتحكم في الاتصالات بـ PostgreSQL. يحدد الإعداد `postgresql_connection_attempt_timeout` القيمة التي تُمرَّر إلى المعامل `connect_timeout` في عنوان URL للاتصال. ويحدد الإعداد `postgresql_connection_pool_retries` عدد مرات إعادة المحاولة لإنشاء اتصال بنقطة نهاية PostgreSQL. [#66232](https://github.com/ClickHouse/ClickHouse/pull/66232) ([Dmitry Novik](https://github.com/novikd)).
* تقليل عدم دقة `input_wait_elapsed_us`/`elapsed_us` في `system.processors_profile_log`. [#66239](https://github.com/ClickHouse/ClickHouse/pull/66239) ([Azat Khuzhin](https://github.com/azat)).
* تحسين ProfileEvents لذاكرة التخزين المؤقت لنظام الملفات. [#66249](https://github.com/ClickHouse/ClickHouse/pull/66249) ([zhukai](https://github.com/nauu)).
* إضافة إعدادات لتجاهل العبارة `ON CLUSTER` في الاستعلامات الخاصة بإدارة المجموعات المسماة مع التخزين المُكرَّر. [#66288](https://github.com/ClickHouse/ClickHouse/pull/66288) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* تتيح الدالة `generateSnowflakeID` الآن تحديد معرّف جهاز كمعامل لمنع التصادمات في المجموعات الكبيرة. [#66374](https://github.com/ClickHouse/ClickHouse/pull/66374) ([ZAWA\_ll](https://github.com/Zawa-ll)).
* تعطيل التعليق باستخدام `Ctrl+Z` في الوضع التفاعلي. هذا فخ شائع وليس سلوكًا متوقعًا لدى معظم المستخدمين تقريبًا. أتخيل أن قلة قليلة فقط من المستخدمين المحترفين جدًا قد يقدّرون تعليق تطبيقات الطرفية في الخلفية، لكنني لا أعرف أحدًا منهم. [#66511](https://github.com/ClickHouse/ClickHouse/pull/66511) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة خيار للتحقق من نوع المفتاح الأساسي في Dictionaries. من دون هذا الخيار، وفي التخطيطات البسيطة، سيُحوَّل أي نوع عمود ضمنيًا إلى UInt64. [#66595](https://github.com/ClickHouse/ClickHouse/pull/66595) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release-3">
  #### إصلاح خلل (سلوك خاطئ يلاحظه المستخدم في إصدار مستقر رسمي)
</div>

* التحقّق من التبعيات الدورية في استعلامات CREATE/REPLACE/RENAME/EXCHANGE، وإلقاء استثناء إذا وُجدت تبعية دورية. سابقًا، كان هذا النوع من التبعيات الدورية قد يؤدي إلى حالة توقف متبادل أثناء بدء تشغيل الخادم. كما أُصلحت بعض الأخطاء في إنشاء التبعيات. [#65405](https://github.com/ClickHouse/ClickHouse/pull/65405) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح الأحجام غير المتوقعة لأعمدة `LowCardinality` في استدعاءات الدوال. [#65298](https://github.com/ClickHouse/ClickHouse/pull/65298) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح تعطل في maxIntersections. [#65689](https://github.com/ClickHouse/ClickHouse/pull/65689) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح إعادة ضبط البند `VALID UNTIL` في تعريف المستخدم بعد إعادة التشغيل. [#66409](https://github.com/ClickHouse/ClickHouse/pull/66409) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح عمود الوقت المتبقي في `SHOW MERGES`. [#66735](https://github.com/ClickHouse/ClickHouse/pull/66735) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* كان من الممكن أن تظهر العبارة `Query was cancelled` مرتين في clickhouse-client. تم إصلاح هذا السلوك. [#66005](https://github.com/ClickHouse/ClickHouse/pull/66005) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح تعطل أثناء استخدام `MaterializedMySQL` (وهي ميزة تجريبية غير مدعومة) مع TABLE OVERRIDE الذي يربط حقلاً من نوع NULL في MySQL بحقل من نوع not NULL في ClickHouse. [#54649](https://github.com/ClickHouse/ClickHouse/pull/54649) ([Filipp Ozinov](https://github.com/bakwc)).
* إصلاح خطأ منطقي عندما لا يقرأ تعبير `PREWHERE` أي أعمدة، ولا يحتوي الجدول على adaptive index granularity (جدول قديم جدًا). [#59173](https://github.com/ClickHouse/ClickHouse/pull/59173) ([Alexander Gololobov](https://github.com/davenger)).
* إصلاح خطأ في المخزن المؤقت للإلغاء عند إلغاء query. [#64478](https://github.com/ClickHouse/ClickHouse/pull/64478) ([Sema Checherinda](https://github.com/CheSema)).
* إصلاح تعبئة أعمدة الأجزاء من metadata (عندما لا يكون columns.txt موجودًا). [#64757](https://github.com/ClickHouse/ClickHouse/pull/64757) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تعطل في `ALTER TABLE ... ON CLUSTER ... MODIFY SQL SECURITY`. [#64957](https://github.com/ClickHouse/ClickHouse/pull/64957) ([pufit](https://github.com/pufit)).
* إصلاح تعطل عند تدمير AccessControl: إضافة إيقاف صريح. [#64993](https://github.com/ClickHouse/ClickHouse/pull/64993) ([Vitaly Baranov](https://github.com/vitlibar)).
* إزالة الدالة الأحادية الحقن من وسيط دوال `uniq*` بشكل تكراري. كان هذا يعمل بشكل صحيح سابقًا، لكنه تعطل في analyzer الجديد. [#65140](https://github.com/ClickHouse/ClickHouse/pull/65140) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح اسم الإسقاط غير المتوقع في query مع CTE. [#65267](https://github.com/ClickHouse/ClickHouse/pull/65267) ([wudidapaopao](https://github.com/wudidapaopao)).
* اشتراط امتياز `dictGet` عند الوصول إلى القواميس عبر Direct Query أو محرك الجدول `Dictionary`. [#65359](https://github.com/ClickHouse/ClickHouse/pull/65359) ([Joe Lynch](https://github.com/joelynch)).
* إصلاح مصادقة S3 الخاصة بالمستخدم مع incremental backups. [#65481](https://github.com/ClickHouse/ClickHouse/pull/65481) ([Antonio Andelic](https://github.com/antonio2368)).
* تعطيل تحسين `non-intersecting-parts` للاستعلامات التي تحتوي على `FINAL` إذا كان تحسين `read-in-order` مُمكّنًا. كان هذا قد يؤدي إلى نتيجة query غير صحيحة. وكحل بديل، عطّل `do_not_merge_across_partitions_select_final` و`split_parts_ranges_into_intersecting_and_non_intersecting_final` قبل دمج هذا الإصلاح. [#65505](https://github.com/ClickHouse/ClickHouse/pull/65505) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح الاستثناء `Index out of bound for blob metadata` الذي كان يحدث إذا جرت تصفية جميع الملفات من دفعة القائمة. [#65523](https://github.com/ClickHouse/ClickHouse/pull/65523) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح الخطأ NOT\_FOUND\_COLUMN\_IN\_BLOCK عند دمج إزالة التكرار للإسقاط. [#65573](https://github.com/ClickHouse/ClickHouse/pull/65573) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح خلل في MergeJoin. إذ قد يُعامَل العمود في التسلسل sparse على أنه عمود من نوعه Nested رغم عدم تنفيذ التحويل المطلوب. [#65632](https://github.com/ClickHouse/ClickHouse/pull/65632) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح خلل تمثل في عدم تطبيق مستوى التوافق '23.4' بشكل صحيح. [#65737](https://github.com/ClickHouse/ClickHouse/pull/65737) ([cw5121](https://github.com/cw5121)).
* إصلاح خلل في جدول odbc ذي الحقول Nullable. [#65738](https://github.com/ClickHouse/ClickHouse/pull/65738) ([Rodolphe Dugé de Bernonville](https://github.com/RodolpheDuge)).
* إصلاح خطأ data race في `TCPHandler`، والذي كان يمكن أن يحدث عند وقوع خطأ جسيم. [#65744](https://github.com/ClickHouse/ClickHouse/pull/65744) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح الاستثناءات غير الصحيحة في الدالة `parseDateTime` مع العناصر النائبة `%F` و `%D`. [#65768](https://github.com/ClickHouse/ClickHouse/pull/65768) ([Antonio Andelic](https://github.com/antonio2368)).
* بالنسبة إلى الاستعلامات التي تقرأ من `PostgreSQL`، ألغِ استعلام `PostgreSQL` الداخلي إذا كان استعلام ClickHouse قد انتهى. وإلا، فلن يمكن إلغاء استعلام `ClickHouse` حتى ينتهي استعلام `PostgreSQL` الداخلي. [#65771](https://github.com/ClickHouse/ClickHouse/pull/65771) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح خلل في منطق short circuit عند استخدام analyzer القديم و `dictGetOrDefault`. [#65802](https://github.com/ClickHouse/ClickHouse/pull/65802) ([jsc0218](https://github.com/jsc0218)).
* إصلاح خلل كان يؤدي إلى أن تتسبب عمليات الكتابة باستخدام TTL في EmbeddedRocksDB في إتلاف ملفات SST. [#65816](https://github.com/ClickHouse/ClickHouse/pull/65816) ([Duc Canh Le](https://github.com/canhld94)).
* تُرجِع الدوال `bitTest` و `bitTestAll` و `bitTestAny` الآن خطأً إذا كان فهرس bit المحدد خارج النطاق. [#65818](https://github.com/ClickHouse/ClickHouse/pull/65818) ([Pablo Marcos](https://github.com/pamarcos)).
* أصبح الإعداد `join_any_take_last_row` مدعومًا في أي استعلام يستخدم hash join. [#65820](https://github.com/ClickHouse/ClickHouse/pull/65820) ([vdimir](https://github.com/vdimir)).
* تحسين التعامل مع شروط join التي تتضمن تحققات `IS NULL` (على سبيل المثال، يُعاد كتابة `ON (a = b AND (a IS NOT NULL) AND (b IS NOT NULL) ) OR ( (a IS NULL) AND (b IS NULL) )` إلى `ON a <=> b`)؛ مع إصلاح التحسين غير الصحيح عند وجود شروط أخرى غير `IS NULL`. [#65835](https://github.com/ClickHouse/ClickHouse/pull/65835) ([vdimir](https://github.com/vdimir)).
* إصلاح الزيادة المستمرة في memory usage في S3Queue. [#65839](https://github.com/ClickHouse/ClickHouse/pull/65839) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح التعامل مع حالات التعادل في `arrayAUC` بما يطابق sklearn. [#65840](https://github.com/ClickHouse/ClickHouse/pull/65840) ([gabrielmcg44](https://github.com/gabrielmcg44)).
* إصلاح مشكلات محتملة في اتصالات TLS الخاصة ببروتوكول MySQL server. [#65917](https://github.com/ClickHouse/ClickHouse/pull/65917) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح المشكلات المحتملة في اتصالات TLS الخاصة ببروتوكول عميل MySQL. [#65938](https://github.com/ClickHouse/ClickHouse/pull/65938) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح التعامل مع `SSL_ERROR_WANT_READ`/`SSL_ERROR_WANT_WRITE` عند ضبط المهلة على صفر. [#65941](https://github.com/ClickHouse/ClickHouse/pull/65941) ([Azat Khuzhin](https://github.com/azat)).
* إضافة الإعدادات المفقودة `input_format_csv_skip_first_lines/input_format_tsv_skip_first_lines/input_format_csv_try_infer_numbers_from_strings/input_format_csv_try_infer_strings_from_quoted_tuples` إلى ذاكرة التخزين المؤقت لاستنتاج المخطط، لأنها قد تغيّر المخطط الناتج. يمنع ذلك الحصول على نتائج غير صحيحة لاستنتاج المخطط عند تغيير هذه الإعدادات. [#65980](https://github.com/ClickHouse/ClickHouse/pull/65980) ([Kruglov Pavel](https://github.com/Avogar)).
* يشير العمود \_size في محرك S3 ودالة الجدول S3 إلى حجم ملف داخل الأرشيف، وليس إلى حجم الأرشيف نفسه. [#65993](https://github.com/ClickHouse/ClickHouse/pull/65993) ([Daniil Ivanik](https://github.com/divanik)).
* إصلاح تحليل الأعمدة الفرعية الديناميكية في analyzer، مع تجنّب قراءة العمود بالكامل عند قراءة عمود فرعي ديناميكي. [#66004](https://github.com/ClickHouse/ClickHouse/pull/66004) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح دمج config لـ from\_env مع تجاوزات replace. [#66034](https://github.com/ClickHouse/ClickHouse/pull/66034) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح احتمال حدوث تعليق في `GRPCServer` أثناء الإيقاف. [#66061](https://github.com/ClickHouse/ClickHouse/pull/66061) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح عدة حالات في الدالة `has` مع الوسيطات `LowCardinality` غير الثابتة. [#66088](https://github.com/ClickHouse/ClickHouse/pull/66088) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح `groupArrayIntersect`. إذ كان يتصرف بشكل غير صحيح في الدالة `merge()`. كما أُصلح السلوك في `deserialise()` للبيانات الرقمية والبيانات العامة. [#66103](https://github.com/ClickHouse/ClickHouse/pull/66103) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح خلل تجاوز سعة المخزن المؤقت في تنفيذ `unbin`/`unhex`. [#66106](https://github.com/ClickHouse/ClickHouse/pull/66106) ([Nikita Taranov](https://github.com/nickitat)).
* تعطيل تحسين `merge-filters` الذي أُدخل في [#64760](https://github.com/ClickHouse/ClickHouse/issues/64760). فقد يتسبب في حدوث استثناء إذا دمج التحسين تعبيري تصفية من دون تطبيق التقييم المختصر. [#66126](https://github.com/ClickHouse/ClickHouse/pull/66126) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح المشكلة التي كان فيها الخادم يفشل في تحليل ملفات Avro ذات المصفوفات المرمّزة بحجم block سالب، وهو ما أصبح مسموحًا به الآن وفقًا لمواصفة Avro. [#66130](https://github.com/ClickHouse/ClickHouse/pull/66130) ([Serge Klochkov](https://github.com/slvrtrn)).
* إصلاح خلل في عميل ZooKeeper: إذ كان يمكن أن تعلق الجلسة في حالة غير قابلة للاستخدام بعد تلقي خطأ عتادي من ZooKeeper. على سبيل المثال، قد يحدث هذا بسبب "soft memory limit" في ClickHouse Keeper. [#66140](https://github.com/ClickHouse/ClickHouse/pull/66140) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح مشكلة في SumIfToCountIfVisitor مع الأعداد الصحيحة الموقّعة. [#66146](https://github.com/ClickHouse/ClickHouse/pull/66146) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح حالة نادرة تتضمن بيانات مفقودة في نتيجة الاستعلام الموزّع. [#66174](https://github.com/ClickHouse/ClickHouse/pull/66174) ([vdimir](https://github.com/vdimir)).
* إصلاح ترتيب تحليل حقول البيانات الوصفية في StorageDeltaLake. [#66211](https://github.com/ClickHouse/ClickHouse/pull/66211) ([Kseniia Sumarokova](https://github.com/kssenii)).
* لا تُطلِق `TIMEOUT_EXCEEDED` في وضع `none_only_active` الخاص بـ `distributed_ddl_output_mode`. [#66218](https://github.com/ClickHouse/ClickHouse/pull/66218) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح التعامل مع الحدّ في `system.numbers_mt` عندما يتعذر استخدام أي فهرس. [#66231](https://github.com/ClickHouse/ClickHouse/pull/66231) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح طريقة اكتشاف ClickHouse server للعدد الأقصى من CPU cores القابلة للاستخدام كما تحددها cgroups v2 إذا كان الخادم يعمل داخل حاوية مثل Docker. وبمزيد من التفصيل، غالبًا ما تشغّل الحاويات عملياتها ضمن cgroup الجذر ذي الاسم الفارغ. في هذه الحالة، كان ClickHouse يتجاهل حدود CPU التي تفرضها cgroups v2. [#66237](https://github.com/ClickHouse/ClickHouse/pull/66237) ([filimonov](https://github.com/filimonov)).
* إصلاح الخطأ `Not-ready set` عند استخدام استعلام فرعي مع `IN` في القيد. [#66261](https://github.com/ClickHouse/ClickHouse/pull/66261) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح الإبلاغ عن الأخطاء أثناء النسخ إلى S3 أو AzureBlobStorage. [#66295](https://github.com/ClickHouse/ClickHouse/pull/66295) ([Vitaly Baranov](https://github.com/vitlibar)).
* منع watchdog من الاحتفاظ بواصفات ملفات السجل غير المرتبطة (التي جرى تدويرها). [#66334](https://github.com/ClickHouse/ClickHouse/pull/66334) ([Aleksei Filatov](https://github.com/aalexfvk)).
* إصلاح الخلل الذي كان يتسبب في فقدان logicalexpressionoptimizerpass للنوع المنطقي للثابت. [#66344](https://github.com/ClickHouse/ClickHouse/pull/66344) ([pn](https://github.com/chloro-pn)).
* إصلاح الخطأ `Column identifier is already registered` مع `group_by_use_nulls=true` والمحلل الجديد. [#66400](https://github.com/ClickHouse/ClickHouse/pull/66400) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح احتمال ظهور نتائج غير صحيحة في الاستعلامات التي تنفذ join وتطبق filter على table ذات external engine (مثل PostgreSQL)، بسبب filter pushdown مفرط. ومن الآن فصاعدًا، لن تُرسل الشروط من قسم `where` إلى database الخارجية في حالة استخدام outer join مع external table. [#66402](https://github.com/ClickHouse/ClickHouse/pull/66402) ([vdimir](https://github.com/vdimir)).
* إضافة materialization المفقود للأعمدة في cross join. [#66413](https://github.com/ClickHouse/ClickHouse/pull/66413) ([lgbo](https://github.com/lgbo-ustc)).
* إصلاح الخطأ `Cannot find column` في الاستعلامات التي تحتوي على expression ثابتة في مفتاح `GROUP BY` مع تفعيل المحلل الجديد. [#66433](https://github.com/ClickHouse/ClickHouse/pull/66433) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تجنب حدوث logical error محتمل أثناء الاستيراد من تنسيق Npy في حال كان مستوى nesting للمصفوفة غير صالح، مع إصلاح اختبار الأنواع الأخرى من الأخطاء. [#66461](https://github.com/ClickHouse/ClickHouse/pull/66461) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح النتيجة الخاطئة لـ `count()` عندما توجد دالة غير deterministic في predicate. [#66510](https://github.com/ClickHouse/ClickHouse/pull/66510) ([Duc Canh Le](https://github.com/canhld94)).
* تتبّع الذاكرة بشكل صحيح في `Allocator::realloc`. [#66548](https://github.com/ClickHouse/ClickHouse/pull/66548) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح قراءة ذاكرة غير مهيأة عند إجراء hashing لـ tuples الفارغة. [#66562](https://github.com/ClickHouse/ClickHouse/pull/66562) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح نتيجة غير صحيحة للاستعلامات التي تحتوي على `WINDOW`. وقد يحدث ذلك عندما تكون أعمدة `PARTITION` ذات serialization sparse وتُنفَّذ window functions بالتوازي. [#66579](https://github.com/ClickHouse/ClickHouse/pull/66579) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح إزالة المجموعات المسماة من التخزين المحلي. [#66599](https://github.com/ClickHouse/ClickHouse/pull/66599) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح عدم تحديث `column_length` في `ColumnTuple::insertManyFrom`. [#66626](https://github.com/ClickHouse/ClickHouse/pull/66626) ([lgbo](https://github.com/lgbo-ustc)).
* إصلاح الخطأين `Unknown identifier` و `Column is not under aggregate function` في الاستعلامات التي تحتوي على التعبير `(column IS NULL).` وقد تسبّب [#65088](https://github.com/ClickHouse/ClickHouse/issues/65088) في هذا الخلل، وذلك فقط عند تعطيل analyzer. [#66654](https://github.com/ClickHouse/ClickHouse/pull/66654) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح الخطأ `Method getResultType is not supported for QUERY query node` عند استخدام استعلام فرعي scalar كوسيطة أولى لـ IN (مع analyzer الجديد). [#66655](https://github.com/ClickHouse/ClickHouse/pull/66655) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح احتمال حدوث الخطأ PARAMETER\_OUT\_OF\_BOUND أثناء قراءة subcolumn من النوع variant. [#66659](https://github.com/ClickHouse/ClickHouse/pull/66659) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح حالة نادرة لتعطل merge بعد drop column. [#66707](https://github.com/ClickHouse/ClickHouse/pull/66707) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح فشل التأكيد `isUniqTypes` عند تنفيذ insert select من مصادر بعيدة. [#66722](https://github.com/ClickHouse/ClickHouse/pull/66722) ([Sema Checherinda](https://github.com/CheSema)).
* إصلاح logical error في PrometheusRequestHandler. [#66621](https://github.com/ClickHouse/ClickHouse/pull/66621) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح حالة في الدالة `indexHint` اكتشفها fuzzer. [#66286](https://github.com/ClickHouse/ClickHouse/pull/66286) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح تنسيق AST لعبارة 'create table b empty as a'. [#64951](https://github.com/ClickHouse/ClickHouse/pull/64951) ([Michael Kolupaev](https://github.com/al13n321)).

### <a id="246" /> إصدار ClickHouse 24.6، 2024-07-01. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.6/)، [الفيديو](https://www.youtube.com/watch?v=BK-x8lpvOQw)

<Frame>
  <iframe src="https://www.youtube.com/embed/BK-x8lpvOQw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* تفعيل التحميل غير المتزامن لقواعد البيانات والجداول افتراضيًا. راجع `async_load_databases` في config.xml. رغم أن هذا التغيير متوافق بالكامل، فقد يؤدي إلى اختلاف في السلوك. عندما تكون قيمة `async_load_databases` هي false، كما في الإصدارات السابقة، لن يقبل الخادم الاتصالات حتى يكتمل تحميل جميع الجداول. وعندما تكون قيمة `async_load_databases` هي true، كما في الإصدار الجديد، يمكن للخادم قبول الاتصالات قبل اكتمال تحميل جميع الجداول. وإذا نُفِّذ استعلام على جدول لم يُحمَّل بعد، فسينتظر إلى أن يكتمل تحميل الجدول، وقد يستغرق ذلك وقتًا طويلًا. وقد يغيّر هذا سلوك الخادم إذا كان جزءًا من نظام موزع كبير خلف موازن تحميل. في الحالة الأولى، قد يتلقى موازن التحميل رفضًا للاتصال وينتقل سريعًا إلى خادم آخر عند الفشل. وفي الحالة الثانية، قد يتصل موازن التحميل بخادم لا يزال يحمّل الجداول، ما يؤدي إلى ارتفاع كمون الاستعلام. علاوة على ذلك، إذا تراكم عدد كبير من الاستعلامات في حالة انتظار، فقد يؤدي ذلك إلى مشكلة "thundering herd" عند بدء معالجتها كلها في الوقت نفسه. ولا يظهر هذا الاختلاف إلا في الأنظمة الخلفية الموزعة ذات الأحمال المرتفعة. يمكنك تعيين قيمة `async_load_databases` إلى false لتجنب هذه المشكلة. [#57695](https://github.com/ClickHouse/ClickHouse/pull/57695) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* الإعداد `replace_long_file_name_to_hash` مفعّل افتراضيًا لجداول `MergeTree`. [#64457](https://github.com/ClickHouse/ClickHouse/pull/64457) ([Anton Popov](https://github.com/CurtizJ)). هذا الإعداد متوافق بالكامل، ولا يلزم اتخاذ أي إجراء أثناء الترقية. تنسيق البيانات الجديد مدعوم في جميع الإصدارات بدءًا من 23.9. بعد تفعيل هذا الإعداد، لن يعود بإمكانك الرجوع إلى إصدار 23.8 أو أقدم.
* ستفشل بعض الاستعلامات غير الصالحة في مرحلة أبكر أثناء التحليل. ملاحظة: تم تعطيل دعم تعبيرات KQL المضمنة (لغة Kusto التجريبية) عند وضعها داخل `kql` table function من دون قيمة نصية حرفية، مثل `kql(garbage | trash)` بدلًا من `kql('garbage | trash')` أو `kql($$garbage | trash$$)`. أُضيفت هذه الميزة من غير قصد، ولا ينبغي أن تكون موجودة. [#61500](https://github.com/ClickHouse/ClickHouse/pull/61500) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُعيدت صياغة المعالجة المتوازية في وضع `Ordered` للتخزين `S3Queue`. هذا الطلب للسحب غير متوافق مع الإصدارات السابقة في وضع Ordered إذا كنت تستخدم الإعدادين `s3queue_processing_threads_num` أو `s3queue_total_shards_num`. تم حذف الإعداد `s3queue_total_shards_num`، وكان يُسمح سابقًا باستخدامه فقط مع `s3queue_allow_experimental_sharded_mode`، وهو الآن مهمل. تمت إضافة إعداد جديد هو `s3queue_buckets`. [#64349](https://github.com/ClickHouse/ClickHouse/pull/64349) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أُضيفت الدوال الجديدة `snowflakeIDToDateTime` و`snowflakeIDToDateTime64` و`dateTimeToSnowflakeID` و`dateTime64ToSnowflakeID`. وعلى خلاف الدوال الحالية `snowflakeToDateTime` و`snowflakeToDateTime64` و`dateTimeToSnowflake` و`dateTime64ToSnowflake`، فإن الدوال الجديدة متوافقة مع الدالة `generateSnowflakeID`، أي إنها تقبل Snowflake IDs التي تُنشئها `generateSnowflakeID` وتنتج Snowflake IDs من النوع نفسه الذي تنتجه `generateSnowflakeID` (أي `UInt64`). بالإضافة إلى ذلك، تستخدم الدوال الجديدة افتراضيًا UNIX epoch (المعروف أيضًا باسم 1970-01-01)، تمامًا مثل `generateSnowflakeID`. وإذا لزم الأمر، يمكن تمرير epoch مختلف، مثل epoch الخاصة بـ Twitter/X بتاريخ 2010-11-04، أي 1288834974657 مللي ثانية منذ UNIX epoch. دوال التحويل القديمة مهملة وستُزال بعد فترة انتقالية: ولمواصلة استخدامها رغم ذلك، فعّل الإعداد `allow_deprecated_snowflake_conversion_functions`. [#64948](https://github.com/ClickHouse/ClickHouse/pull/64948) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* السماح بتخزين المجموعات المسماة في ClickHouse Keeper. [#64574](https://github.com/ClickHouse/ClickHouse/pull/64574) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم Tuples الفارغة. [#55061](https://github.com/ClickHouse/ClickHouse/pull/55061) ([Amos Bird](https://github.com/amosbird)).
* إضافة دوال لترميز منحنى Hilbert وفك ترميزه. [#60156](https://github.com/ClickHouse/ClickHouse/pull/60156) ([Artem Mustafin](https://github.com/Artemmm91)).
* إضافة دعم لتحليل الفهارس على `hilbertEncode`. [#64662](https://github.com/ClickHouse/ClickHouse/pull/64662) ([Artem Mustafin](https://github.com/Artemmm91)).
* تمت إضافة دعم لقراءة هندسة `LINESTRING` بتنسيق WKT باستخدام الدالة `readWKTLineString`. [#62519](https://github.com/ClickHouse/ClickHouse/pull/62519) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* السماح بإرفاق الأجزاء من قرص آخر. [#63087](https://github.com/ClickHouse/ClickHouse/pull/63087) ([Unalian](https://github.com/Unalian)).
* تمت إضافة دوال SQL جديدة `generateSnowflakeID` لإنشاء معرّفات Snowflake على نمط Twitter. [#63577](https://github.com/ClickHouse/ClickHouse/pull/63577) ([Danila Puzov](https://github.com/kazalika)).
* تمت إضافة الإعدادين `merge_workload` و `mutation_workload` لتنظيم كيفية استخدام الموارد وتشاركها بين عمليات الدمج وعمليات mutation وأعباء العمل الأخرى. [#64061](https://github.com/ClickHouse/ClickHouse/pull/64061) ([Sergei Trifonov](https://github.com/serxa)).
* إضافة دعم لمقارنة النوعين `IPv4` و `IPv6` باستخدام العامل `=`. [#64292](https://github.com/ClickHouse/ClickHouse/pull/64292) ([Francisco J. Jurado Moreno](https://github.com/Beetelbrox)).
* دعم الوسيطات من نوع Decimal في الدوال الرياضية الثنائية (pow, atan2, max2, min2, hypot). [#64582](https://github.com/ClickHouse/ClickHouse/pull/64582) ([Mikhail Gorshkov](https://github.com/mgorshkov)).
* تمت إضافة دوال SQL `parseReadableSize` (إلى جانب الصيغتين `OrNull` و `OrZero`). [#64742](https://github.com/ClickHouse/ClickHouse/pull/64742) ([Francisco J. Jurado Moreno](https://github.com/Beetelbrox)).
* إضافة إعدادات الخادم `max_table_num_to_throw` و `max_database_num_to_throw` لتقييد عدد قواعد البيانات أو الجداول في استعلامات `CREATE`. [#64781](https://github.com/ClickHouse/ClickHouse/pull/64781) ([Xu Jia](https://github.com/XuJia0210)).
* إضافة العمود الافتراضي `_time` إلى وسائط التخزين الشبيهة بالملفات (s3/file/hdfs/url/azureBlobStorage). [#64947](https://github.com/ClickHouse/ClickHouse/pull/64947) ([Ilya Golshtein](https://github.com/ilejn)).
* تم تقديم دوال جديدة `base64URLEncode` و `base64URLDecode` و `tryBase64URLDecode`. [#64991](https://github.com/ClickHouse/ClickHouse/pull/64991) ([Mikhail Gorshkov](https://github.com/mgorshkov)).
* إضافة الدالة الجديدة `editDistanceUTF8`، التي تحسب [مسافة التحرير](https://en.wikipedia.org/wiki/Edit_distance) بين سلسلتين نصيتين بترميز UTF8. [#65269](https://github.com/ClickHouse/ClickHouse/pull/65269) ([LiuNeng](https://github.com/liuneng1994)).
* إضافة الإعداد `http_response_headers` لدعم ترويسات الاستجابة المخصصة في معالجات HTTP المخصصة. [#63562](https://github.com/ClickHouse/ClickHouse/pull/63562) ([Grigorii](https://github.com/GSokol)).
* تمت إضافة دالة جدول جديدة باسم `loop` لدعم إرجاع نتائج الاستعلام في حلقة لا نهائية. [#63452](https://github.com/ClickHouse/ClickHouse/pull/63452) ([Sariel](https://github.com/sarielwxm)). وهذا مفيد للاختبار.
* أُضيف عمودان إضافيان إلى `system.query_log`: ‏`used_privileges` و`missing_privileges`. يُملأ `used_privileges` بامتيازات الوصول التي جرى التحقق منها أثناء تنفيذ الاستعلام، ويحتوي `missing_privileges` على امتيازات الوصول المطلوبة غير المتوفرة. [#64597](https://github.com/ClickHouse/ClickHouse/pull/64597) ([Alexey Katsman](https://github.com/alexkats)).
* أُضيف الإعداد `output_format_pretty_display_footer_column_names` الذي يعرض، عند تمكينه، أسماء الأعمدة في تذييل الجدول للجداول الطويلة (50 صفًا افتراضيًا)، بينما تتحكم `output_format_pretty_display_footer_column_names_min_rows` في قيمة عتبة الحد الأدنى لعدد الصفوف. [#65144](https://github.com/ClickHouse/ClickHouse/pull/65144) ([Shaun Struwig](https://github.com/Blargian)).

<div id="experimental-feature-5">
  #### الميزة التجريبية
</div>

* إضافة إحصاءات من نوع "عدد القيم المميزة". [#59357](https://github.com/ClickHouse/ClickHouse/pull/59357) ([Han Fei](https://github.com/hanfei1991)).
* دعم الإحصاءات مع ReplicatedMergeTree. [#64934](https://github.com/ClickHouse/ClickHouse/pull/64934) ([Han Fei](https://github.com/hanfei1991)).
* إذا جرى تكوين "مجموعة النسخ المتماثلة" لقاعدة بيانات `Replicated`، فسيُنشأ تلقائيًا cluster يضم النسخ المتماثلة من جميع المجموعات. [#64312](https://github.com/ClickHouse/ClickHouse/pull/64312) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إضافة الإعدادين `parallel_replicas_custom_key_range_lower` و `parallel_replicas_custom_key_range_upper` للتحكم في كيفية قيام parallel replicas ذات الشظايا الديناميكية بموازاة الاستعلامات عند استخدام range filter. [#64604](https://github.com/ClickHouse/ClickHouse/pull/64604) ([josh-hildred](https://github.com/josh-hildred)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* إضافة إمكانية إعادة ترتيب الصفوف أثناء `insert` لتحسين الحجم من دون الإخلال بالترتيب الذي يحدده `PRIMARY KEY`. يتحكم في ذلك الإعداد `optimize_row_order` (معطّل افتراضيًا). [#63578](https://github.com/ClickHouse/ClickHouse/pull/63578) ([Igor Markelov](https://github.com/ElderlyPassionFruit)).
* إضافة قارئ Parquet أصلي يمكنه قراءة البيانات الثنائية لـ Parquet مباشرةً إلى أعمدة ClickHouse. يتحكم في ذلك الإعداد `input_format_parquet_use_native_reader` (معطّل افتراضيًا). [#60361](https://github.com/ClickHouse/ClickHouse/pull/60361) ([ZhiHong Zhang](https://github.com/copperybean)).
* دعم تحسين العدّ البسيط الجزئي عندما يكون مرشح `query` قادرًا على تحديد `ranges` دقيقة من جداول MergeTree. [#60463](https://github.com/ClickHouse/ClickHouse/pull/60463) ([Amos Bird](https://github.com/amosbird)).
* تقليل الحد الأقصى لاستهلاك الذاكرة في عمليات `INSERT` متعددة الخيوط عبر تجميع دفعات من عدة خيوط في محوّل واحد. [#61047](https://github.com/ClickHouse/ClickHouse/pull/61047) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* تقليل استهلاك الذاكرة عند استخدام تخزين الكائنات في Azure عبر استخدام تخصيص ذاكرة ثابت، مع تجنّب تخصيص `buffer` إضافي. [#63160](https://github.com/ClickHouse/ClickHouse/pull/63160) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* تقليل عدد استدعاءات الدوال الافتراضية في `ColumnNullable::size`. [#60556](https://github.com/ClickHouse/ClickHouse/pull/60556) ([HappenLee](https://github.com/HappenLee)).
* تسريع `splitByRegexp` عندما تكون وسيطة `regular expression` حرفًا واحدًا. [#62696](https://github.com/ClickHouse/ClickHouse/pull/62696) ([Robert Schulze](https://github.com/rschu1ze)).
* تسريع التجميع باستخدام مفاتيح 8-bit و16-bit عبر تتبّع الحدين الأدنى والأقصى للمفاتيح المستخدمة. يتيح ذلك تقليل عدد الخلايا التي يلزم التحقق منها. [#62746](https://github.com/ClickHouse/ClickHouse/pull/62746) ([Jiebin Sun](https://github.com/jiebinn)).
* تحسين العامل IN عندما يكون الطرف الأيسر `LowCardinality` والطرف الأيمن مجموعة من الثوابت. [#64060](https://github.com/ClickHouse/ClickHouse/pull/64060) ([Zhiguo Zhou](https://github.com/ZhiguoZh)).
* استخدام تجمّع خيوط لتهيئة جداول التجزئة وتدميرها داخل `ConcurrentHashJoin`. [#64241](https://github.com/ClickHouse/ClickHouse/pull/64241) ([Nikita Taranov](https://github.com/nickitat)).
* تحسين عمليات الدمج العمودي في الجداول ذات الأعمدة المتناثرة. [#64311](https://github.com/ClickHouse/ClickHouse/pull/64311) ([Anton Popov](https://github.com/CurtizJ)).
* تفعيل الجلب المسبق للبيانات من `remote filesystem` أثناء عمليات الدمج العمودي. يحسّن ذلك زمن الاستجابة لعمليات الدمج العمودي في الجداول التي تُخزَّن بياناتها على `remote filesystem`. [#64314](https://github.com/ClickHouse/ClickHouse/pull/64314) ([Anton Popov](https://github.com/CurtizJ)).
* تقليل الاستدعاءات المتكررة إلى `isDefault` في `ColumnSparse::filter` لتحسين الأداء. [#64426](https://github.com/ClickHouse/ClickHouse/pull/64426) ([Jiebin Sun](https://github.com/jiebinn)).
* تسريع أوامر keeper-client ‏`find_super_nodes` و`find_big_family` عبر تنفيذ عدة طلبات `getChildren` غير متزامنة. [#64628](https://github.com/ClickHouse/ClickHouse/pull/64628) ([Alexander Gololobov](https://github.com/davenger)).
* تحسين الدالة `least`/`greatest` لوسائط الأنواع الرقمية Nullable. [#64668](https://github.com/ClickHouse/ClickHouse/pull/64668) ([KevinyhZou](https://github.com/KevinyhZou)).
* السماح بدمج خطوتَي تصفية متتاليتين في `query plan`. يحسّن ذلك تحسين `filter-push-down` إذا أمكن دفع `filter condition` إلى الأسفل من الخطوة الأصل. [#64760](https://github.com/ClickHouse/ClickHouse/pull/64760) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إزالة تحسين غير مناسب في تنفيذ `vertical final`، وإعادة تفعيل خوارزمية `vertical final` افتراضيًا. [#64783](https://github.com/ClickHouse/ClickHouse/pull/64783) ([Duc Canh Le](https://github.com/canhld94)).
* إزالة عُقد ALIAS من تعبير التصفية. يؤدي ذلك إلى تحسين طفيف في أداء الاستعلامات التي تستخدم `PREWHERE` (مع analyzer الجديد). [#64793](https://github.com/ClickHouse/ClickHouse/pull/64793) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إعادة تفعيل التخزين المؤقت للجلسات في OpenSSL. [#65111](https://github.com/ClickHouse/ClickHouse/pull/65111) ([Robert Schulze](https://github.com/rschu1ze)).
* إضافة إعدادات لتعطيل materialization لـ skip indexes والإحصاءات عند insert (`materialize_skip_indexes_on_insert` و `materialize_statistics_on_insert`). [#64391](https://github.com/ClickHouse/ClickHouse/pull/64391) ([Anton Popov](https://github.com/CurtizJ)).
* استخدام حجم الذاكرة المخصَّصة لحساب حجم row group وتقليل Peak memory لكاتب Parquet في الوضع single-threaded. [#64424](https://github.com/ClickHouse/ClickHouse/pull/64424) ([LiuNeng](https://github.com/liuneng1994)).
* تحسين مكرِّر column المتناثر لتقليل عدد استدعاءات `size`. [#64497](https://github.com/ClickHouse/ClickHouse/pull/64497) ([Jiebin Sun](https://github.com/jiebinn)).
* تحديث condition لاستخدام النسخ من جانب الخادم للنسخ الاحتياطية إلى Azure blob storage. [#64518](https://github.com/ClickHouse/ClickHouse/pull/64518) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* تحسين استخدام الذاكرة في عمليات vertical merge للجداول التي تحتوي على عدد كبير من skip indexes. [#64580](https://github.com/ClickHouse/ClickHouse/pull/64580) ([Anton Popov](https://github.com/CurtizJ)).

<div id="improvement-1">
  #### تحسين
</div>

* سيعرض `SHOW CREATE TABLE` عند تنفيذه على جداول النظام الآن تعليقًا فريدًا ومفيدًا جدًا لكل جدول، يوضح سبب الحاجة إلى هذا الجدول. [#63788](https://github.com/ClickHouse/ClickHouse/pull/63788) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* يمكن الآن أن تكون الوسيطة الثانية (scale) للدوال `round()`, `roundBankers()`, `floor()`, `ceil()` و `trunc()` غير ثابتة. [#64798](https://github.com/ClickHouse/ClickHouse/pull/64798) ([Mikhail Gorshkov](https://github.com/mgorshkov)).
* إعادة التحميل الفوري لسياسة التخزين لجداول `Distributed` عند إضافة قرص جديد. [#58285](https://github.com/ClickHouse/ClickHouse/pull/58285) ([Duc Canh Le](https://github.com/canhld94)).
* تجنّب احتمال حدوث حالة توقف تام أثناء تحليل الفهرس في MergeTree عند جدولة الخيوط في خدمة مثقلة. [#59427](https://github.com/ClickHouse/ClickHouse/pull/59427) ([Sean Haynes](https://github.com/seandhaynes)).
* عدة إصلاحات طفيفة لحالات طرفية في دعم وكيل S3 & الأنفاق. [#63427](https://github.com/ClickHouse/ClickHouse/pull/63427) ([Arthur Passos](https://github.com/arthurpassos)).
* تحسين وضوح إعادة الإرسال في io\_uring. أُعيدت تسمية حدث profile ‏`IOUringSQEsResubmits` -> `IOUringSQEsResubmitsAsync` مع إضافة حدث جديد `IOUringSQEsResubmitsSync`. [#63699](https://github.com/ClickHouse/ClickHouse/pull/63699) ([Tomer Shafir](https://github.com/tomershafir)).
* أُضيف إعداد جديد، `metadata_keep_free_space_bytes`، للإبقاء على مساحة خالية على قرص تخزين البيانات الوصفية. [#64128](https://github.com/ClickHouse/ClickHouse/pull/64128) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* إضافة مقاييس لتتبّع عدد الأدلة التي ينشئها ويزيلها تخزين البيانات الوصفية `plain_rewritable`، وعدد الإدخالات في الخريطة الموجودة في الذاكرة من المحلي إلى البعيد. [#64175](https://github.com/ClickHouse/ClickHouse/pull/64175) ([Julia Kartseva](https://github.com/jkartseva)).
* أصبحت ذاكرة التخزين المؤقت للاستعلامات تعتبر الآن الاستعلامات المتطابقة ذات الإعدادات المختلفة استعلاماتٍ مختلفة. ويزيد هذا من المتانة في الحالات التي تؤثر فيها إعدادات مختلفة (مثل `limit` أو `additional_table_filters`) في نتيجة الاستعلام. [#64205](https://github.com/ClickHouse/ClickHouse/pull/64205) ([Robert Schulze](https://github.com/rschu1ze)).
* دعم رمز الخطأ غير القياسي `QpsLimitExceeded` في object storage بوصفه خطأً قابلاً لإعادة المحاولة. [#64225](https://github.com/ClickHouse/ClickHouse/pull/64225) ([Sema Checherinda](https://github.com/CheSema)).
* منع تحويل جدول MergeTree إلى replicated إذا كان مسار ZooKeeper لهذا الجدول موجودًا بالفعل. [#64244](https://github.com/ClickHouse/ClickHouse/pull/64244) ([Kirill](https://github.com/kirillgarbar)).
* أُضيف إعداد جديد `input_format_parquet_prefer_block_bytes` للتحكم في متوسط عدد بايتات block الناتج، كما عُدّلت القيمة الافتراضية لـ `input_format_parquet_max_block_size` إلى 65409. [#64427](https://github.com/ClickHouse/ClickHouse/pull/64427) ([LiuNeng](https://github.com/liuneng1994)).
* السماح بتجاوز الوكيل للمضيفين المحددين في متغير البيئة `no_proxy` وفي إعدادات وكيل ClickHouse. [#63314](https://github.com/ClickHouse/ClickHouse/pull/63314) ([Arthur Passos](https://github.com/arthurpassos)).
* تشغيل Keeper دائمًا بعدد كافٍ من الخيوط في مجمع الخيوط العام. [#64444](https://github.com/ClickHouse/ClickHouse/pull/64444) ([Duc Canh Le](https://github.com/canhld94)).
* لا تؤثر الإعدادات من config المستخدم في عمليات الدمج والتعديلات لـ `MergeTree` فوق object storage. [#64456](https://github.com/ClickHouse/ClickHouse/pull/64456) ([alesapin](https://github.com/alesapin)).
* دعم رمز الخطأ غير القياسي `TotalQpsLimitExceeded` في تخزين الكائنات باعتباره خطأً قابلاً لإعادة المحاولة. [#64520](https://github.com/ClickHouse/ClickHouse/pull/64520) ([Sema Checherinda](https://github.com/CheSema)).
* تحديث لوحة المعلومات المتقدمة لكلٍّ من الإصدار مفتوح المصدر وClickHouse Cloud لتشمل مخططًا لـ 'الحد الأقصى لاتصالات الشبكة المتزامنة'. [#64610](https://github.com/ClickHouse/ClickHouse/pull/64610) ([Thom O'Connor](https://github.com/thomoco)).
* تحسين تقرير التقدّم في `zeros_mt` و`generateRandom`. [#64804](https://github.com/ClickHouse/ClickHouse/pull/64804) ([Raúl Marín](https://github.com/Algunenano)).
* إضافة مقياس غير متزامن `jemalloc.profile.active` لإظهار ما إذا كان أخذ العينات نشطًا حاليًا. وهذه آلية تفعيل إضافية إلى جانب `prof.active`؛ ويجب أن يكون كلاهما نشطًا لكي يأخذ خيط التنفيذ المستدعي عينات. [#64842](https://github.com/ClickHouse/ClickHouse/pull/64842) ([Unalian](https://github.com/Unalian)).
* إزالة تعليم `allow_experimental_join_condition` على أنه مهم. وقد يكون هذا التعليم قد منع تنفيذ الاستعلامات الموزعة بنجاح في عنقود ذي إصدارات مختلطة. [#65008](https://github.com/ClickHouse/ClickHouse/pull/65008) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إضافة مقاييس غير متزامنة على الخادم باسم `DiskGetObjectThrottler*` و`DiskGetObjectThrottler*` تعكس حد معدل الطلبات في الثانية المحدد عبر إعدادات القرص `s3_max_get_rps` و`s3_max_put_rps`، وكذلك العدد المتاح حاليًا من الطلبات التي يمكن إرسالها دون بلوغ حد تقييد المعدل على القرص. وتُعرَّف هذه المقاييس لكل قرص لديه حد مُهيأ. [#65050](https://github.com/ClickHouse/ClickHouse/pull/65050) ([Sergei Trifonov](https://github.com/serxa)).
* تهيئة جامع التتبّع العام لـ `Poco::ThreadPool` (مطلوب لـ Keeper وغيرها). [#65239](https://github.com/ClickHouse/ClickHouse/pull/65239) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة تحقّق عند إنشاء مستخدم باستخدام `bcrypt_hash`. [#65242](https://github.com/ClickHouse/ClickHouse/pull/65242) ([Raúl Marín](https://github.com/Algunenano)).
* إضافة أحداث profile لعدد الصفوف المقروءة أثناء/بعد `PREWHERE`. [#64198](https://github.com/ClickHouse/ClickHouse/pull/64198) ([Nikita Taranov](https://github.com/nickitat)).
* طباعة الاستعلام في `EXPLAIN PLAN` مع النسخ المتماثلة المتوازية. [#64298](https://github.com/ClickHouse/ClickHouse/pull/64298) ([vdimir](https://github.com/vdimir)).
* إعادة تسمية `allow_deprecated_functions` إلى `allow_deprecated_error_prone_window_functions`. [#64358](https://github.com/ClickHouse/ClickHouse/pull/64358) ([Raúl Marín](https://github.com/Algunenano)).
* تطبيق الإعداد `max_read_buffer_size` أيضًا على واصفات الملفات في دالة الجدول `file`. [#64532](https://github.com/ClickHouse/ClickHouse/pull/64532) ([Azat Khuzhin](https://github.com/azat)).
* تعطيل المعاملات لوحدات التخزين غير المدعومة حتى بالنسبة إلى العروض المادية. [#64918](https://github.com/ClickHouse/ClickHouse/pull/64918) ([alesapin](https://github.com/alesapin)).
* حظر العبارة `QUALIFY` في المحلّل القديم. كان المحلّل القديم يتجاهل `QUALIFY`، لذا كان من الممكن أن يؤدي ذلك إلى إزالة غير متوقعة للبيانات في mutations. [#65356](https://github.com/ClickHouse/ClickHouse/pull/65356) ([Dmitry Novik](https://github.com/novikd)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release-5">
  #### إصلاح خطأ (خلل ظاهر للمستخدم في إصدار مستقر رسمي)
</div>

* تم إصلاح خلل في مكتبة Apache ORC: أُصلح حساب إحصاءات ORC عند الكتابة للأنواع غير الموقعة على جميع المنصات، ولنوع Int8 على ARM. [#64563](https://github.com/ClickHouse/ClickHouse/pull/64563) ([Michael Kolupaev](https://github.com/al13n321)).
* أُعيد السلوك السابق لكيفية عمل ClickHouse وتفسيره لـ Tuples في CSV format. ويؤدي هذا التغيير فعليًا إلى التراجع عن [https://github.com/ClickHouse/ClickHouse/pull/60994،](https://github.com/ClickHouse/ClickHouse/pull/60994،) مع إتاحته فقط عبر بعض الإعدادات: `output_format_csv_serialize_tuple_into_separate_columns`, `input_format_csv_deserialize_separate_columns_into_tuple` و `input_format_csv_try_infer_strings_from_quoted_tuples`. [#65170](https://github.com/ClickHouse/ClickHouse/pull/65170) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح خطأ في الأذونات يتيح لمستخدم، في حالة معيّنة، تصعيد امتيازاته على قاعدة البيانات default دون المنح اللازمة. [#64769](https://github.com/ClickHouse/ClickHouse/pull/64769) ([pufit](https://github.com/pufit)).
* إصلاح تعطل مرتبط بـ UniqInjectiveFunctionsEliminationPass و uniqCombined. [#65188](https://github.com/ClickHouse/ClickHouse/pull/65188) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح خلل في ClickHouse Keeper يتسبب في عدم تطابق digest أثناء إغلاق الجلسة. [#65198](https://github.com/ClickHouse/ClickHouse/pull/65198) ([Aleksei Filatov](https://github.com/aalexfvk)).
* استخدام محاذاة الذاكرة الصحيحة لمُعدِّل Distinct. سابقًا، كان من الممكن أن يحدث تعطل بسبب تخصيص غير صالح للذاكرة عند استخدام هذا المُعدِّل. [#65379](https://github.com/ClickHouse/ClickHouse/pull/65379) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح تعطل مع `DISTINCT` وwindow functions. [#64767](https://github.com/ClickHouse/ClickHouse/pull/64767) ([Igor Nikonov](https://github.com/devcrafter)).
* تم إصلاح مشكلة عدم عمل skip index من نوع 'set' مع IN و indexHint(). [#62083](https://github.com/ClickHouse/ClickHouse/pull/62083) ([Michael Kolupaev](https://github.com/al13n321)).
* دعم تنفيذ function أثناء إسناد قيمة parameterized view. [#63502](https://github.com/ClickHouse/ClickHouse/pull/63502) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* تم إصلاح تتبع الذاكرة في Parquet. [#63584](https://github.com/ClickHouse/ClickHouse/pull/63584) ([Michael Kolupaev](https://github.com/al13n321)).
* تم إصلاح قراءة columns من النوع `Tuple(Map(LowCardinality(String), String), ...)`. [#63956](https://github.com/ClickHouse/ClickHouse/pull/63956) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح خطأ `Cyclic aliases` للأسماء المستعارة الدورية من أنواع مختلفة (expression و function). [#63993](https://github.com/ClickHouse/ClickHouse/pull/63993) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* سيستخدم هذا الإصلاح Context مُعاد تعريفه بشكل صحيح مع المُعرِّف المناسب لكل view على حدة ضمن query pipeline. [#64079](https://github.com/ClickHouse/ClickHouse/pull/64079) ([pufit](https://github.com/pufit)).
* إصلاح analyzer: تم إصلاح خطأ "Not found column" عند استخدام INTERPOLATE. [#64096](https://github.com/ClickHouse/ClickHouse/pull/64096) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح إنشاء النسخ الاحتياطية في S3 buckets باستخدام بيانات اعتماد تختلف عن بيانات اعتماد disk الذي يحتوي على الملف. [#64153](https://github.com/ClickHouse/ClickHouse/pull/64153) ([Antonio Andelic](https://github.com/antonio2368)).
* أصبح query cache الآن يميّز بين استعلامين متطابقين إذا كانا موجَّهين إلى قاعدتي بيانات مختلفتين. وكان من الممكن استغلال السلوك السابق لتجاوز الامتيازات المفقودة اللازمة لقراءة البيانات من جدول. [#64199](https://github.com/ClickHouse/ClickHouse/pull/64199) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح احتمال التوقف بسبب استثناء غير ملتقط في \~WriteBufferFromFileDescriptor داخل StatusFile. [#64206](https://github.com/ClickHouse/ClickHouse/pull/64206) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح الخطأ `duplicate alias` في الاستعلامات الموزعة التي تتضمن `ARRAY JOIN`. [#64226](https://github.com/ClickHouse/ClickHouse/pull/64226) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح accurateCast غير المتوقَّع من سلسلة نصية إلى عدد صحيح. [#64255](https://github.com/ClickHouse/ClickHouse/pull/64255) ([wudidapaopao](https://github.com/wudidapaopao)).
* إصلاح تبسيط CNF في حال احتوت أي مجموعة OR على ذرات متنافية فيما بينها. [#64256](https://github.com/ClickHouse/ClickHouse/pull/64256) ([Eduard Karacharov](https://github.com/korowa)).
* إصلاح التحقق من حجم شجرة الاستعلام. [#64377](https://github.com/ClickHouse/ClickHouse/pull/64377) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح الخطأ `Logical error: Bad cast` في جدول `Buffer` مع `PREWHERE`. [#64388](https://github.com/ClickHouse/ClickHouse/pull/64388) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* منع التسجيل التكراري في `blob_storage_log` عندما يكون مخزنًا على تخزين الكائنات. [#64393](https://github.com/ClickHouse/ClickHouse/pull/64393) ([vdimir](https://github.com/vdimir)).
* إصلاح استعلامات `CREATE TABLE AS` للجداول التي تحتوي على تعبيرات افتراضية. [#64455](https://github.com/ClickHouse/ClickHouse/pull/64455) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح سلوك `optimize_read_in_order` مع ORDER BY ... NULLS FIRST / LAST في الجداول ذات المفاتيح `Nullable`. [#64483](https://github.com/ClickHouse/ClickHouse/pull/64483) ([Eduard Karacharov](https://github.com/korowa)).
* إصلاح الخطأين `Expression nodes list expected 1 projection names` و `Unknown expression or identifier` في الاستعلامات التي تحتوي على أسماء مستعارة لـ `GLOBAL IN.`. [#64517](https://github.com/ClickHouse/ClickHouse/pull/64517) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح الخطأ `Cannot find column` في الاستعلامات الموزعة التي تحتوي على CTE ثابت في مفتاح `GROUP BY`. [#64519](https://github.com/ClickHouse/ClickHouse/pull/64519) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح حلقة التعطل عند الاستعادة من نسخة احتياطية عندما تُمنع العملية بسبب إنشاء MV بمُعرِّف definer لم تتم استعادته بعد. [#64595](https://github.com/ClickHouse/ClickHouse/pull/64595) ([pufit](https://github.com/pufit)).
* إصلاح ناتج الدالة `formatDateTimeInJodaSyntax` عندما يُنتج المُنسِّق عددًا فرديًا من الأحرف ويكون الحرف الأخير `0`. على سبيل المثال، `SELECT formatDateTimeInJodaSyntax(toDate('2012-05-29'), 'D')` تُرجع الآن `150` بشكل صحيح بدلًا من `15` سابقًا. [#64614](https://github.com/ClickHouse/ClickHouse/pull/64614) ([LiuNeng](https://github.com/liuneng1994)).
* عدم إعادة كتابة التجميع إذا كان المُركِّب `-If` مستخدمًا بالفعل. [#64638](https://github.com/ClickHouse/ClickHouse/pull/64638) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح استنتاج النوع للقيم `float` (في حال كان `buffer` صغيرًا، مثل `--max_read_buffer_size 1`). [#64641](https://github.com/ClickHouse/ClickHouse/pull/64641) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح خلل كان قد يؤدي إلى عدم عمل TTLs مع التعبيرات. [#64694](https://github.com/ClickHouse/ClickHouse/pull/64694) ([alesapin](https://github.com/alesapin)).
* إصلاح إزالة تعبيري `WHERE` و`PREWHERE` عندما تكون قيمتهما `true` دائمًا (في المُحلِّل الجديد). [#64695](https://github.com/ClickHouse/ClickHouse/pull/64695) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح الاستبعاد المفرط للأجزاء بواسطة فهارس النص المعتمدة على الرموز (`ngrambf` , `full_text`) عند التصفية حسب ناتج `startsWith` و`endsWith` و`match` و`multiSearchAny`. [#64720](https://github.com/ClickHouse/ClickHouse/pull/64720) ([Eduard Karacharov](https://github.com/korowa)).
* تم إصلاح السلوك غير الصحيح لهروب ANSI CSI في الدالة `UTF8::computeWidth`. [#64756](https://github.com/ClickHouse/ClickHouse/pull/64756) ([Shaun Struwig](https://github.com/Blargian)).
* تم إصلاح حالة إزالة غير صحيحة لـ `ORDER BY` / `LIMIT BY` عبر الاستعلامات الفرعية. [#64766](https://github.com/ClickHouse/ClickHouse/pull/64766) ([Raúl Marín](https://github.com/Algunenano)).
* تم إصلاح عملية ربط غير متساوٍ (تجريبية) مع الاستعلامات الفرعية للمجموعات الموجودة ضمن شروط الربط المختلطة. [#64775](https://github.com/ClickHouse/ClickHouse/pull/64775) ([lgbo](https://github.com/lgbo-ustc)).
* تم إصلاح تعطل في ذاكرة تخزين مؤقت محلية فوق القرص `plain_rewritable`. [#64778](https://github.com/ClickHouse/ClickHouse/pull/64778) ([Julia Kartseva](https://github.com/jkartseva)).
* إصلاح في Keeper: إرجاع القيمة الصحيحة لـ `zk_latest_snapshot_size` في الأمر `mntr`. [#64784](https://github.com/ClickHouse/ClickHouse/pull/64784) ([Antonio Andelic](https://github.com/antonio2368)).
* تم إصلاح الخطأ `Cannot find column` في استعلام موزع مع `ARRAY JOIN` على عمود `Nested`. يصلح [#64755](https://github.com/ClickHouse/ClickHouse/issues/64755). [#64801](https://github.com/ClickHouse/ClickHouse/pull/64801) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح تسرّب للذاكرة في سياسة التخزين المؤقت slru. [#64803](https://github.com/ClickHouse/ClickHouse/pull/64803) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تم إصلاح احتمال تتبع الذاكرة بشكل غير صحيح في عدة أنواع من الاستعلامات: الاستعلامات التي تقرأ أي بيانات من S3، والاستعلامات عبر بروتوكول HTTP، وasynchronous inserts. [#64844](https://github.com/ClickHouse/ClickHouse/pull/64844) ([Anton Popov](https://github.com/CurtizJ)).
* تم إصلاح الخطأ `Block structure mismatch` في الاستعلامات التي تقرأ باستخدام `PREWHERE` من العرض المادي عندما يحتوي العرض المادي على أعمدة من أنواع تختلف عن جدول المصدر. يصلح [#64611](https://github.com/ClickHouse/ClickHouse/issues/64611). [#64855](https://github.com/ClickHouse/ClickHouse/pull/64855) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح تعطل نادر عندما يحتوي الجدول على TTL مع subquery + قاعدة بيانات replicated + parallel replicas + المحلّل. هذه الحالة نادرة جدًا فعلًا، لكن يُرجى عدم استخدام TTLs مع الاستعلامات الفرعية. [#64858](https://github.com/ClickHouse/ClickHouse/pull/64858) ([alesapin](https://github.com/alesapin)).
* تم إصلاح تكرار أحداث `Delete` في `blob_storage_log` عند وجود دفعة حذف كبيرة. [#64924](https://github.com/ClickHouse/ClickHouse/pull/64924) ([vdimir](https://github.com/vdimir)).
* تم إصلاح الخطأ `Session moved to another server` من \[Zoo]Keeper، والذي قد يحدث بعد بدء تشغيل الخادم عندما يحتوي ملف الإعدادات على تضمينات من \[Zoo]Keeper. [#64986](https://github.com/ClickHouse/ClickHouse/pull/64986) ([Alexander Tokmakov](https://github.com/tavplubix)).
* تم إصلاح الاستعلام `ALTER MODIFY COMMENT` الذي كان معطّلًا مع `VIEW`ات ذات معلمات في [https://github.com/ClickHouse/ClickHouse/pull/54211](https://github.com/ClickHouse/ClickHouse/pull/54211). [#65031](https://github.com/ClickHouse/ClickHouse/pull/65031) ([Nikolay Degterinsky](https://github.com/evillique)).
* تم إصلاح `host_id` في DatabaseReplicated عندما تكون المعلمة `cluster_secure_connection` مُمكّنة. سابقًا، لم تكن جميع الاتصالات داخل الـ cluster التي ينشئها DatabaseReplicated آمنة، حتى إذا كانت المعلمة مُمكّنة. [#65054](https://github.com/ClickHouse/ClickHouse/pull/65054) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح الخطأ `Not-ready Set` بعد تحسين `PREWHERE` في StorageMerge. [#65057](https://github.com/ClickHouse/ClickHouse/pull/65057) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تجنّب الكتابة إلى المخزن المؤقت المُنهى في وحدات التخزين الشبيهة بـ File. [#65063](https://github.com/ClickHouse/ClickHouse/pull/65063) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح احتمال أن تصبح مدة الاستعلام غير منتهية في حالة الأسماء المستعارة الدورية. يُصلح [#64849](https://github.com/ClickHouse/ClickHouse/issues/64849). [#65081](https://github.com/ClickHouse/ClickHouse/pull/65081) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح الخطأ `Unknown expression identifier` في الاستعلامات البعيدة مع `INTERPOLATE (alias)` (المحلل الجديد). يُصلح [#64636](https://github.com/ClickHouse/ClickHouse/issues/64636). [#65090](https://github.com/ClickHouse/ClickHouse/pull/65090) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح نقل العمليات الحسابية إلى خارج التجميع. في المحلل الجديد، كان هذا التحسين يُطبَّق مرة واحدة فقط. [#65104](https://github.com/ClickHouse/ClickHouse/pull/65104) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح إعادة كتابة اسم الدالة التجميعية في المحلل الجديد. [#65110](https://github.com/ClickHouse/ClickHouse/pull/65110) ([Dmitry Novik](https://github.com/novikd)).
* الاستجابة برمز 5xx بدلًا من 200 OK عند حدوث مهلة استلام أثناء قراءة (أجزاء من) جسم الطلب من مقبس العميل. [#65118](https://github.com/ClickHouse/ClickHouse/pull/65118) ([Julian Maicher](https://github.com/jmaicher)).
* إصلاح احتمال حدوث تعطل في الطلبات الاحتياطية. [#65206](https://github.com/ClickHouse/ClickHouse/pull/65206) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الخلل في التقييم المختصر لقاموسي Hashed و Hashed\_Array، والذي قد يقرأ قيمة رقمية غير مهيأة، مما يؤدي إلى أخطاء متنوعة. [#65256](https://github.com/ClickHouse/ClickHouse/pull/65256) ([jsc0218](https://github.com/jsc0218)).
* يضمن هذا التغيير أن يكون نوع الثابت (المعامل الثاني لعامل `IN`) مرئيًا دائمًا أثناء عملية تحويل النوع لعامل `IN`. وإلا، فقد يؤدي فقدان معلومات النوع إلى فشل بعض التحويلات، مثل التحويل من DateTime إلى Date. هذا يُصلح ([#64487](https://github.com/ClickHouse/ClickHouse/issues/64487)). [#65315](https://github.com/ClickHouse/ClickHouse/pull/65315) ([pn](https://github.com/chloro-pn)).

<div id="buildtestingpackaging-improvement-2">
  #### تحسينات البناء/الاختبار/التحزيم
</div>

* إضافة دعم LLVM XRay. [#64592](https://github.com/ClickHouse/ClickHouse/pull/64592) [#64837](https://github.com/ClickHouse/ClickHouse/pull/64837) ([Tomer Shafir](https://github.com/tomershafir)).
* توحيد تنفيذات التخزين s3/hdfs/azure في فئة واحدة تعمل مع IObjectStorage. وينطبق الأمر نفسه على \*Cluster وبحيرات البيانات ووحدات تخزين Queue. [#59767](https://github.com/ClickHouse/ClickHouse/pull/59767) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إعادة هيكلة مكوّن كتابة جزء البيانات لإزالة التبعيات على MergeTreeData و DataPart. [#63620](https://github.com/ClickHouse/ClickHouse/pull/63620) ([Alexander Gololobov](https://github.com/davenger)).
* إعادة هيكلة `KeyCondition` وتحليل المفتاح لتحسين `PartitionPruner` وتحسين العدّ البسيط. هذا منفصل عن [#60463](https://github.com/ClickHouse/ClickHouse/issues/60463). [#61459](https://github.com/ClickHouse/ClickHouse/pull/61459) ([Amos Bird](https://github.com/amosbird)).
* إضافة تأكيدات للتحقق من أن جميع الدوال تُستدعى بأعمدة ذات الحجم الصحيح. [#63723](https://github.com/ClickHouse/ClickHouse/pull/63723) ([Raúl Marín](https://github.com/Algunenano)).
* جعل خدمة `network` مطلوبة عند استخدام سكربت التهيئة `rc` لبدء خادوم ClickHouse كعملية خدمية. [#60650](https://github.com/ClickHouse/ClickHouse/pull/60650) ([Chun-Sheng, Li](https://github.com/peter279k)).
* تقليل حجم بعض الاختبارات البطيئة. [#64387](https://github.com/ClickHouse/ClickHouse/pull/64387) [#64452](https://github.com/ClickHouse/ClickHouse/pull/64452) ([Raúl Marín](https://github.com/Algunenano)).
* إعادة تشغيل سجلات ZooKeeper باستخدام keeper-bench. [#62481](https://github.com/ClickHouse/ClickHouse/pull/62481) ([Antonio Andelic](https://github.com/antonio2368)).

### <a id="245" /> إصدار ClickHouse 24.5، 2024-05-30. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.5/)، [الفيديو](https://www.youtube.com/watch?v=dURnKjLuZLg)

<Frame>
  <iframe src="https://www.youtube.com/embed/dURnKjLuZLg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* أُعيدت تسمية "الفهارس المعكوسة" إلى "فهارس النص الكامل" لأنه اسم أقل تقنية وأكثر سهولة للمستخدم. ويؤدي ذلك أيضًا إلى تغيير البيانات الوصفية الداخلية للجدول، كما يتسبب في تعطّل الجداول التي تحتوي على فهارس معكوسة (تجريبية) موجودة مسبقًا. يُرجى التأكد من إزالة هذه الفهارس قبل الترقية ثم إعادة إنشائها بعد الترقية. [#62884](https://github.com/ClickHouse/ClickHouse/pull/62884) ([Robert Schulze](https://github.com/rschu1ze)).
* أُهمل استخدام الدوال `neighbor` و `runningAccumulate` و `runningDifferenceStartingWithFirstValue` و `runningDifference` (لأنها عرضة للأخطاء). ويجب استخدام دوال window function المناسبة بدلًا منها. ولإعادة تفعيلها، اضبط `allow_deprecated_error_prone_window_functions = 1` أو اضبط `compatibility = '24.4'` أو إصدارًا أقدم. [#63132](https://github.com/ClickHouse/ClickHouse/pull/63132) ([Nikita Taranov](https://github.com/nickitat)).
* ستصبح الاستعلامات على `system.columns` أسرع عند وجود عدد كبير من الأعمدة، لكن ذلك ينطبق عندما لا يكون `SHOW TABLES` ممنوحًا للعديد من قواعد البيانات أو الجداول. لاحظ أنه في الإصدارات السابقة، إذا منحت `SHOW COLUMNS` لأعمدة فردية من دون منح `SHOW TABLES` للجداول المقابلة، فسيعرض جدول `system.columns` هذه الأعمدة، أما في الإصدار الجديد فسيتخطى الجدول بالكامل. كما أُزيلت رسائل trace log "Access granted" و "Access denied" التي كانت تُبطئ الاستعلامات. [#63439](https://github.com/ClickHouse/ClickHouse/pull/63439) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* يضيف تنسيق `Form` لقراءة/كتابة سجل واحد بتنسيق `application/x-www-form-urlencoded`. [#60199](https://github.com/ClickHouse/ClickHouse/pull/60199) ([Shaun Struwig](https://github.com/Blargian)).
* أُضيفت إمكانية استخدام الضغط في `CROSS JOIN`. [#60459](https://github.com/ClickHouse/ClickHouse/pull/60459) ([p1rattttt](https://github.com/p1rattttt)).
* أُضيفت إمكانية تنفيذ `CROSS JOIN` باستخدام الملفات المؤقتة إذا تجاوز الحجم الحدود المسموح بها. [#63432](https://github.com/ClickHouse/ClickHouse/pull/63432) ([p1rattttt](https://github.com/p1rattttt)).
* دعم `join` بشروط عدم مساواة تتضمن أعمدة من كلٍّ من الجدول الأيسر والجدول الأيمن، مثل: `t1.y < t2.y`. للتفعيل، استخدم `SET allow_experimental_join_condition = 1`. [#60920](https://github.com/ClickHouse/ClickHouse/pull/60920) ([lgbo](https://github.com/lgbo-ustc)).
* يمكن الآن أن تكون مفاتيح `Map` من الأنواع `Float32`, `Float64`, `Array(T)`, `Map(K, V)` و `Tuple(T1, T2, ...)`. يُغلق [#54537](https://github.com/ClickHouse/ClickHouse/issues/54537). [#59318](https://github.com/ClickHouse/ClickHouse/pull/59318) ([李扬](https://github.com/taiyang-li)).
* تقديم التحميل المجمّع إلى `EmbeddedRocksDB` عبر إنشاء ملف SST وإدخاله بدلًا من الاعتماد على memtable المضمّنة في rocksdb. يساعد ذلك على زيادة سرعة الاستيراد، خصوصًا مع استعلامات insert طويلة التشغيل إلى جداول StorageEmbeddedRocksDB. كما أُضيفت أيضًا table settings لـ `EmbeddedRocksDB`. [#59163](https://github.com/ClickHouse/ClickHouse/pull/59163) [#63324](https://github.com/ClickHouse/ClickHouse/pull/63324) ([Duc Canh Le](https://github.com/canhld94)).
* يمكن للمستخدم الآن تحليل CRLF مع تنسيق TSV باستخدام الإعداد `input_format_tsv_crlf_end_of_line`. يُغلق [#56257](https://github.com/ClickHouse/ClickHouse/issues/56257). [#59747](https://github.com/ClickHouse/ClickHouse/pull/59747) ([Shaun Struwig](https://github.com/Blargian)).
* إعداد جديد `input_format_force_null_for_omitted_fields` يفرض قيم NULL للحقول المتروكة. [#60887](https://github.com/ClickHouse/ClickHouse/pull/60887) ([Constantine Peresypkin](https://github.com/pkit)).
* سابقًا، لم يكن تخزين S3 ودالة الجدول S3 يدعمان القراءة من ملفات الأرشيف مثل tarballs و zip و 7z. أما الآن، فأصبحا يتيحان استعراض الملفات داخل الأرشيفات في S3. [#62259](https://github.com/ClickHouse/ClickHouse/pull/62259) ([Daniil Ivanik](https://github.com/divanik)).
* دعم الدالة الشرطية `clamp`. [#62377](https://github.com/ClickHouse/ClickHouse/pull/62377) ([skyoct](https://github.com/skyoct)).
* إضافة output format `NPy`. [#62430](https://github.com/ClickHouse/ClickHouse/pull/62430) ([豪肥肥](https://github.com/HowePa)).
* أُضيف التنسيق `Raw` كاسم بديل لـ `TSVRaw`. [#63394](https://github.com/ClickHouse/ClickHouse/pull/63394) ([Unalian](https://github.com/Unalian)).
* أُضيفت دالة SQL جديدة `generateUUIDv7` لتوليد معرّفات UUID بالإصدار 7، أي معرّفات UUID قائمة على الطابع الزمني مع مكوّن عشوائي. كما أُضيفت دالة جديدة `UUIDToNum` لاستخراج البايتات من UUID، ودالة جديدة `UUIDv7ToDateTime` لاستخراج مكوّن الطابع الزمني من UUID بالإصدار 7. [#62852](https://github.com/ClickHouse/ClickHouse/pull/62852) ([Alexey Petrunyaka](https://github.com/pet74alex)).
* على Linux و MacOS، إذا كان stdout الخاص بالبرنامج مُعاد توجيهه إلى ملف ذي امتداد ضغط، فستُستخدم طريقة الضغط المقابلة بدلًا من عدم استخدام أي ضغط (بما يجعله يتصرف بصورة مشابهة لـ `INTO OUTFILE`). [#63662](https://github.com/ClickHouse/ClickHouse/pull/63662) ([v01dXYZ](https://github.com/v01dXYZ)).
* تغيير التحذير عند وجود عدد كبير من الجداول المرفقة لتمييز الجداول وطرق العرض والقواميس. [#64180](https://github.com/ClickHouse/ClickHouse/pull/64180) ([Francisco J. Jurado Moreno](https://github.com/Beetelbrox)).
* إضافة دعم للدالة `azureBlobStorage` في ClickHouse server لاستخدام هوية حمل العمل في Azure للمصادقة على Azure Blob Storage. إذا تم تعيين المعامل `use_workload_identity` في config، فستُستخدم [هوية حمل العمل](https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/identity/azure-identity#authenticate-azure-hosted-applications) للمصادقة. [#57881](https://github.com/ClickHouse/ClickHouse/pull/57881) ([Vinay Suryadevara](https://github.com/vinay92-ch)).
* إضافة معلومات TTL إلى الجدول `system.parts_columns`. [#63200](https://github.com/ClickHouse/ClickHouse/pull/63200) ([litlig](https://github.com/litlig)).

<div id="experimental-features">
  #### الميزات التجريبية
</div>

* تنفيذ نوع البيانات `Dynamic` الذي يتيح تخزين قيم من أي نوع داخله دون الحاجة إلى معرفة جميع الأنواع مسبقًا. يتوفر النوع `Dynamic` عبر الإعداد `allow_experimental_dynamic_type`. مرجع: [#54864](https://github.com/ClickHouse/ClickHouse/issues/54864). [#63058](https://github.com/ClickHouse/ClickHouse/pull/63058) ([Kruglov Pavel](https://github.com/Avogar)).
* أصبح من الممكن إنشاء قاعدة بيانات `MaterializedMySQL` دون اتصال بـ MySQL. [#63397](https://github.com/ClickHouse/ClickHouse/pull/63397) ([Kirill](https://github.com/kirillgarbar)).
* وضع علامة تلقائيًا على النسخة المتماثلة لقاعدة بيانات Replicated database باعتبارها مفقودة وبدء الاسترداد إذا فشلت مهمة DDL ما أكثر من `max_retries_before_automatic_recovery` (100 افتراضيًا) مرة متتالية بالخطأ نفسه. كذلك، أُصلح خطأ كان يمكن أن يتسبب في تخطّي إدخالات DDL عند إطلاق استثناء خلال مرحلة مبكرة من تنفيذ الإدخال. [#63549](https://github.com/ClickHouse/ClickHouse/pull/63549) ([Alexander Tokmakov](https://github.com/tavplubix)).
* احتساب الملفات الفاشلة ضمن `s3queue_tracked_file_ttl_sec` و `s3queue_traked_files_limit` في `StorageS3Queue`. [#63638](https://github.com/ClickHouse/ClickHouse/pull/63638) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* تقليل التزاحم في ذاكرة التخزين المؤقت لنظام الملفات (الجزء 4). يتيح ذلك إبقاء ذاكرة التخزين المؤقت لنظام الملفات غير ممتلئة حتى الحد الأقصى عبر تنفيذ عمليات إخلاء إضافية في الخلفية (يتم التحكم فيها بواسطة `keep_free_space_size(elements)_ratio`). وهذا يخفف الضغط الناتج عن حجز المساحة للاستعلامات (في method `tryReserve`). كما يتم ذلك بطريقة خالية من الأقفال قدر الإمكان، بحيث لا ينبغي أن يعيق الاستخدام العادي لذاكرة التخزين المؤقت. [#61250](https://github.com/ClickHouse/ClickHouse/pull/61250) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تخطي merging لكتل projection التي أُنشئت حديثًا أثناء عمليات `INSERT`. [#59405](https://github.com/ClickHouse/ClickHouse/pull/59405) ([Nikita Taranov](https://github.com/nickitat)).
* معالجة دوال السلاسل النصية `...UTF8` بأسلوب `ascii` إذا كانت سلاسل الإدخال كلها محارف ASCII. مستوحاة من [https://github.com/apache/doris/pull/29799](https://github.com/apache/doris/pull/29799). تسريع إجمالي بمقدار 1.07x\~1.62x. ويُلاحظ أن Peak memory usage انخفض في بعض الحالات. [#61632](https://github.com/ClickHouse/ClickHouse/pull/61632) ([李扬](https://github.com/taiyang-li)).
* تحسين أداء globs الخاصة بالتحديد (`{}`) في StorageS3. [#62120](https://github.com/ClickHouse/ClickHouse/pull/62120) ([Andrey Zvonov](https://github.com/zvonand)).
* يحتوي HostResolver على كل عنوان IP عدة مرات. إذا كان للمضيف البعيد عدة عناوين IP، وكان الوصول — لسبب ما (مثل قواعد firewall) — مسموحًا لبعضها وممنوعًا لبعضها الآخر، فلن يُعلَّم إلا السجل الأول لعناوين IP المحظورة على أنه فاشل، وتبقى لهذه العناوين في كل محاولة فرصة لأن تُختار (وتفشل مرة أخرى). وحتى مع إصلاح ذلك، يتم إسقاط DNS cache كل 120 ثانية، وقد تُختار عناوين IP هذه مرة أخرى. [#62652](https://github.com/ClickHouse/ClickHouse/pull/62652) ([Anton Ivashkin](https://github.com/ianton-ru)).
* إضافة configuration جديدة باسم `prefer_merge_sort_block_bytes` للتحكم في استهلاك الذاكرة وتسريع الفرز بمقدار مرتين عند merging عندما يكون هناك الكثير من الأعمدة. [#62904](https://github.com/ClickHouse/ClickHouse/pull/62904) ([LiuNeng](https://github.com/liuneng1994)).
* سيبدأ `clickhouse-local` بشكل أسرع. في الإصدارات السابقة، كان لا يحذف الأدلة المؤقتة بسبب خطأ. أما الآن فسيفعل ذلك. وهذا يغلق [#62941](https://github.com/ClickHouse/ClickHouse/issues/62941). [#63074](https://github.com/ClickHouse/ClickHouse/pull/63074) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحسينات دقيقة على الأداء للمحلل الجديد. [#63429](https://github.com/ClickHouse/ClickHouse/pull/63429) ([Raúl Marín](https://github.com/Algunenano)).
* سيعمل index analysis إذا تمت مقارنة `DateTime` مع `DateTime64`. وهذا يغلق [#63441](https://github.com/ClickHouse/ClickHouse/issues/63441). [#63443](https://github.com/ClickHouse/ClickHouse/pull/63443) [#63532](https://github.com/ClickHouse/ClickHouse/pull/63532) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تسريع الفهارس من النوع `set` قليلًا (بحوالي 1.5 مرة) عبر إزالة البيانات المهملة. [#64098](https://github.com/ClickHouse/ClickHouse/pull/64098) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إزالة نسخ البيانات عند الكتابة إلى ذاكرة التخزين المؤقت لنظام الملفات. [#63401](https://github.com/ClickHouse/ClickHouse/pull/63401) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ستستخدم backups مع Azure blob storage الآن النسخ المتعدد. [#64116](https://github.com/ClickHouse/ClickHouse/pull/64116) ([alesapin](https://github.com/alesapin)).
* السماح باستخدام النسخ الأصلي لـ Azure حتى مع اختلاف الحاويات. [#64154](https://github.com/ClickHouse/ClickHouse/pull/64154) ([alesapin](https://github.com/alesapin)).
* أخيرًا، تم تمكين النسخ الأصلي لـ Azure. [#64182](https://github.com/ClickHouse/ClickHouse/pull/64182) ([alesapin](https://github.com/alesapin)).

<div id="improvement">
  #### تحسينات
</div>

* السماح باستخدام `clickhouse-local` واختصاراته `clickhouse` و`ch` مع استعلام أو ملف استعلامات كوسيط موضعي. أمثلة: `ch "SELECT 1"`, `ch --param_test Hello "SELECT {test:String}"`, `ch query.sql`. يُغلق هذا [#62361](https://github.com/ClickHouse/ClickHouse/issues/62361). [#63081](https://github.com/ClickHouse/ClickHouse/pull/63081) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تمكين البيانات الوصفية plain\_rewritable لمخازن الكائنات المحلية وAzure ‏(azure\_blob\_storage). [#63365](https://github.com/ClickHouse/ClickHouse/pull/63365) ([Julia Kartseva](https://github.com/jkartseva)).
* دعم علامات الاقتباس Unicode بالنمط الإنجليزي، مثل “Hello” و'world'. هذا أمرٌ محلّ شك عموماً، لكنه مفيد عندما تكتب استعلامك في معالج نصوص مثل Google Docs. يُغلق هذا [#58634](https://github.com/ClickHouse/ClickHouse/issues/58634). [#63381](https://github.com/ClickHouse/ClickHouse/pull/63381) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* السماح بفواصل لاحقة في قائمة الأعمدة ضمن استعلام INSERT. على سبيل المثال، `INSERT INTO test (a, b, c, ) VALUES ...`. [#63803](https://github.com/ClickHouse/ClickHouse/pull/63803) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحسين رسائل الاستثناءات لتنسيق `Regexp`. [#63804](https://github.com/ClickHouse/ClickHouse/pull/63804) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* السماح بفواصل لاحقة في تنسيق `Values`. على سبيل المثال، أصبح هذا الاستعلام مسموحاً: `INSERT INTO test (a, b, c) VALUES (4, 5, 6,);`. [#63810](https://github.com/ClickHouse/ClickHouse/pull/63810) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* جعل RabbitMQ يرسل nack للرسائل المعطوبة. يُغلق [#45350](https://github.com/ClickHouse/ClickHouse/issues/45350). [#60312](https://github.com/ClickHouse/ClickHouse/pull/60312) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح crash في فكّ تكديس المكدس Asynchronous ‏(مثل عند استخدام sampling query profiler) أثناء تفسير معلومات Debug. يُغلق هذا [#60460](https://github.com/ClickHouse/ClickHouse/issues/60460). [#60468](https://github.com/ClickHouse/ClickHouse/pull/60468) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* رسائل منفصلة لخطأ S3 ‏'no key' في حالتي disk وstorage. [#61108](https://github.com/ClickHouse/ClickHouse/pull/61108) ([Sema Checherinda](https://github.com/CheSema)).
* سيعمل شريط التقدم مع الاستعلامات البسيطة التي تحتوي على LIMIT من `system.zeros` و`system.zeros_mt` (وهو يعمل بالفعل مع `system.numbers` و`system.numbers_mt`) ومع الدالة الجدولية `generateRandom`. وكميزة إضافية، إذا كان العدد الإجمالي للسجلات أكبر من حد `max_rows_to_read`، فسيتم throw an exception في وقت أبكر. يُغلق هذا [#58183](https://github.com/ClickHouse/ClickHouse/issues/58183). [#61823](https://github.com/ClickHouse/ClickHouse/pull/61823) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم "Merge Key" في تكوينات YAML (هذه ميزة غريبة في YAML، يُرجى تجاهلها). [#62685](https://github.com/ClickHouse/ClickHouse/pull/62685) ([Azat Khuzhin](https://github.com/azat)).
* تحسين رسالة الخطأ عند استخدام دالة غير deterministic مع مصدر Replicated. [#62896](https://github.com/ClickHouse/ClickHouse/pull/62896) ([Grégoire Pineau](https://github.com/lyrixx)).
* إصلاح secret بين الخوادم لـ Distributed فوق Distributed من `remote`. [#63013](https://github.com/ClickHouse/ClickHouse/pull/63013) ([Azat Khuzhin](https://github.com/azat)).
* دعم `include_from` في ملفات YAML. ومع ذلك، يُفضَّل استخدام `config.d` [#63106](https://github.com/ClickHouse/ClickHouse/pull/63106) ([Eduard Karacharov](https://github.com/korowa)).
* الاحتفاظ بالبيانات السابقة في الطرفية بعد الاختيار من اقتراحات skim. [#63261](https://github.com/ClickHouse/ClickHouse/pull/63261) ([FlameFactory](https://github.com/FlameFactory)).
* أصبح عرض الحقول (في Pretty formats أو في الدالة `visibleWidth`) يتجاهل ANSI escape sequences بشكل صحيح. [#63270](https://github.com/ClickHouse/ClickHouse/pull/63270) ([Shaun Struwig](https://github.com/Blargian)).
* تحديث استخدام رمز الخطأ `NUMBER_OF_ARGUMENTS_DOESNT_MATCH` إلى رموز أخطاء أدق عند الاقتضاء. [#63406](https://github.com/ClickHouse/ClickHouse/pull/63406) ([Yohann Jardin](https://github.com/yohannj)).
* أصبح `os_user` و`client_hostname` يُضبطان الآن بشكل صحيح للاستعلامات الخاصة باقتراحات سطر الأوامر في clickhouse-client. هذا يُغلق [#63430](https://github.com/ClickHouse/ClickHouse/issues/63430). [#63433](https://github.com/ClickHouse/ClickHouse/pull/63433) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تصحيح `max_block_size` تلقائياً إلى القيمة الافتراضية إذا كانت قيمته صفراً. [#63587](https://github.com/ClickHouse/ClickHouse/pull/63587) ([Antonio Andelic](https://github.com/antonio2368)).
* إضافة عمود ALIAS باسم build\_id إلى trace\_log لتسهيل إعادة التسمية التلقائية عند اكتشاف تغييرات في binary. وذلك لمعالجة [#52086](https://github.com/ClickHouse/ClickHouse/issues/52086). [#63656](https://github.com/ClickHouse/ClickHouse/pull/63656) ([Zimu Li](https://github.com/woodlzm)).
* تمكين عملية truncate لأقراص object storage. [#63693](https://github.com/ClickHouse/ClickHouse/pull/63693) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* أصبح تحميل قائمة الكلمات المفتاحية يعتمد الآن على revision الخاص بالخادم، وسيتم تعطيله في الإصدارات القديمة من ClickHouse server. CC @azat. [#63786](https://github.com/ClickHouse/ClickHouse/pull/63786) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* يجب أن تقرأ أقراص ClickHouse إعدادات الخادم للحصول على إصدار format الفعلي للـ metadata. [#63831](https://github.com/ClickHouse/ClickHouse/pull/63831) ([Sema Checherinda](https://github.com/CheSema)).
* تعطيل قيود pretty format (`output_format_pretty_max_rows`/`output_format_pretty_max_value_width`) عندما لا يكون stdout من نوع TTY. [#63942](https://github.com/ClickHouse/ClickHouse/pull/63942) ([Azat Khuzhin](https://github.com/azat)).
* أصبحت معالجة Exception تعمل الآن عند استخدام ClickHouse داخل AWS Lambda. المؤلف: [Alexey Coolnev](https://github.com/acoolnev). [#64014](https://github.com/ClickHouse/ClickHouse/pull/64014) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إطلاق `CANNOT_DECOMPRESS` بدلاً من `CORRUPTED_DATA` عند تمرير بيانات compressed غير صالحة عبر HTTP. [#64036](https://github.com/ClickHouse/ClickHouse/pull/64036) ([vdimir](https://github.com/vdimir)).
* أصبحت الآن إشارة التنبيه لرقم كبير واحد في Pretty formats تعمل مع Nullable وLowCardinality. هذا يُغلق [#61993](https://github.com/ClickHouse/ClickHouse/issues/61993). [#64084](https://github.com/ClickHouse/ClickHouse/pull/64084) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة metrics وlogs وأسماء thread أثناء تصفية parts باستخدام الفهارس. [#64130](https://github.com/ClickHouse/ClickHouse/pull/64130) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تجاهل `allow_suspicious_primary_key` عند `ATTACH` والتحقق منه عند `ALTER`. [#64202](https://github.com/ClickHouse/ClickHouse/pull/64202) ([Azat Khuzhin](https://github.com/azat)).

<div id="buildtestingpackaging-improvement-2">
  #### تحسينات البناء/الاختبار/التحزيم
</div>

* يُبنى ClickHouse باستخدام clang-18. كما جرى تمكين الكثير من عمليات التحقّق الجديدة من clang-tidy-18. [#60469](https://github.com/ClickHouse/ClickHouse/pull/60469) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم loongarch64 تجريبيًا كمنصة جديدة لـ ClickHouse. [#63733](https://github.com/ClickHouse/ClickHouse/pull/63733) ([qiangxuhui](https://github.com/qiangxuhui)).
* تجري مراجعة Dockerfile من قِبل المكتبة الرسمية لـ Docker في [https://github.com/docker-library/official-images/pull/15846](https://github.com/docker-library/official-images/pull/15846). [#63400](https://github.com/ClickHouse/ClickHouse/pull/63400) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* ستُجمع معلومات عن كل رمز في كل وحدة ترجمة داخل قاعدة بيانات CI لكل عملية build ضمن CI. وبذلك يُغلَق [#63494](https://github.com/ClickHouse/ClickHouse/issues/63494). [#63495](https://github.com/ClickHouse/ClickHouse/pull/63495) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحديث مكتبة Apache Datasketches. وهذا يحل [#63858](https://github.com/ClickHouse/ClickHouse/issues/63858). [#63923](https://github.com/ClickHouse/ClickHouse/pull/63923) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تمكين دعم GRPC لنظام aarch64 linux أثناء البناء المتقاطع للملف التنفيذي. [#64072](https://github.com/ClickHouse/ClickHouse/pull/64072) ([alesapin](https://github.com/alesapin)).
* إصلاح فكّ المكدس عند SIGSEGV على aarch64 (بسبب صِغر مكدس الإشارة) [#64058](https://github.com/ClickHouse/ClickHouse/pull/64058) ([Azat Khuzhin](https://github.com/azat)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### إصلاح خطأ
</div>

* تم تعطيل الإعداد `enable_vertical_final` افتراضيًا. لا ينبغي استخدام هذه الميزة لأنها تحتوي على خطأ: [#64543](https://github.com/ClickHouse/ClickHouse/issues/64543). [#64544](https://github.com/ClickHouse/ClickHouse/pull/64544) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح إنشاء نسخة احتياطية عند استخدام عدة shards [#57684](https://github.com/ClickHouse/ClickHouse/pull/57684) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح تمرير projections/indexes/المفتاح الأساسي من قائمة الأعمدة في استعلام CREATE إلى الجدول الداخلي لـ MV [#59183](https://github.com/ClickHouse/ClickHouse/pull/59183) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الدمج غير الصحيح لـ boundRatio [#60532](https://github.com/ClickHouse/ClickHouse/pull/60532) ([Tao Wang](https://github.com/wangtZJU)).
* إصلاح تعطل يحدث عند استدعاء بعض الدوال على أعمدة ثابتة منخفضة الكاردينالية [#61966](https://github.com/ClickHouse/ClickHouse/pull/61966) ([Michael Kolupaev](https://github.com/al13n321)).
* إصلاح الاستعلامات التي تستخدم FINAL وتعطي نتائج غير صحيحة عندما لا يستخدم الجدول الحبيبية التكيفية [#62432](https://github.com/ClickHouse/ClickHouse/pull/62432) ([Duc Canh Le](https://github.com/canhld94)).
* تحسين اكتشاف دعم cgroups v2 لوحدات التحكم في الذاكرة [#62903](https://github.com/ClickHouse/ClickHouse/pull/62903) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح الاستخدام اللاحق للجداول الخارجية في client [#62964](https://github.com/ClickHouse/ClickHouse/pull/62964) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تعطل عند استخدام untuple وlambda غير محلولة [#63131](https://github.com/ClickHouse/ClickHouse/pull/63131) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح بدء الخادم في الاستماع للاتصالات قبل الأوان [#63181](https://github.com/ClickHouse/ClickHouse/pull/63181) ([alesapin](https://github.com/alesapin)).
* إصلاح الأجزاء المتداخلة عند إعادة التشغيل بعد أمر DROP PART [#63202](https://github.com/ClickHouse/ClickHouse/pull/63202) ([Han Fei](https://github.com/hanfei1991)).
* تحميل الإعدادات الافتراضية لـ SQL security بشكل صحيح أثناء بدء التشغيل [#63209](https://github.com/ClickHouse/ClickHouse/pull/63209) ([pufit](https://github.com/pufit)).
* إصلاح filter join وpush down لمرشح JOIN [#63234](https://github.com/ClickHouse/ClickHouse/pull/63234) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح الحلقة اللانهائية في AzureObjectStorage::listObjects [#63257](https://github.com/ClickHouse/ClickHouse/pull/63257) ([Julia Kartseva](https://github.com/jkartseva)).
* إصلاح تجاهل CROSS join للإعداد join\_algorithm [#63273](https://github.com/ClickHouse/ClickHouse/pull/63273) ([vdimir](https://github.com/vdimir)).
* إصلاح إنهاء WriteBufferToFileSegment وStatusFile [#63346](https://github.com/ClickHouse/ClickHouse/pull/63346) ([vdimir](https://github.com/vdimir)).
* إصلاح خطأ منطقي أثناء تنفيذ استعلام SELECT بعد ALTER في حالات نادرة [#63353](https://github.com/ClickHouse/ClickHouse/pull/63353) ([alesapin](https://github.com/alesapin)).
* إصلاح الترويسة `X-ClickHouse-Timezone` مع `session_timezone` [#63377](https://github.com/ClickHouse/ClickHouse/pull/63377) ([Andrey Zvonov](https://github.com/zvonand)).
* إصلاح assert في وضع Debug عند استخدام التجميع WITH ROLLUP وأنواع LowCardinality  [#63398](https://github.com/ClickHouse/ClickHouse/pull/63398) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاحات بسيطة لـ group\_by\_use\_nulls [#63405](https://github.com/ClickHouse/ClickHouse/pull/63405) ([vdimir](https://github.com/vdimir)).
* إصلاح النسخ الاحتياطي/الاستعادة لـ projection part في حال أُزيلت projection من البيانات الوصفية للجدول، بينما لا يزال الجزء يحتوي على projection [#63426](https://github.com/ClickHouse/ClickHouse/pull/63426) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح mysql dictionary source [#63481](https://github.com/ClickHouse/ClickHouse/pull/63481) ([vdimir](https://github.com/vdimir)).
* إدراج QueryFinish عند AsyncInsertFlush في حال عدم وجود بيانات [#63483](https://github.com/ClickHouse/ClickHouse/pull/63483) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح: used\_dictionaries فارغة في system.query\_log [#63487](https://github.com/ClickHouse/ClickHouse/pull/63487) ([Eduard Karacharov](https://github.com/korowa)).
* جعل `MergeTreePrefetchedReadPool` أكثر أمانًا [#63513](https://github.com/ClickHouse/ClickHouse/pull/63513) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح تعطل عند الخروج مع تمكين sentry (بسبب تدمير openssl قبل sentry) [#63548](https://github.com/ClickHouse/ClickHouse/pull/63548) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح دعم Array وMap مع Keyed hashing [#63628](https://github.com/ClickHouse/ClickHouse/pull/63628) ([Salvatore Mesoraca](https://github.com/aiven-sal)).
* إصلاح filter pushdown لـ Parquet وربما StorageMerge [#63642](https://github.com/ClickHouse/ClickHouse/pull/63642) ([Michael Kolupaev](https://github.com/al13n321)).
* منع التحويل إلى Replicated إذا كان مسار ZooKeeper موجودًا بالفعل [#63670](https://github.com/ClickHouse/ClickHouse/pull/63670) ([Kirill](https://github.com/kirillgarbar)).
* المحلل: تقرأ views الأعمدة المطلوبة فقط [#63688](https://github.com/ClickHouse/ClickHouse/pull/63688) ([Maksim Kita](https://github.com/kitaisreal)).
* المحلل: منع إعادة تعريف WINDOW [#63694](https://github.com/ClickHouse/ClickHouse/pull/63694) ([Dmitry Novik](https://github.com/novikd)).
* كان flatten\_nested معطّلًا مع Replicated database التجريبية. [#63695](https://github.com/ClickHouse/ClickHouse/pull/63695) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح [#63653](https://github.com/ClickHouse/ClickHouse/issues/63653) [#63722](https://github.com/ClickHouse/ClickHouse/pull/63722) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* السماح بالتحويل من Array(Nothing) إلى Map(Nothing, Nothing) [#63753](https://github.com/ClickHouse/ClickHouse/pull/63753) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح ILLEGAL\_COLUMN في partial\_merge join [#63755](https://github.com/ClickHouse/ClickHouse/pull/63755) ([vdimir](https://github.com/vdimir)).
* إصلاح: إزالة distinct الزائدة مع window functions [#63776](https://github.com/ClickHouse/ClickHouse/pull/63776) ([Igor Nikonov](https://github.com/devcrafter)).
* إصلاح تعطل محتمل مع SYSTEM UNLOAD PRIMARY KEY [#63778](https://github.com/ClickHouse/ClickHouse/pull/63778) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح query تحتوي على alias دورية مكررة. [#63791](https://github.com/ClickHouse/ClickHouse/pull/63791) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* جعل `TokenIterator` lazy كما ينبغي [#63801](https://github.com/ClickHouse/ClickHouse/pull/63801) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة الإعداد `endpoint_subpath` إلى S3 URI [#63806](https://github.com/ClickHouse/ClickHouse/pull/63806) ([Julia Kartseva](https://github.com/jkartseva)).
* إصلاح حالة التوقف المتبادل في `ParallelReadBuffer` [#63814](https://github.com/ClickHouse/ClickHouse/pull/63814) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح الأعمدة المكافئة في push down لمرشح JOIN [#63819](https://github.com/ClickHouse/ClickHouse/pull/63819) ([Maksim Kita](https://github.com/kitaisreal)).
* إزالة البيانات من جميع الأقراص بعد DROP مع قاعدة بيانات Lazy. [#63848](https://github.com/ClickHouse/ClickHouse/pull/63848) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* إصلاح النتيجة غير الصحيحة عند القراءة من MV مع parallel replicas والمحلل الجديد [#63861](https://github.com/ClickHouse/ClickHouse/pull/63861) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاحات في الأمرين `find_super_nodes` و`find_big_family` في keeper-client [#63862](https://github.com/ClickHouse/ClickHouse/pull/63862) ([Alexander Gololobov](https://github.com/davenger)).
* تحديث اسم تنفيذ lambda [#63864](https://github.com/ClickHouse/ClickHouse/pull/63864) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح SIGSEGV الناتج عن Profiler الخاص بـ CPU/Real [#63865](https://github.com/ClickHouse/ClickHouse/pull/63865) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الاستعلام `EXPLAIN CURRENT TRANSACTION` [#63926](https://github.com/ClickHouse/ClickHouse/pull/63926) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح في المحلل: إنها سلاحف حتى النهاية... [#63930](https://github.com/ClickHouse/ClickHouse/pull/63930) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* السماح ببعض أوامر ALTER TABLE للقرص `plain_rewritable` [#63933](https://github.com/ClickHouse/ClickHouse/pull/63933) ([Julia Kartseva](https://github.com/jkartseva)).
* إصلاح Distributed في CTE التكراري [#63939](https://github.com/ClickHouse/ClickHouse/pull/63939) ([Maksim Kita](https://github.com/kitaisreal)).
* المحلل: إصلاح resolve لـ COLUMNS [#63962](https://github.com/ClickHouse/ClickHouse/pull/63962) ([Dmitry Novik](https://github.com/novikd)).
* LIMIT BY وskip\_unused\_shards مع المحلل [#63983](https://github.com/ClickHouse/ClickHouse/pull/63983) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح بعض المشاكل البسيطة (Kusto التجريبي) [#63992](https://github.com/ClickHouse/ClickHouse/pull/63992) ([Yong Wang](https://github.com/kashwy)).
* إلغاء تسلسل مدخلات binary غير الموثوق بها بطريقة أكثر أمانًا [#64024](https://github.com/ClickHouse/ClickHouse/pull/64024) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح query analysis للاستعلامات التي تتضمن الإعداد `final` = 1 للجداول الموزعة المبنية على جداول لا تنتمي إلى عائلة MergeTree. [#64037](https://github.com/ClickHouse/ClickHouse/pull/64037) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إضافة Settings المفقودة إلى recoverLostReplica [#64040](https://github.com/ClickHouse/ClickHouse/pull/64040) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح فحوصات الوصول لـ SQL security مع المحلل [#64079](https://github.com/ClickHouse/ClickHouse/pull/64079) ([pufit](https://github.com/pufit)).
* إصلاح في المحلل: يجب استخدام تعبير interpolate فقط مع DAG [#64096](https://github.com/ClickHouse/ClickHouse/pull/64096) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح كتابة النسخ الاحتياطي على azure لكتل multipart بحجم 1 MiB (حجم read buffer) بدلًا من `max_upload_part_size` (في حالة النسخ غير native) [#64117](https://github.com/ClickHouse/ClickHouse/pull/64117) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تنفيذ آلية fallback بشكل صحيح أثناء نسخ النسخة الاحتياطية [#64153](https://github.com/ClickHouse/ClickHouse/pull/64153) ([Antonio Andelic](https://github.com/antonio2368)).
* منع LOGICAL\_ERROR عند CREATE TABLE كعرض مادي [#64174](https://github.com/ClickHouse/ClickHouse/pull/64174) ([Raúl Marín](https://github.com/Algunenano)).
* ذاكرة التخزين المؤقت للاستعلامات: اعتبار الاستعلامات المتطابقة على قواعد بيانات مختلفة استعلاماتٍ مختلفة [#64199](https://github.com/ClickHouse/ClickHouse/pull/64199) ([Robert Schulze](https://github.com/rschu1ze)).
* تجاهل `text_log` في Keeper [#64218](https://github.com/ClickHouse/ClickHouse/pull/64218) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح خطأ منطقي: تحويل نوع غير صالح لجدول Buffer مع prewhere. [#64388](https://github.com/ClickHouse/ClickHouse/pull/64388) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).

### <a id="244" /> إصدار ClickHouse 24.4 بتاريخ 2024-04-30. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.4/)، [الفيديو](https://www.youtube.com/watch?v=dtUqgcfOGmE)

<Frame>
  <iframe src="https://www.youtube.com/embed/dtUqgcfOGmE" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="upgrade-notes">
  #### ملاحظات الترقية
</div>

* أصبحت `clickhouse-odbc-bridge` و`clickhouse-library-bridge` الآن حزمتين منفصلتين. ويغلق هذا [#61677](https://github.com/ClickHouse/ClickHouse/issues/61677). [#62114](https://github.com/ClickHouse/ClickHouse/pull/62114) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* لم يعد مسموحًا بتعيين max\_parallel\_replicas (للقراءة المتوازية التجريبية من النسخ المتماثلة) إلى `0`، لأن ذلك غير منطقي. ويغلق هذا [#60140](https://github.com/ClickHouse/ClickHouse/issues/60140). [#61201](https://github.com/ClickHouse/ClickHouse/pull/61201) ([Kruglov Pavel](https://github.com/Avogar)).
* أُزيل دعم الاستعلام `INSERT WATCH` (وهو جزء من الميزة المتقادمة `LIVE VIEW`). [#62382](https://github.com/ClickHouse/ClickHouse/pull/62382) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُزيل الإعداد `optimize_monotonous_functions_in_order_by`. [#63004](https://github.com/ClickHouse/ClickHouse/pull/63004) ([Raúl Marín](https://github.com/Algunenano)).
* أُزيل الوسم التجريبي من محرك قاعدة البيانات `Replicated`. وهو الآن في مرحلة Beta. [#62937](https://github.com/ClickHouse/ClickHouse/pull/62937) ([Justin de Guzman](https://github.com/justindeguzman)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* دعم عبارات CTE العودية. [#62074](https://github.com/ClickHouse/ClickHouse/pull/62074) ([Maksim Kita](https://github.com/kitaisreal)).
* دعم البند `QUALIFY`. يُغلق [#47819](https://github.com/ClickHouse/ClickHouse/issues/47819). [#62619](https://github.com/ClickHouse/ClickHouse/pull/62619) ([Maksim Kita](https://github.com/kitaisreal)).
* أصبحت محركات الجداول قابلة للمنح الآن، ولن يؤثر ذلك في سلوك المستخدمين الحاليين. [#60117](https://github.com/ClickHouse/ClickHouse/pull/60117) ([jsc0218](https://github.com/jsc0218)).
* أُضيف S3 disk قابل لإعادة الكتابة يدعم عمليات INSERT ولا يتطلب بيانات وصفية مخزنة محليًا. [#61116](https://github.com/ClickHouse/ClickHouse/pull/61116) ([Julia Kartseva](https://github.com/jkartseva)). وحالة الاستخدام الرئيسية له هي جداول النظام.
* سيعمل تمييز الصياغة أثناء الكتابة في العميل على مستوى الصياغة (وكان يعمل سابقًا على مستوى المحلل المعجمي). [#62123](https://github.com/ClickHouse/ClickHouse/pull/62123) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* يدعم حذف عدة جداول في الوقت نفسه مثل `DROP TABLE a, b, c`;. [#58705](https://github.com/ClickHouse/ClickHouse/pull/58705) ([zhongyuankai](https://github.com/zhongyuankai)).
* أصبح تعديل إعدادات جدول Memory عبر `ALTER MODIFY SETTING` مدعومًا الآن. مثال: `ALTER TABLE memory MODIFY SETTING min_rows_to_keep = 100, max_rows_to_keep = 1000;`. [#62039](https://github.com/ClickHouse/ClickHouse/pull/62039) ([zhongyuankai](https://github.com/zhongyuankai)).
* أُضيفت معلمة الاستعلام `role` إلى واجهة HTTP. وهي تعمل بطريقة مشابهة لـ `SET ROLE x`، إذ تطبّق الدور قبل تنفيذ العبارة. ويتيح ذلك تجاوز قيد واجهة HTTP، إذ لا يُسمح بعبارات متعددة، ولا يمكن إرسال كلٍّ من `SET ROLE x` والعبارة نفسها في الوقت ذاته. ويمكن تعيين عدة أدوار بهذه الطريقة، مثل `?role=x&role=y`، وهو ما يعادل `SET ROLE x, y`. [#62669](https://github.com/ClickHouse/ClickHouse/pull/62669) ([Serge Klochkov](https://github.com/slvrtrn)).
* أُضيف `SYSTEM UNLOAD PRIMARY KEY` لتحرير استخدام الذاكرة للمفتاح الأساسي للجدول. [#62738](https://github.com/ClickHouse/ClickHouse/pull/62738) ([Pablo Marcos](https://github.com/pamarcos)).
* أُضيفت الأعمدة `value1` و`value2` و... و`value10` إلى `system.text_log`. وتحتوي هذه الأعمدة على القيم التي استُخدمت لتنسيق الرسالة. [#59619](https://github.com/ClickHouse/ClickHouse/pull/59619) ([Alexey Katsman](https://github.com/alexkats)).
* أُضيف العمود الافتراضي الدائم `_block_offset` الذي يخزّن الرقم الأصلي للصف داخل block كما أُسنِد عند insert. ويمكن تمكين تخزين العمود `_block_offset` بشكل دائم عبر إعداد MergeTree ‏`enable_block_offset_column`. وأُضيف العمود الافتراضي `_part_data_version` الذي يحتوي إما على الحد الأدنى لرقم block أو إصدار mutation الخاص بالجزء. ولم يعد العمود الافتراضي الدائم `_block_number` يُعد تجريبيًا. [#60676](https://github.com/ClickHouse/ClickHouse/pull/60676) ([Anton Popov](https://github.com/CurtizJ)).
* أُضيف إعداد `input_format_json_throw_on_bad_escape_sequence`، ويتيح تعطيله حفظ تسلسلات escape غير الصحيحة في JSON input formats. [#61889](https://github.com/ClickHouse/ClickHouse/pull/61889) ([Kruglov Pavel](https://github.com/Avogar)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* تحسينات على push down لمرشح JOIN باستخدام sets مكافئة. [#61216](https://github.com/ClickHouse/ClickHouse/pull/61216) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين لتحويل OUTER JOIN إلى INNER JOIN إذا كان المرشح بعد JOIN يرشّح القيم الافتراضية دائمًا. يمكن التحكم في هذا التحسين باستخدام الإعداد `query_plan_convert_outer_join_to_inner_join`، وهو مُمكّن افتراضيًا. [#62907](https://github.com/ClickHouse/ClickHouse/pull/62907) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين لـ AWS S3. يجب على العميل إرسال الترويسة 'Keep-Alive: timeout=X' إلى الخادم. وإذا تلقّى العميل استجابة من الخادم تتضمن هذه الترويسة، فعليه استخدام القيمة الواردة من الخادم. ومن الأفضل أيضًا ألّا يستخدم العميل اتصالًا يوشك على انتهاء صلاحيته لتجنّب حالة التسابق عند إغلاق الاتصال. [#62249](https://github.com/ClickHouse/ClickHouse/pull/62249) ([Sema Checherinda](https://github.com/CheSema)).
* تقليل الحمل الإضافي الناتج عن mutations لعمليات SELECT (الإصدار 2). [#60856](https://github.com/ClickHouse/ClickHouse/pull/60856) ([Azat Khuzhin](https://github.com/azat)).
* أصبحت الدوال الأكثر استدعاءً في PODArray تُدرج الآن قسرًا inline. [#61144](https://github.com/ClickHouse/ClickHouse/pull/61144) ([李扬](https://github.com/taiyang-li)).
* تسريع parsing لـ JSON عبر تخطي بقية الكائن بعد قراءة جميع الأعمدة المطلوبة. [#62210](https://github.com/ClickHouse/ClickHouse/pull/62210) ([lgbo](https://github.com/lgbo-ustc)).
* تحسين عمليات insert select البسيطة من الملفات في table functions من نوع file/s3/hdfs/url/.... وتمت إضافة الإعداد المنفصل max\_parsing\_threads للتحكم في عدد threads المستخدمة في parsing المتوازي. [#62404](https://github.com/ClickHouse/ClickHouse/pull/62404) ([Kruglov Pavel](https://github.com/Avogar)).
* أصبحت الدالتان `to_utc_timestamp` و `from_utc_timestamp` الآن أسرع بنحو الضعف. [#62583](https://github.com/ClickHouse/ClickHouse/pull/62583) ([KevinyhZou](https://github.com/KevinyhZou)).
* أصبحت الدوال `parseDateTimeOrNull` و `parseDateTimeOrZero` و `parseDateTimeInJodaSyntaxOrNull` و `parseDateTimeInJodaSyntaxOrZero` تعمل الآن بسرعة أكبر بكثير (من 10x إلى 1000x) عندما يحتوي الإدخال في معظمه على قيم غير قابلة للتحليل. [#62634](https://github.com/ClickHouse/ClickHouse/pull/62634) ([LiuNeng](https://github.com/liuneng1994)).
* أصبحت عمليات SELECT على `system.query_cache` الآن أسرع بشكل ملحوظ عندما يحتوي query cache على عدد كبير من entries (على سبيل المثال أكثر من 100.000). [#62671](https://github.com/ClickHouse/ClickHouse/pull/62671) ([Robert Schulze](https://github.com/rschu1ze)).
* تقليل التنازع في filesystem cache (الجزء 3): تنفيذ الإزالة من filesystem دون قفل عند محاولة حجز المساحة. [#61163](https://github.com/ClickHouse/ClickHouse/pull/61163) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تسريع تغيير الحجم الديناميكي لـ filesystem cache. [#61723](https://github.com/ClickHouse/ClickHouse/pull/61723) ([Kseniia Sumarokova](https://github.com/kssenii)).
* لا يُعاد تحميل dictionary source الذي يستخدم `INVALIDATE_QUERY` مرتين عند بدء التشغيل. [#62050](https://github.com/ClickHouse/ClickHouse/pull/62050) ([vdimir](https://github.com/vdimir)).
* إصلاح مشكلة تتمثل في أنه عند إضافة `= 1` أو `= 0` بشكل زائد بعد تعبير Boolean يتضمن primary key، لا يُستخدم primary index. على سبيل المثال، كلٌّ من `SELECT * FROM <table> WHERE <primary-key> IN (<value>) = 1` و `SELECT * FROM <table> WHERE <primary-key> NOT IN (<value>) = 0` سينفّذان فحصًا كاملًا للجدول، رغم أنه يمكن استخدام primary index. [#62142](https://github.com/ClickHouse/ClickHouse/pull/62142) ([josh-hildred](https://github.com/josh-hildred)).
* إرجاع تدفق من الكتل من `system.remote_data_paths` بدلًا من تجميع النتيجة بالكامل في كتلة واحدة كبيرة. يتيح ذلك استهلاك قدر أقل من الذاكرة، وعرض التقدّم المرحلي، وإلغاء الاستعلام. [#62613](https://github.com/ClickHouse/ClickHouse/pull/62613) ([Alexander Gololobov](https://github.com/davenger)).

<div id="experimental-feature-5">
  #### الميزة التجريبية
</div>

* دعم مخزن مؤقت للكتابة المتوازية في Azure Blob Storage، يُدار عبر الإعداد `azure_allow_parallel_part_upload`. [#62534](https://github.com/ClickHouse/ClickHouse/pull/62534) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* تعمل ذاكرة التخزين المؤقت للصفحات في userspace الآن مع تخزين الويب الثابت (`disk(type = web)`). استخدم إعداد العميل `use_page_cache_for_disks_without_file_cache=1` لتمكينها. [#61911](https://github.com/ClickHouse/ClickHouse/pull/61911) ([Michael Kolupaev](https://github.com/al13n321)).
* عدم اعتبار متغيرات Bool والمتغيرات العددية مشبوهة في النوع `Variant`. [#61999](https://github.com/ClickHouse/ClickHouse/pull/61999) ([Kruglov Pavel](https://github.com/Avogar)).
* تحسين التحويل من String إلى `Variant` باستخدام parsing. [#62005](https://github.com/ClickHouse/ClickHouse/pull/62005) ([Kruglov Pavel](https://github.com/Avogar)).
* دعم `Variant` في دوال JSONExtract. [#62014](https://github.com/ClickHouse/ClickHouse/pull/62014) ([Kruglov Pavel](https://github.com/Avogar)).
* وسم النوع `Variant` على أنه قابل للمقارنة، بحيث يمكن استخدامه في المفتاح الأساسي. [#62693](https://github.com/ClickHouse/ClickHouse/pull/62693) ([Kruglov Pavel](https://github.com/Avogar)).

<div id="improvement-1">
  #### تحسين
</div>

* لتسهيل الأمر، سيعمل ‎`SELECT * FROM numbers() `‎ بالطريقة نفسها التي يعمل بها ‎`SELECT * FROM system.numbers`‎ — من دون حد. [#61969](https://github.com/ClickHouse/ClickHouse/pull/61969) ([YenchangChan](https://github.com/YenchangChan)).
* أُضيفت وسوم consumer/producer منفصلة لإعداد Kafka. يجنّب هذا التحذيرات الصادرة من librdkafka (مكتبة C سيئة وفيها الكثير من العلل) التي تفيد بأنه جرى تحديد خصائص consumer لنسخ producer والعكس صحيح (على سبيل المثال، ‎`Configuration property session.timeout.ms is a consumer property and will be ignored by this producer instance`‎). يغلق: [#58983](https://github.com/ClickHouse/ClickHouse/issues/58983). [#58956](https://github.com/ClickHouse/ClickHouse/pull/58956) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* أصبحت الدالتان ‎`date_diff`‎ و‎`age`‎ تحسبان النتيجة الآن بدقة النانوثانية بدلًا من دقة الميكروثانية. كما أنهما تدعمان الآن ‎`nanosecond`‎ (أو ‎`nanoseconds`‎ أو ‎`ns`‎) كقيمة ممكنة للمعامل ‎`unit`‎. [#61409](https://github.com/ClickHouse/ClickHouse/pull/61409) ([Austin Kothig](https://github.com/kothiga)).
* أُضيفت وحدات nano- وmicro- وmilliseconds إلى ‎`date_trunc`‎. [#62335](https://github.com/ClickHouse/ClickHouse/pull/62335) ([Misz606](https://github.com/Misz606)).
* أُضيفت إعادة تحميل سلسلة الشهادات أثناء إعادة تحميل الشهادة. [#61671](https://github.com/ClickHouse/ClickHouse/pull/61671) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* محاولة منع الخطأ [#60432](https://github.com/ClickHouse/ClickHouse/issues/60432) بعدم السماح بإرفاق جدول إذا كانت هناك نسخة متماثلة نشطة لمسار النسخة المتماثلة نفسه. [#61876](https://github.com/ClickHouse/ClickHouse/pull/61876) ([Arthur Passos](https://github.com/arthurpassos)).
* تنفيذ دعم ‎`input`‎ في ‎`clickhouse-local`‎. [#61923](https://github.com/ClickHouse/ClickHouse/pull/61923) ([Azat Khuzhin](https://github.com/azat)).
* أصبح محرك الجدول ‎`Join`‎ مع strictness ‏‎`ANY`‎ متسقًا بعد إعادة التحميل. عند إدراج عدة صفوف بالمفتاح نفسه، ستكون للأولى أولوية أعلى (أما سابقًا، فكان الاختيار يتم عشوائيًا عند تحميل الجدول). يغلق [#51027](https://github.com/ClickHouse/ClickHouse/issues/51027). [#61972](https://github.com/ClickHouse/ClickHouse/pull/61972) ([vdimir](https://github.com/vdimir)).
* استنتاج أنواع الأعمدة Nullable تلقائيًا من schema الخاص بـ Apache Arrow. [#61984](https://github.com/ClickHouse/ClickHouse/pull/61984) ([Maksim Kita](https://github.com/kitaisreal)).
* السماح بإلغاء الدمج المتوازي للحالات التجميعية أثناء التجميع. مثال: ‎`uniqExact`‎. [#61992](https://github.com/ClickHouse/ClickHouse/pull/61992) ([Maksim Kita](https://github.com/kitaisreal)).
* استخدام ‎`system.keywords`‎ لملء الاقتراحات، واستخدامها أيضًا داخليًا في جميع المواضع. [#62000](https://github.com/ClickHouse/ClickHouse/pull/62000) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* سيؤدي ‎`OPTIMIZE FINAL`‎ لـ ‎`ReplicatedMergeTree`‎ الآن إلى انتظار اكتمال عمليات الدمج النشطة حاليًا، ثم إعادة محاولة جدولة دمج نهائي. وهذا يجعله أقرب إلى سلوك ‎`MergeTree`‎ العادي. [#62067](https://github.com/ClickHouse/ClickHouse/pull/62067) ([Nikita Taranov](https://github.com/nickitat)).
* عند قراءة البيانات من ملف Hive Text File، كان السطر الأول من الملف يُستخدم لتحديد عدد حقول الإدخال، وأحيانًا لا يتطابق عدد الحقول في هذا السطر مع ما هو معرّف في Hive table. فعلى سبيل المثال، إذا كان Hive table معرّفًا بثلاثة أعمدة مثل `test_tbl(a Int32, b Int32, c Int32)`، لكن السطر الأول من الملف النصي يحتوي على حقلين فقط، فسيُضبط عدد حقول الإدخال على 2. وإذا كان السطر التالي من الملف النصي يحتوي على 3 حقول، فلن تتم قراءة الحقل الثالث، بل ستُسند إليه القيمة الافتراضية 0، وهذا غير صحيح. [#62086](https://github.com/ClickHouse/ClickHouse/pull/62086) ([KevinyhZou](https://github.com/KevinyhZou)).
* `CREATE AS` ينسخ comment الخاص بالجدول. [#62117](https://github.com/ClickHouse/ClickHouse/pull/62117) ([Pablo Marcos](https://github.com/pamarcos)).
* إضافة Progress الاستعلام إلى جدول zookeeper. [#62152](https://github.com/ClickHouse/ClickHouse/pull/62152) ([JackyWoo](https://github.com/JackyWoo)).
* إضافة إمكانية تشغيل trace collector ‏(Real و CPU) على مستوى server بالكامل. [#62189](https://github.com/ClickHouse/ClickHouse/pull/62189) ([alesapin](https://github.com/alesapin)).
* تمت إضافة الإعداد `lightweight_deletes_sync` (القيمة الافتراضية: 2 - انتظار جميع replicas بشكل متزامن). وهو مشابه للإعداد `mutations_sync`، لكنه يؤثر فقط في سلوك lightweight deletes. [#62195](https://github.com/ClickHouse/ClickHouse/pull/62195) ([Anton Popov](https://github.com/CurtizJ)).
* التمييز بين القيم Boolean والأعداد الصحيحة عند parsing القيم الخاصة بـ custom settings: `SET custom_a = true; SET custom_b = 1;`. [#62206](https://github.com/ClickHouse/ClickHouse/pull/62206) ([Vitaly Baranov](https://github.com/vitlibar)).
* دعم الوصول إلى S3 عبر endpoints من نوع AWS Private Link Interface. يُغلق هذا [#60021](https://github.com/ClickHouse/ClickHouse/issues/60021) و [#31074](https://github.com/ClickHouse/ClickHouse/issues/31074) و [#53761](https://github.com/ClickHouse/ClickHouse/issues/53761). [#62208](https://github.com/ClickHouse/ClickHouse/pull/62208) ([Arthur Passos](https://github.com/arthurpassos)).
* عدم إنشاء directory لـ UDF في clickhouse-client إذا لم يكن موجودًا. يُغلق هذا [#59597](https://github.com/ClickHouse/ClickHouse/issues/59597). [#62366](https://github.com/ClickHouse/ClickHouse/pull/62366) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* لم تعد query cache تخزّن نتائج queries على system tables (`system.*`, `information_schema.*`, `INFORMATION_SCHEMA.*`). [#62376](https://github.com/ClickHouse/ClickHouse/pull/62376) ([Robert Schulze](https://github.com/rschu1ze)).
* قد يتأخر الاستعلام `MOVE PARTITION TO TABLE` أو قد يطلق الاستثناء `TOO_MANY_PARTS` لتجنّب تجاوز حدود part count. وتُطبَّق الإعدادات والحدود نفسها المطبقة على استعلام `INSERT` (راجع الإعدادات `max_parts_in_total`, `parts_to_delay_insert`, `parts_to_throw_insert`, `inactive_parts_to_throw_insert`, `inactive_parts_to_delay_insert`, `max_avg_part_size_for_too_many_parts`, `min_delay_to_insert_ms` و `max_delay_to_insert`). [#62420](https://github.com/ClickHouse/ClickHouse/pull/62420) ([Sergei Trifonov](https://github.com/serxa)).
* تم تغيير directory التثبيت الافتراضي على MacOS من `/usr/bin` إلى `/usr/local/bin`. وهذا ضروري لأن ميزة System Integrity Protection من Apple، التي قُدمت مع MacOS El Capitan ‏(2015)، تمنع الكتابة إلى `/usr/bin` حتى عند استخدام `sudo`. [#62489](https://github.com/ClickHouse/ClickHouse/pull/62489) ([haohang](https://github.com/yokofly)).
* جعل `transform` يعيد دائمًا أول تطابق. [#62518](https://github.com/ClickHouse/ClickHouse/pull/62518) ([Raúl Marín](https://github.com/Algunenano)).
* أُضيف العمود `hostname` المفقود إلى جدول النظام `blob_storage_log`. [#62456](https://github.com/ClickHouse/ClickHouse/pull/62456) ([Jayme Bird](https://github.com/jaymebrd)).
* اتساقًا مع جداول النظام الأخرى، أصبح `system.backup_log` يحتوي الآن على العمود `event_time`. [#62541](https://github.com/ClickHouse/ClickHouse/pull/62541) ([Jayme Bird](https://github.com/jaymebrd)).
* يحتوي الجدول `system.backup_log` الآن على مفتاح الفرز "default"، وهو `event_date, event_time`، مثل محركات الجداول `_log` الأخرى. [#62667](https://github.com/ClickHouse/ClickHouse/pull/62667) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تجنّب تقييم تعبيرات DEFAULT الخاصة بالجدول أثناء تنفيذ `RESTORE`. [#62601](https://github.com/ClickHouse/ClickHouse/pull/62601) ([Vitaly Baranov](https://github.com/vitlibar)).
* تحتاج أيضًا وحدات تخزين S3 والنسخ الاحتياطية إلى إعدادات Keep alive الافتراضية نفسها مثل قرص S3. [#62648](https://github.com/ClickHouse/ClickHouse/pull/62648) ([Sema Checherinda](https://github.com/CheSema)).
* أُضيف معرّف العميل الخاص بـ librdkafka (تلك المكتبة سيئة السمعة المكتوبة بلغة C، والتي تتضمن كثيرًا من العيوب) إلى رسائل السجل، لتمييز رسائل السجل الصادرة من مستهلكين مختلفين لجدول واحد. [#62813](https://github.com/ClickHouse/ClickHouse/pull/62813) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* السماح باستخدام الماكروين الخاصين `{uuid}` و`{database}` في مسار ZooKeeper لقاعدة بيانات Replicated. [#62818](https://github.com/ClickHouse/ClickHouse/pull/62818) ([Vitaly Baranov](https://github.com/vitlibar)).
* السماح باستخدام quota key مع آلية مصادقة مختلفة في طلبات HTTP. [#62842](https://github.com/ClickHouse/ClickHouse/pull/62842) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تقليل مستوى التفصيل في وسيطة سطر الأوامر `--help` في `clickhouse client` و`clickhouse local`. ويُولَّد الإخراج السابق الآن بواسطة `--help --verbose`. [#62973](https://github.com/ClickHouse/ClickHouse/pull/62973) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* أُزيل `log_bin_use_v1_row_events` في MySQL 8.3، وتم تعديل المحرك التجريبي `MaterializedMySQL` ليتوافق مع ذلك [#60479](https://github.com/ClickHouse/ClickHouse/issues/60479). [#63101](https://github.com/ClickHouse/ClickHouse/pull/63101) ([Eugene Klimov](https://github.com/Slach)). المؤلف: Nikolay Yankin.

<div id="buildtestingpackaging-improvement-2">
  #### تحسينات البناء/الاختبار/التحزيم
</div>

* تضمين تبعيات Rust محليًا، بحيث يمكن بناء شيفرة Rust (التي نستخدمها لبعض الميزات الثانوية من باب الترف والتسلية) بطريقة سليمة، على نحو مماثل لـ C++. [#62297](https://github.com/ClickHouse/ClickHouse/pull/62297) ([Raúl Marín](https://github.com/Algunenano)).
* يستخدم ClickHouse الآن OpenSSL 3.2 بدلًا من BoringSSL. [#59870](https://github.com/ClickHouse/ClickHouse/pull/59870) ([Robert Schulze](https://github.com/rschu1ze)). تجدر الإشارة إلى أن OpenSSL يتمتع عمومًا بثقافة هندسية أضعف (مثل وجود عدد غير صفري من تقارير sanitizer التي اضطررنا إلى ترقيعها، ونظام build معقد يتضمن ملفات مولَّدة، وما إلى ذلك)، لكنه يوفر توافقية أفضل.
* تجاهل استعلامات DROP في اختبار الإجهاد باحتمال 1/2، واستخدام TRUNCATE بدلًا من تجاهل DROP في فحص الترقية لجداول Memory/JOIN. [#61476](https://github.com/ClickHouse/ClickHouse/pull/61476) ([Kruglov Pavel](https://github.com/Avogar)).
* إزالة وحدات التخزين عند ‎/etc/clickhouse-keeper و ‎/var/log/clickhouse-keeper من Docker image الخاصة بـ Keeper. [#61683](https://github.com/ClickHouse/ClickHouse/pull/61683) ([Tristan](https://github.com/Tristan971)).
* إضافة اختبارات لجميع التذاكر التي لم تعد ذات صلة مع تفعيل المحلل (Analyzer) افتراضيًا. Closes: [#55794](https://github.com/ClickHouse/ClickHouse/issues/55794) Closes: [#49472](https://github.com/ClickHouse/ClickHouse/issues/49472) Closes: [#44414](https://github.com/ClickHouse/ClickHouse/issues/44414) Closes: [#13843](https://github.com/ClickHouse/ClickHouse/issues/13843) Closes: [#55803](https://github.com/ClickHouse/ClickHouse/issues/55803) Closes: [#48308](https://github.com/ClickHouse/ClickHouse/issues/48308) Closes: [#45535](https://github.com/ClickHouse/ClickHouse/issues/45535) Closes: [#44365](https://github.com/ClickHouse/ClickHouse/issues/44365) Closes: [#44153](https://github.com/ClickHouse/ClickHouse/issues/44153) Closes: [#42399](https://github.com/ClickHouse/ClickHouse/issues/42399) Closes: [#27115](https://github.com/ClickHouse/ClickHouse/issues/27115) Closes: [#23162](https://github.com/ClickHouse/ClickHouse/issues/23162) Closes: [#15395](https://github.com/ClickHouse/ClickHouse/issues/15395) Closes: [#15411](https://github.com/ClickHouse/ClickHouse/issues/15411) Closes: [#14978](https://github.com/ClickHouse/ClickHouse/issues/14978) Closes: [#17319](https://github.com/ClickHouse/ClickHouse/issues/17319) Closes: [#11813](https://github.com/ClickHouse/ClickHouse/issues/11813) Closes: [#13210](https://github.com/ClickHouse/ClickHouse/issues/13210) Closes: [#23053](https://github.com/ClickHouse/ClickHouse/issues/23053) Closes: [#37729](https://github.com/ClickHouse/ClickHouse/issues/37729) Closes: [#32639](https://github.com/ClickHouse/ClickHouse/issues/32639) Closes: [#9954](https://github.com/ClickHouse/ClickHouse/issues/9954) Closes: [#41964](https://github.com/ClickHouse/ClickHouse/issues/41964) Closes: [#54317](https://github.com/ClickHouse/ClickHouse/issues/54317) Closes: [#7520](https://github.com/ClickHouse/ClickHouse/issues/7520) Closes: [#36973](https://github.com/ClickHouse/ClickHouse/issues/36973) Closes: [#40955](https://github.com/ClickHouse/ClickHouse/issues/40955) Closes: [#19687](https://github.com/ClickHouse/ClickHouse/issues/19687) Closes: [#23104](https://github.com/ClickHouse/ClickHouse/issues/23104) Closes: [#21584](https://github.com/ClickHouse/ClickHouse/issues/21584) Closes: [#23344](https://github.com/ClickHouse/ClickHouse/issues/23344) Closes: [#22627](https://github.com/ClickHouse/ClickHouse/issues/22627) Closes: [#10276](https://github.com/ClickHouse/ClickHouse/issues/10276) Closes: [#19687](https://github.com/ClickHouse/ClickHouse/issues/19687) Closes: [#4567](https://github.com/ClickHouse/ClickHouse/issues/4567) Closes: [#17710](https://github.com/ClickHouse/ClickHouse/issues/17710) Closes: [#11068](https://github.com/ClickHouse/ClickHouse/issues/11068) Closes: [#24395](https://github.com/ClickHouse/ClickHouse/issues/24395) Closes: [#23416](https://github.com/ClickHouse/ClickHouse/issues/23416) Closes: [#23162](https://github.com/ClickHouse/ClickHouse/issues/23162) Closes: [#25655](https://github.com/ClickHouse/ClickHouse/issues/25655) Closes: [#11757](https://github.com/ClickHouse/ClickHouse/issues/11757) Closes: [#6571](https://github.com/ClickHouse/ClickHouse/issues/6571) Closes: [#4432](https://github.com/ClickHouse/ClickHouse/issues/4432) Closes: [#8259](https://github.com/ClickHouse/ClickHouse/issues/8259) Closes: [#9233](https://github.com/ClickHouse/ClickHouse/issues/9233) Closes: [#14699](https://github.com/ClickHouse/ClickHouse/issues/14699) Closes: [#27068](https://github.com/ClickHouse/ClickHouse/issues/27068) Closes: [#28687](https://github.com/ClickHouse/ClickHouse/issues/28687) Closes: [#28777](https://github.com/ClickHouse/ClickHouse/issues/28777) Closes: [#29734](https://github.com/ClickHouse/ClickHouse/issues/29734) Closes: [#61238](https://github.com/ClickHouse/ClickHouse/issues/61238) Closes: [#33825](https://github.com/ClickHouse/ClickHouse/issues/33825) Closes: [#35608](https://github.com/ClickHouse/ClickHouse/issues/35608) Closes: [#29838](https://github.com/ClickHouse/ClickHouse/issues/29838) Closes: [#35652](https://github.com/ClickHouse/ClickHouse/issues/35652) Closes: [#36189](https://github.com/ClickHouse/ClickHouse/issues/36189) Closes: [#39634](https://github.com/ClickHouse/ClickHouse/issues/39634) Closes: [#47432](https://github.com/ClickHouse/ClickHouse/issues/47432) Closes: [#54910](https://github.com/ClickHouse/ClickHouse/issues/54910) Closes: [#57321](https://github.com/ClickHouse/ClickHouse/issues/57321) Closes: [#59154](https://github.com/ClickHouse/ClickHouse/issues/59154) Closes: [#61014](https://github.com/ClickHouse/ClickHouse/issues/61014) Closes: [#61950](https://github.com/ClickHouse/ClickHouse/issues/61950) Closes: [#55647](https://github.com/ClickHouse/ClickHouse/issues/55647) Closes: [#61947](https://github.com/ClickHouse/ClickHouse/issues/61947). [#62185](https://github.com/ClickHouse/ClickHouse/pull/62185) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* أُضيفت اختبارات إضافية من مشكلات لم تعد ذات صلة أو أصلحها analyzer. يغلق: [#58985](https://github.com/ClickHouse/ClickHouse/issues/58985) يغلق: [#59549](https://github.com/ClickHouse/ClickHouse/issues/59549) يغلق: [#36963](https://github.com/ClickHouse/ClickHouse/issues/36963) يغلق: [#39453](https://github.com/ClickHouse/ClickHouse/issues/39453) يغلق: [#56521](https://github.com/ClickHouse/ClickHouse/issues/56521) يغلق: [#47552](https://github.com/ClickHouse/ClickHouse/issues/47552) يغلق: [#56503](https://github.com/ClickHouse/ClickHouse/issues/56503) يغلق: [#59101](https://github.com/ClickHouse/ClickHouse/issues/59101) يغلق: [#50271](https://github.com/ClickHouse/ClickHouse/issues/50271) يغلق: [#54954](https://github.com/ClickHouse/ClickHouse/issues/54954) يغلق: [#56466](https://github.com/ClickHouse/ClickHouse/issues/56466) يغلق: [#11000](https://github.com/ClickHouse/ClickHouse/issues/11000) يغلق: [#10894](https://github.com/ClickHouse/ClickHouse/issues/10894) يغلق: [https://github.com/ClickHouse/ClickHouse/issues/448](https://github.com/ClickHouse/ClickHouse/issues/448) يغلق: [#8030](https://github.com/ClickHouse/ClickHouse/issues/8030) يغلق: [#32139](https://github.com/ClickHouse/ClickHouse/issues/32139) يغلق: [#47288](https://github.com/ClickHouse/ClickHouse/issues/47288) يغلق: [#50705](https://github.com/ClickHouse/ClickHouse/issues/50705) يغلق: [#54511](https://github.com/ClickHouse/ClickHouse/issues/54511) يغلق: [#55466](https://github.com/ClickHouse/ClickHouse/issues/55466) يغلق: [#58500](https://github.com/ClickHouse/ClickHouse/issues/58500) يغلق: [#39923](https://github.com/ClickHouse/ClickHouse/issues/39923) يغلق: [#39855](https://github.com/ClickHouse/ClickHouse/issues/39855) يغلق: [#4596](https://github.com/ClickHouse/ClickHouse/issues/4596) يغلق: [#47422](https://github.com/ClickHouse/ClickHouse/issues/47422) يغلق: [#33000](https://github.com/ClickHouse/ClickHouse/issues/33000) يغلق: [#14739](https://github.com/ClickHouse/ClickHouse/issues/14739) يغلق: [#44039](https://github.com/ClickHouse/ClickHouse/issues/44039) يغلق: [#8547](https://github.com/ClickHouse/ClickHouse/issues/8547) يغلق: [#22923](https://github.com/ClickHouse/ClickHouse/issues/22923) يغلق: [#23865](https://github.com/ClickHouse/ClickHouse/issues/23865) يغلق: [#29748](https://github.com/ClickHouse/ClickHouse/issues/29748) يغلق: [#4222](https://github.com/ClickHouse/ClickHouse/issues/4222). [#62457](https://github.com/ClickHouse/ClickHouse/pull/62457) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* أُصلحت أخطاء البناء عند ربط OpenSSL ديناميكيًا (ملاحظة: هذا غير مدعوم عمومًا ولا يلزم إلا لمنصات s390x من IBM). [#62888](https://github.com/ClickHouse/ClickHouse/pull/62888) ([Harry Lee](https://github.com/HarryLeeIBM)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release-5">
  #### إصلاح خطأ (خلل ظاهر للمستخدم في إصدار مستقر رسمي)
</div>

* إصلاح خطأ منطقي عند التراجع عن معاملة إدراج quorum. [#61953](https://github.com/ClickHouse/ClickHouse/pull/61953) ([Han Fei](https://github.com/hanfei1991)).
* إصلاح خطأ في المحلّل عند استخدام COUNT(\*) مع بند FILTER [#61357](https://github.com/ClickHouse/ClickHouse/pull/61357) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح خطأ منطقي في `group_by_use_nulls` + مجموعات التجميع + المحلّل + materialize/constant [#61567](https://github.com/ClickHouse/ClickHouse/pull/61567) ([Kruglov Pavel](https://github.com/Avogar)).
* إلغاء عمليات الدمج قبل إزالة الأجزاء المنقولة [#61610](https://github.com/ClickHouse/ClickHouse/pull/61610) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح الإنهاء القسري في Apache Arrow [#61720](https://github.com/ClickHouse/ClickHouse/pull/61720) ([Kruglov Pavel](https://github.com/Avogar)).
* البحث عن العلامة `convert_to_replicated` في المسار الصحيح الموافق للقرص المحدد [#61769](https://github.com/ClickHouse/ClickHouse/pull/61769) ([Kirill](https://github.com/kirillgarbar)).
* إصلاح احتمال حدوث سباق بيانات في الاتصالات الخاصة بـ distributed\_foreground\_insert/distributed\_background\_insert\_batch [#61867](https://github.com/ClickHouse/ClickHouse/pull/61867) ([Azat Khuzhin](https://github.com/azat)).
* تصنيف الخطأ CANNOT\_PARSE\_ESCAPE\_SEQUENCE على أنه خطأ تحليل لتتمكن من تخطيه في تنسيقات إدخال الصفوف [#61883](https://github.com/ClickHouse/ClickHouse/pull/61883) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح كتابة رسالة Exception في output format عبر HTTP عند استخدام http\_wait\_end\_of\_query [#61951](https://github.com/ClickHouse/ClickHouse/pull/61951) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح مناسب لـ LowCardinality مع دوال JSONExtact [#61957](https://github.com/ClickHouse/ClickHouse/pull/61957) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح crash في المحرك Merge إذا لم تكن Row Policy تحتوي على expression [#61971](https://github.com/ClickHouse/ClickHouse/pull/61971) ([Ilya Golshtein](https://github.com/ilejn)).
* إصلاح Exception غير ملتقطة في destructor الخاص بـ WriteBufferAzureBlobStorage [#61988](https://github.com/ClickHouse/ClickHouse/pull/61988) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* إصلاح CREATE TABLE بدون تعريف الأعمدة لـ ReplicatedMergeTree [#62040](https://github.com/ClickHouse/ClickHouse/pull/62040) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح optimize\_skip\_unused\_shards\_rewrite\_in لمفتاح تجزئة مركّب [#62047](https://github.com/ClickHouse/ClickHouse/pull/62047) ([Azat Khuzhin](https://github.com/azat)).
* ضبط ReadWriteBufferFromHTTP على قيمة host الصحيحة في الترويسة عند إعادة التوجيه [#62068](https://github.com/ClickHouse/ClickHouse/pull/62068) ([Sema Checherinda](https://github.com/CheSema)).
* إصلاح تعذّر external table على تحليل نوع البيانات Bool [#62115](https://github.com/ClickHouse/ClickHouse/pull/62115) ([Duc Canh Le](https://github.com/canhld94)).
* المحلّل: إصلاح تحليل query parameter [#62186](https://github.com/ClickHouse/ClickHouse/pull/62186) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح استعادة الأجزاء في وضع readonly [#62207](https://github.com/ClickHouse/ClickHouse/pull/62207) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح crash في تعريف index يحتوي على SQL UDF [#62225](https://github.com/ClickHouse/ClickHouse/pull/62225) ([vdimir](https://github.com/vdimir)).
* إصلاح بذرة عشوائية NULL في generateRandom مع المحلّل. [#62248](https://github.com/ClickHouse/ClickHouse/pull/62248) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* التعامل بشكل صحيح مع الأعمدة الثابتة في Distinct Transfom [#62250](https://github.com/ClickHouse/ClickHouse/pull/62250) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح Parts Splitter للاستعلامات التي تستخدم المعدِّل FINAL [#62268](https://github.com/ClickHouse/ClickHouse/pull/62268) ([Nikita Taranov](https://github.com/nickitat)).
* المحلّل: إصلاح resolve للـ alias في العرض المعلَّم بمعاملات [#62274](https://github.com/ClickHouse/ClickHouse/pull/62274) ([Dmitry Novik](https://github.com/novikd)).
* المحلّل: إصلاح resolve للأسماء من النطاقات الأصلية [#62281](https://github.com/ClickHouse/ClickHouse/pull/62281) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح argMax مع عمود رقمي غير native قابل لـ Nullable [#62285](https://github.com/ClickHouse/ClickHouse/pull/62285) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح BACKUP وRESTORE لـ materialized view في قاعدة بيانات Ordinary [#62295](https://github.com/ClickHouse/ClickHouse/pull/62295) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح data race على القيم scalar في Context [#62305](https://github.com/ClickHouse/ClickHouse/pull/62305) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح المفتاح الأساسي في materialized view [#62319](https://github.com/ClickHouse/ClickHouse/pull/62319) ([Murat Khairulin](https://github.com/mxwell)).
* عدم إنشاء pipeline insert متعددة الخيوط للجداول التي لا تدعم ذلك [#62333](https://github.com/ClickHouse/ClickHouse/pull/62333) ([vdimir](https://github.com/vdimir)).
* إصلاح المحلّل مع الوسائط الموضعية في الاستعلام الموزّع [#62362](https://github.com/ClickHouse/ClickHouse/pull/62362) ([flynn](https://github.com/ucasfl)).
* إصلاح filter pushdown من additional\_table\_filters في محرك Merge داخل المحلّل [#62398](https://github.com/ClickHouse/ClickHouse/pull/62398) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح استعلامات جدول GLOBAL IN مع المحلّل. [#62409](https://github.com/ClickHouse/ClickHouse/pull/62409) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* مراعاة الإعدادات truncate\_on\_insert/create\_new\_file\_on\_insert في محركات s3/hdfs/azure أثناء الكتابة المقسّمة حسب partition [#62425](https://github.com/ClickHouse/ClickHouse/pull/62425) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح مسار restore للنسخ الاحتياطي في AzureBlobStorage [#62447](https://github.com/ClickHouse/ClickHouse/pull/62447) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* إصلاح SimpleSquashingChunksTransform [#62451](https://github.com/ClickHouse/ClickHouse/pull/62451) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح التقاط lambda المتداخلة. [#62462](https://github.com/ClickHouse/ClickHouse/pull/62462) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تجنّب حدوث crash عند قراءة Protobuf مع أنواع recursive [#62506](https://github.com/ClickHouse/ClickHouse/pull/62506) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح خطأ عند نقل partition إلى نفسها [#62524](https://github.com/ClickHouse/ClickHouse/pull/62524) ([helifu](https://github.com/helifu)).
* إصلاح scalar subquery في LIMIT [#62567](https://github.com/ClickHouse/ClickHouse/pull/62567) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح segfault في Hive engine التجريبي وغير المدعوم، والذي لا نفضله على أي حال [#62578](https://github.com/ClickHouse/ClickHouse/pull/62578) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح تسرّب الذاكرة في groupArraySorted [#62597](https://github.com/ClickHouse/ClickHouse/pull/62597) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح crash في largestTriangleThreeBuckets [#62646](https://github.com/ClickHouse/ClickHouse/pull/62646) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح tumble\[Start,End] و hop\[Start,End] عند درجات دقة أعلى [#62705](https://github.com/ClickHouse/ClickHouse/pull/62705) ([Jordi Villar](https://github.com/jrdi)).
* إصلاح حالة combinator في argMin/argMax [#62708](https://github.com/ClickHouse/ClickHouse/pull/62708) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح تعطل البيانات المؤقتة في cache بسبب تحسين التنازع على قفل cache [#62715](https://github.com/ClickHouse/ClickHouse/pull/62715) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح crash في الدالة `mergeTreeIndex` [#62762](https://github.com/ClickHouse/ClickHouse/pull/62762) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح: تحديث: الأعمدة materialized المتداخلة: إصلاحات لفحص الحجم [#62773](https://github.com/ClickHouse/ClickHouse/pull/62773) ([Eliot Hautefeuille](https://github.com/hileef)).
* إصلاح عدم تطبيق FINAL modifier في CTE مع المحلّل [#62811](https://github.com/ClickHouse/ClickHouse/pull/62811) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح crash في الدالة `formatRow` مع format ‏`JSON` وواجهة HTTP [#62840](https://github.com/ClickHouse/ClickHouse/pull/62840) ([Anton Popov](https://github.com/CurtizJ)).
* Azure: إصلاح إنشاء عنوان URL النهائي من كائن endpoint [#62850](https://github.com/ClickHouse/ClickHouse/pull/62850) ([Daniel Pozo Escalona](https://github.com/danipozo)).
* إصلاح codec ‏GCD [#62853](https://github.com/ClickHouse/ClickHouse/pull/62853) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح مفتاح LowCardinality(Nullable) في hyperrectangle [#62866](https://github.com/ClickHouse/ClickHouse/pull/62866) ([Amos Bird](https://github.com/amosbird)).
* إصلاح fromUnixtimestamp في صياغة Joda عندما تتجاوز قيمة الإدخال UInt32 [#62901](https://github.com/ClickHouse/ClickHouse/pull/62901) ([KevinyhZou](https://github.com/KevinyhZou)).
* تعطيل optimize\_rewrite\_aggregate\_function\_with\_if لـ sum(nullable) [#62912](https://github.com/ClickHouse/ClickHouse/pull/62912) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح PREWHERE في StorageBuffer مع أنواع أعمدة مختلفة في source table. [#62916](https://github.com/ClickHouse/ClickHouse/pull/62916) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح التعامل غير الصحيح مع فشل إنشاء directory لمفتاح cache في البيانات المؤقتة في cache [#62925](https://github.com/ClickHouse/ClickHouse/pull/62925) ([Kseniia Sumarokova](https://github.com/kssenii)).
* gRPC: إصلاح crash عند اتصال peer عبر IPv6 [#62978](https://github.com/ClickHouse/ClickHouse/pull/62978) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* إصلاح احتمال حدوث CHECKSUM\_DOESNT\_MATCH (وأخطاء أخرى) أثناء fetches المتماثلة [#62987](https://github.com/ClickHouse/ClickHouse/pull/62987) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الإنهاء بسبب استثناء غير ملتقط في البيانات المؤقتة في cache [#62998](https://github.com/ClickHouse/ClickHouse/pull/62998) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح التحويل الضمني في optimize\_rewrite\_aggregate\_function\_with\_if [#62999](https://github.com/ClickHouse/ClickHouse/pull/62999) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح الاستثناء غير المُعالَج في \~RestorerFromBackup [#63040](https://github.com/ClickHouse/ClickHouse/pull/63040) ([Vitaly Baranov](https://github.com/vitlibar)).
* عدم إزالة ثوابت الخادم من مفتاح GROUP BY للاستعلام الثانوي. [#63047](https://github.com/ClickHouse/ClickHouse/pull/63047) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح التقدير الخاطئ لرتابة الدالة abs [#63097](https://github.com/ClickHouse/ClickHouse/pull/63097) ([Duc Canh Le](https://github.com/canhld94)).
* تعيين اسم الخادم لمصافحة SSL في محرك MongoDB [#63122](https://github.com/ClickHouse/ClickHouse/pull/63122) ([Alexander Gololobov](https://github.com/davenger)).
* استخدام قاعدة البيانات التي يحددها المستخدم بدلًا من "config" للتحقق من إصدار بروتوكول wire في MongoDB [#63126](https://github.com/ClickHouse/ClickHouse/pull/63126) ([Alexander Gololobov](https://github.com/davenger)).

### <a id="243" /> إصدار ClickHouse 24.3 LTS، 2024-03-27. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.3/)، [الفيديو](https://www.youtube.com/watch?v=FGhdXXXTuTg)

<Frame>
  <iframe src="https://www.youtube.com/embed/FGhdXXXTuTg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="upgrade-notes">
  #### ملاحظات الترقية
</div>

* يكون الإعداد `allow_experimental_analyzer` مفعّلًا افتراضيًا، وهو ينقل query analysis إلى تنفيذ جديد يتمتع بتوافق أفضل واكتمال أكبر للميزات. وتُعد ميزة "analyzer" الآن في مرحلة بيتا بدلًا من تجريبية. يمكنك استعادة السلوك القديم عبر ضبط `compatibility` على `24.2` أو تعطيل الإعداد `allow_experimental_analyzer`. شاهد [الفيديو على YouTube](https://www.youtube.com/watch?v=zhrOYQpgvkk).
* يتيح ClickHouse استخدام بيانات binary عشوائية في نوع البيانات String، الذي يكون عادةً UTF-8. ولا تدعم Strings في Parquet/ORC/Arrow سوى UTF-8. لذلك يمكنك اختيار نوع البيانات في Arrow الذي سيُستخدم مع نوع البيانات String في ClickHouse — أي String أو Binary. ويجري التحكم في ذلك عبر الإعدادات `output_format_parquet_string_as_string` و`output_format_orc_string_as_string` و`output_format_arrow_string_as_string`. ومع أن Binary أكثر دقةً وتوافقًا، فإن استخدام String افتراضيًا يتوافق مع توقعات المستخدمين في معظم الحالات. ويدعم Parquet/ORC/Arrow العديد من طرق الضغط، بما في ذلك lz4 وzstd. ويدعم ClickHouse جميع طرق الضغط هذه. وبعض الأدوات الأقل جودة تفتقر إلى دعم طريقة الضغط الأسرع `lz4`، ولذلك جعلنا `zstd` الخيار الافتراضي. ويجري التحكم في ذلك عبر الإعدادات `output_format_parquet_compression_method` و`output_format_orc_compression_method` و`output_format_arrow_compression_method`. لقد غيّرنا القيمة الافتراضية إلى `zstd` في Parquet وORC، ولكن ليس في Arrow (إذ يركّز على الاستخدامات منخفضة المستوى). [#61817](https://github.com/ClickHouse/ClickHouse/pull/61817) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* في إصدار ClickHouse الجديد، ستستخدم الدوال `geoDistance` و`greatCircleDistance` و`greatCircleAngle` نوع البيانات ذي الفاصلة العائمة مزدوجة الدقة 64-بت في الحسابات الداخلية وفي نوع الإرجاع إذا كانت جميع الوسائط من نوع Float64. وهذا يُغلق [#58476](https://github.com/ClickHouse/ClickHouse/issues/58476). في الإصدارات السابقة، كانت الدالة تستخدم دائمًا Float32. يمكنك العودة إلى السلوك القديم عبر ضبط `geo_distance_returns_float64_on_float64_arguments` على `false` أو ضبط `compatibility` على `24.2` أو أقدم. [#61848](https://github.com/ClickHouse/ClickHouse/pull/61848) ([Alexey Milovidov](https://github.com/alexey-milovidov)). بالمشاركة في التأليف مع [Geet Patel](https://github.com/geetptl).
* أصبحت أجزاء البيانات القديمة الموجودة في الذاكرة مهملة منذ الإصدار 23.5، ولم تعد مدعومة منذ الإصدار 23.10. والآن أُزيلت الشيفرة المتبقية. استكمالًا لـ [#55186](https://github.com/ClickHouse/ClickHouse/issues/55186) و[#45409](https://github.com/ClickHouse/ClickHouse/issues/45409). ومن غير المرجح أنك استخدمت أجزاء البيانات الموجودة في الذاكرة لأنها كانت متاحة فقط قبل الإصدار 23.5، وفقط عند تفعيلها يدويًا بتحديد SETTINGS المقابلة لجدول MergeTree. للتحقق مما إذا كانت لديك أجزاء بيانات موجودة في الذاكرة، شغّل الاستعلام التالي: `SELECT part_type, count() FROM system.parts GROUP BY part_type ORDER BY part_type`. ولتعطيل استخدام أجزاء البيانات الموجودة في الذاكرة، نفّذ `ALTER TABLE ... MODIFY SETTING min_bytes_for_compact_part = DEFAULT, min_rows_for_compact_part = DEFAULT`. قبل الترقية من إصدارات ClickHouse القديمة، تحقّق أولًا من عدم وجود أجزاء بيانات في الذاكرة لديك. وإذا وُجدت أجزاء بيانات في الذاكرة، فعطّلها أولًا، ثم انتظر حتى تختفي جميع أجزاء البيانات الموجودة في الذاكرة، وبعد ذلك واصل الترقية. [#61127](https://github.com/ClickHouse/ClickHouse/pull/61127) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تغيّر اسم العمود من `duration_ms` إلى `duration_microseconds` في جدول `system.zookeeper` ليعكس حقيقة أن المدة تُقاس بدقة الميكروثانية. [#60774](https://github.com/ClickHouse/ClickHouse/pull/60774) ([Duc Canh Le](https://github.com/canhld94)).
* ارفض استعلامات INSERT الواردة إذا كانت إعدادات مستوى الاستعلام `async_insert` و`deduplicate_blocks_in_dependent_materialized_views` مفعّلتين معًا. يتحكم في هذا السلوك الإعداد `throw_if_deduplication_in_dependent_materialized_views_enabled_with_async_insert`، وهو مفعّل افتراضيًا. ويُعد هذا استكمالًا لـ [https://github.com/ClickHouse/ClickHouse/pull/59699،](https://github.com/ClickHouse/ClickHouse/pull/59699،) وهو مطلوب لإزالة العائق أمام [https://github.com/ClickHouse/ClickHouse/pull/59915](https://github.com/ClickHouse/ClickHouse/pull/59915). [#60888](https://github.com/ClickHouse/ClickHouse/pull/60888) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* نُقلت الأداة `clickhouse-copier` إلى repository منفصل على GitHub: [https://github.com/ClickHouse/copier](https://github.com/ClickHouse/copier). لم تعد مضمنة في الحزمة، لكنها لا تزال متاحة للتنزيل بشكل منفصل. هذا يغلق: [#60734](https://github.com/ClickHouse/ClickHouse/issues/60734) هذا يغلق: [#60540](https://github.com/ClickHouse/ClickHouse/issues/60540) هذا يغلق: [#60250](https://github.com/ClickHouse/ClickHouse/issues/60250) هذا يغلق: [#52917](https://github.com/ClickHouse/ClickHouse/issues/52917) هذا يغلق: [#51140](https://github.com/ClickHouse/ClickHouse/issues/51140) هذا يغلق: [#47517](https://github.com/ClickHouse/ClickHouse/issues/47517) هذا يغلق: [#47189](https://github.com/ClickHouse/ClickHouse/issues/47189) هذا يغلق: [#46598](https://github.com/ClickHouse/ClickHouse/issues/46598) هذا يغلق: [#40257](https://github.com/ClickHouse/ClickHouse/issues/40257) هذا يغلق: [#36504](https://github.com/ClickHouse/ClickHouse/issues/36504) هذا يغلق: [#35485](https://github.com/ClickHouse/ClickHouse/issues/35485) هذا يغلق: [#33702](https://github.com/ClickHouse/ClickHouse/issues/33702) هذا يغلق: [#26702](https://github.com/ClickHouse/ClickHouse/issues/26702).
* لزيادة التوافق مع MySQL، أصبح الاسم البديل التوافقي `locate` يقبل الآن الوسيطات `(needle, haystack[, start_pos])` افتراضيًا. ويمكن استعادة السلوك السابق `(haystack, needle, [, start_pos])` عبر ضبط `function_locate_has_mysql_compatible_argument_order = 0`. [#61092](https://github.com/ClickHouse/ClickHouse/pull/61092) ([Robert Schulze](https://github.com/rschu1ze)).
* يُمنع `SimpleAggregateFunction` في `ORDER BY` لجداول `MergeTree` افتراضيًا (مثل `AggregateFunction`، إذ يُمنع كلاهما لأنه غير قابل للمقارنة) (استخدم `allow_suspicious_primary_key` للسماح بهما). [#61399](https://github.com/ClickHouse/ClickHouse/pull/61399) ([Azat Khuzhin](https://github.com/azat)).
* أصبح database engine ‏`Ordinary` في حالة Deprecated. ستتلقى تحذيرًا في clickhouse-client إذا كان server لديك يستخدمه. هذا يغلق [#52229](https://github.com/ClickHouse/ClickHouse/issues/52229). [#56942](https://github.com/ClickHouse/ClickHouse/pull/56942) ([shabroo](https://github.com/shabroo)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* إضافة دعم لقراءة النسخ الاحتياطية وكتابتها بصيغة `tar` (إلى جانب `zip`). [#59535](https://github.com/ClickHouse/ClickHouse/pull/59535) ([josh-hildred](https://github.com/josh-hildred)).
* إضافة دعم لحاويات S3 Express. [#59965](https://github.com/ClickHouse/ClickHouse/pull/59965) ([Nikita Taranov](https://github.com/nickitat)).
* السماح بإرفاق الأجزاء من قرص مختلف (باستخدام النسخ بدلًا من الرابط الثابت). [#60112](https://github.com/ClickHouse/ClickHouse/pull/60112) ([Unalian](https://github.com/Unalian)).
* جداول `Memory` محدودة الحجم: يجري التحكم بها عبر إعداداتها `min_bytes_to_keep, max_bytes_to_keep, min_rows_to_keep` و `max_rows_to_keep`. [#60612](https://github.com/ClickHouse/ClickHouse/pull/60612) ([Jake Bamrah](https://github.com/JakeBamrah)).
* فصل الحدود الخاصة بعدد الاستعلامات المنتظرة والمنفَّذة. تمت إضافة إعداد خادم جديد `max_waiting_queries` يحدّ من عدد الاستعلامات المنتظرة بسبب `async_load_databases`. ولم تعد الحدود الحالية لعدد الاستعلامات المنفَّذة تحتسب الاستعلامات المنتظرة. [#61053](https://github.com/ClickHouse/ClickHouse/pull/61053) ([Sergei Trifonov](https://github.com/serxa)).
* تمت إضافة جدول `system.keywords` الذي يحتوي على جميع الكلمات المفتاحية من المُحلِّل. وهو مطلوب أساسًا وسيُستخدم لتحسين اختبار Fuzzing وإبراز الصياغة. [#51808](https://github.com/ClickHouse/ClickHouse/pull/51808) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إضافة دعم `ATTACH PARTITION ALL`. [#61107](https://github.com/ClickHouse/ClickHouse/pull/61107) ([Kirill Nikiforov](https://github.com/allmazz)).
* إضافة دالة جديدة، `getClientHTTPHeader`. وبذلك أُغلقت [#54665](https://github.com/ClickHouse/ClickHouse/issues/54665). بالمشاركة في التأليف مع @lingtaolf. [#61820](https://github.com/ClickHouse/ClickHouse/pull/61820) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة `generate_series` كدالة جدولية (اسم بديل متوافق مع PostgreSQL للدالة الحالية `numbers`). تُولِّد هذه الدالة جدولًا يحتوي على متتالية حسابية من الأعداد الطبيعية. [#59390](https://github.com/ClickHouse/ClickHouse/pull/59390) ([divanik](https://github.com/divanik)).
* إضافة وضع دعم لـ `topK`/`topkWeighed` يُرجع عدد القيم وخطأها. [#54508](https://github.com/ClickHouse/ClickHouse/pull/54508) ([UnamedRus](https://github.com/UnamedRus)).
* تمت إضافة الدالة `toMillisecond` التي تُرجع مكوّن الملّي ثانية للقيم من النوع `DateTime` أو `DateTime64`. [#60281](https://github.com/ClickHouse/ClickHouse/pull/60281) ([Shaun Struwig](https://github.com/Blargian)).
* السماح بتهيئة معالجات إعادة توجيه HTTP لـ clickhouse-server. على سبيل المثال، يمكنك جعل `/` يعيد التوجيه إلى واجهة Play. [#60390](https://github.com/ClickHouse/ClickHouse/pull/60390) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* جرى تحسين الدالة `dotProduct` لتجنّب نسخ الذاكرة غير الضروري والمكلف. [#60928](https://github.com/ClickHouse/ClickHouse/pull/60928) ([Robert Schulze](https://github.com/rschu1ze)).
* أصبحت طباعة الأعداد الصحيحة ذات 256 بت أسرع بمقدار 30 مرة. [#61100](https://github.com/ClickHouse/ClickHouse/pull/61100) ([Raúl Marín](https://github.com/Algunenano)).
* إذا كان المفتاح الأساسي للجدول يحتوي في معظمه على أعمدة غير مفيدة، فلا تُحتفَظ هذه الأعمدة في الذاكرة. ويُتحكَّم في ذلك عبر إعداد جديد هو `primary_key_ratio_of_unique_prefix_values_to_skip_suffix_columns` بقيمة افتراضية `0.9`، ما يعني أنه في المفتاح الأساسي المركّب، إذا كان أحد الأعمدة يغيّر قيمته في 0.9 على الأقل من إجمالي الحالات، فلن تُحمَّل الأعمدة التي تليه. [#60255](https://github.com/ClickHouse/ClickHouse/pull/60255) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحسين أداء أساليب التجميع المتسلسلة عند وجود عدة أعمدة `Nullable`. [#55809](https://github.com/ClickHouse/ClickHouse/pull/55809) ([Amos Bird](https://github.com/amosbird)).
* إنشاء مخرجات JSON عند الحاجة فقط لتحسين أداء ALL JOIN. [#58278](https://github.com/ClickHouse/ClickHouse/pull/58278) ([LiuNeng](https://github.com/liuneng1994)).
* أصبحت اتصالات HTTP/HTTPS مع الخدمات الخارجية، مثل AWS S3، قابلة لإعادة الاستخدام في جميع حالات الاستخدام، حتى عندما تكون الاستجابة من فئة 3xx أو 4xx. [#58845](https://github.com/ClickHouse/ClickHouse/pull/58845) ([Sema Checherinda](https://github.com/CheSema)).
* تحسينات على الدوال التجميعية `argMin` / `argMax` / `any` / `anyLast` / `anyHeavy`، وكذلك على استعلامات `ORDER BY {u8/u16/u32/u64/i8/i16/u32/i64) LIMIT 1`. [#58640](https://github.com/ClickHouse/ClickHouse/pull/58640) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين بسيط لمرشّح العمود. ويمكن خفض Peak memory إلى 44% من القيمة الأصلية في بعض الحالات. [#59698](https://github.com/ClickHouse/ClickHouse/pull/59698) ([李扬](https://github.com/taiyang-li)).
* تنفيذ الدالة `multiIf` بأسلوب columnar عندما يكون النوع الأساسي لنوع النتيجة عددًا. [#60384](https://github.com/ClickHouse/ClickHouse/pull/60384) ([李扬](https://github.com/taiyang-li)).
* أصبح `mutex` أسرع (بما يقارب الضعف). [#60823](https://github.com/ClickHouse/ClickHouse/pull/60823) ([Azat Khuzhin](https://github.com/azat)).
* تصريف عدة اتصالات بالتوازي عند اكتمال distributed query. [#60845](https://github.com/ClickHouse/ClickHouse/pull/60845) ([lizhuoyu5](https://github.com/lzydmxy)).
* تحسين نقل البيانات بين أعمدة من نوع Nullable رقمي أو Nullable نصي، ما يحسّن بعض الاختبارات المعيارية المصغّرة. [#60846](https://github.com/ClickHouse/ClickHouse/pull/60846) ([李扬](https://github.com/taiyang-li)).
* ستتأثر العمليات على filesystem cache بدرجة أقل من التنافس على القفل. [#61066](https://github.com/ClickHouse/ClickHouse/pull/61066) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحسين ARRAY JOIN وعمليات JOIN الأخرى عبر منع تحسين خاطئ من المصرّف. إغلاق [#61074](https://github.com/ClickHouse/ClickHouse/issues/61074).  [#61075](https://github.com/ClickHouse/ClickHouse/pull/61075) ([李扬](https://github.com/taiyang-li)).
* إذا كان الاستعلام الذي يحتوي على خطأ نحوي يتضمن المطابِق `COLUMNS` مع تعبير نمطي، فكان التعبير النمطي يُصرَّف برمجيًا في كل مرة أثناء التراجع في المحلل النحوي، بدلًا من تصريفه مرة واحدة فقط. كان هذا خطأً جوهريًا. وقد وُضع التعبير النمطي المُصرَّف في AST. لكن الحرف A في AST يعني "abstract"، أي إنه يجب ألا يحتوي على كائنات ثقيلة. ويمكن إنشاء أجزاء من AST والتخلص منها أثناء التحليل النحوي، بما في ذلك أثناء عدد كبير من عمليات التراجع. يؤدي ذلك إلى بطء في جانب التحليل النحوي، وبالتالي يتيح تنفيذ هجوم DoS بواسطة مستخدم `readonly`. لكن المشكلة الرئيسية هي أن ذلك يعيق التقدم في أدوات Fuzzers. [#61543](https://github.com/ClickHouse/ClickHouse/pull/61543) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُضيفت مرحلة جديدة في المحلّل لتحسين العامل IN عند وجود قيمة واحدة. [#61564](https://github.com/ClickHouse/ClickHouse/pull/61564) ([LiuNeng](https://github.com/liuneng1994)).
* يقوم DNSResolver بخلط مجموعة عناوين IP التي تم حلّها، وهو ما يلزم لتحقيق استخدام متوازن لعدة نقاط نهاية في AWS S3. [#60965](https://github.com/ClickHouse/ClickHouse/pull/60965) ([Sema Checherinda](https://github.com/CheSema)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* دعم القراءة المتوازية لـ Azure Blob Storage. يحسّن ذلك أداء تخزين الكائنات التجريبي في Azure. [#61503](https://github.com/ClickHouse/ClickHouse/pull/61503) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* إضافة `WriteBuffer` غير متزامن لـ Azure Blob Storage، على غرار S3. يحسّن ذلك أداء تخزين الكائنات التجريبي في Azure. [#59929](https://github.com/ClickHouse/ClickHouse/pull/59929) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* استخدام الهوية المُدارة لعمليات الإدخال/الإخراج الخاصة بالنسخ الاحتياطية عند استخدام Azure Blob Storage. وإضافة إعداد يمنع ClickHouse من محاولة إنشاء حاوية غير موجودة، وهو ما يتطلب أذونات على مستوى حساب التخزين. [#61785](https://github.com/ClickHouse/ClickHouse/pull/61785) ([Daniel Pozo Escalona](https://github.com/danipozo)).
* إضافة الإعداد `parallel_replicas_allow_in_with_subquery = 1`، الذي يتيح عمل الاستعلامات الفرعية لـ IN مع النسخ المتماثلة المتوازية. [#60950](https://github.com/ClickHouse/ClickHouse/pull/60950) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تغيير يتعلق بالنسخ المتماثل "بدون نسخ": يجب حذف جميع أقفال zero-copy المرتبطة بجدول عند حذف الجدول. كما يجب إزالة الدليل الذي يحتوي على هذه الأقفال. [#57575](https://github.com/ClickHouse/ClickHouse/pull/57575) ([Sema Checherinda](https://github.com/CheSema)).

<div id="improvement-1">
  #### تحسين
</div>

* استخدام `MergeTree` كمحرك الجدول الافتراضي. [#60524](https://github.com/ClickHouse/ClickHouse/pull/60524) ([Alexey Milovidov](https://github.com/alexey-milovidov))
* تفعيل `output_format_pretty_row_numbers` افتراضيًا، لأنه أفضل من ناحية سهولة الاستخدام. [#61791](https://github.com/ClickHouse/ClickHouse/pull/61791) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* في الإصدار السابق، لم تكن بعض الأرقام في تنسيقات Pretty منسّقة بالقدر الكافي. [#61794](https://github.com/ClickHouse/ClickHouse/pull/61794) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* لن تُقتطع القيمة الطويلة في تنسيقات Pretty إذا كانت هي القيمة الوحيدة في مجموعة النتائج، كما في ناتج الاستعلام `SHOW CREATE TABLE`. [#61795](https://github.com/ClickHouse/ClickHouse/pull/61795) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* على غرار `clickhouse-local`، سيقبل `clickhouse-client` الخيار `--output-format` كمرادف للخيار `--format`. وهذا يغلق [#59848](https://github.com/ClickHouse/ClickHouse/issues/59848). [#61797](https://github.com/ClickHouse/ClickHouse/pull/61797) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إذا كان stdout عبارة عن طرفية ولم يُحدَّد تنسيق الإخراج، فسيستخدم `clickhouse-client` والأدوات المشابهة `PrettyCompact` افتراضيًا، كما في الوضع التفاعلي. وسيتعامل `clickhouse-client` و`clickhouse-local` مع وسيطات سطر الأوامر الخاصة بتنسيقات الإدخال والإخراج بطريقة موحّدة. وهذا يغلق [#61272](https://github.com/ClickHouse/ClickHouse/issues/61272). [#61800](https://github.com/ClickHouse/ClickHouse/pull/61800) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تجميع الأرقام بشرطات سفلية في تنسيقات Pretty لتحسين سهولة القراءة. ويتحكم في ذلك إعداد جديد هو `output_format_pretty_highlight_digit_groups`. [#61802](https://github.com/ClickHouse/ClickHouse/pull/61802) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة إمكانية تجاوز إعدادات INSERT الأولية عبر `SYSTEM FLUSH DISTRIBUTED`. [#61832](https://github.com/ClickHouse/ClickHouse/pull/61832) ([Azat Khuzhin](https://github.com/azat)).
* تفعيل profiling للمعالجات افتراضيًا (الوقت المستغرق/عدد البايتات الداخلة والخارجة لعمليات الفرز والتجميع، ...). [#61096](https://github.com/ClickHouse/ClickHouse/pull/61096) ([Azat Khuzhin](https://github.com/azat)).
* دعم الملفات التي لا تحتوي على امتداد تنسيق في قاعدة بيانات Filesystem. [#60795](https://github.com/ClickHouse/ClickHouse/pull/60795) ([Kruglov Pavel](https://github.com/Avogar)).
* جعل جميع أسماء التنسيقات غير حساسة لحالة الأحرف، مثل Tsv أو TSV أو tsv أو حتى rowbinary. [#60420](https://github.com/ClickHouse/ClickHouse/pull/60420) ([豪肥肥](https://github.com/HowePa)). وسأقدّر استمرارك في كتابتها بالشكل الصحيح، مثل `JSON` 😇 لا `Json` 🤮، لكن لا بأس إن كتبتها بالطريقة التي تفضّلها.
* تمت إضافة الوضع `none_only_active` للإعداد `distributed_ddl_output_mode`. [#60340](https://github.com/ClickHouse/ClickHouse/pull/60340) ([Alexander Tokmakov](https://github.com/tavplubix)).
* أصبحت ألوان لوحة المعلومات المتقدمة أفضل قليلًا للرسوم البيانية متعددة الخطوط. [#60391](https://github.com/ClickHouse/ClickHouse/pull/60391) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحتوي لوحة المعلومات المتقدمة الآن على عناصر تحكم تظل مرئية دائمًا أثناء التمرير. وهذا يتيح لك إضافة مخطط جديد دون الحاجة إلى التمرير إلى الأعلى. [#60692](https://github.com/ClickHouse/ClickHouse/pull/60692) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أثناء تنفيذ الاستعلام `MODIFY COLUMN` للعروض المادية، تحقّق من بنية الجدول الداخلي للتأكد من وجود كل عمود. [#47427](https://github.com/ClickHouse/ClickHouse/pull/47427) ([sunny](https://github.com/sunny19930321)).
* يمكن استخدام أنواع String وEnums في السياق نفسه، مثل: المصفوفات، واستعلامات UNION، والتعبيرات الشرطية. وبذلك تُغلَق المشكلة [#60726](https://github.com/ClickHouse/ClickHouse/issues/60726). [#60727](https://github.com/ClickHouse/ClickHouse/pull/60727) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* السماح بتعريف Enums في بنية البيانات الخارجية لمعالجة الاستعلامات (وهو جدول مؤقت فوري يمكنك توفيره لاستعلامك). [#57857](https://github.com/ClickHouse/ClickHouse/pull/57857) ([Duc Canh Le](https://github.com/canhld94)).
* أُخذت الصفوف المحذوفة حذفًا خفيفًا في الاعتبار عند اختيار الأجزاء المراد دمجها، بحيث يمكن تقدير حجم القرص للجزء الناتج على نحوٍ أدق. [#58223](https://github.com/ClickHouse/ClickHouse/pull/58223) ([Zhuo Qiu](https://github.com/jewelzqiu)).
* أُضيفت تعليقات للأعمدة في المزيد من جداول النظام. استكمالًا لـ [https://github.com/ClickHouse/ClickHouse/pull/58356](https://github.com/ClickHouse/ClickHouse/pull/58356). [#59016](https://github.com/ClickHouse/ClickHouse/pull/59016) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* أصبح بالإمكان الآن استخدام الأعمدة الافتراضية في PREWHERE. وهذا مفيد للأعمدة الافتراضية غير الثابتة مثل `_part_offset`. [#59033](https://github.com/ClickHouse/ClickHouse/pull/59033) ([Amos Bird](https://github.com/amosbird)). وتحسّنت سهولة الاستخدام العامة للأعمدة الافتراضية. فقد أصبح الآن مسموحًا باستخدام الأعمدة الافتراضية في `PREWHERE` (وهو أمر مفيد للأعمدة الافتراضية غير الثابتة مثل `_part_offset`). كما أصبحت الوثائق المضمّنة متاحة الآن للأعمدة الافتراضية بوصفها تعليقًا على العمود في استعلام `DESCRIBE` عند تمكين الإعداد `describe_include_virtual_columns`. [#60205](https://github.com/ClickHouse/ClickHouse/pull/60205) ([Anton Popov](https://github.com/CurtizJ)).
* بدلًا من استخدام مفتاح ثابت، أصبح تخزين الكائنات الآن يُنشئ مفتاحًا لتحديد صلاحية إزالة الكائنات. [#59495](https://github.com/ClickHouse/ClickHouse/pull/59495) ([Sema Checherinda](https://github.com/CheSema)).
* السماح باستخدام "local" بوصفه نوع تخزين الكائنات بدلًا من "local\_blob\_storage". [#60165](https://github.com/ClickHouse/ClickHouse/pull/60165) ([Kseniia Sumarokova](https://github.com/kssenii)).
* التفريغ المتوازي لكتل INSERT المعلّقة في محرك Distributed عند `DETACH`/إيقاف الخادم وعند `SYSTEM FLUSH DISTRIBUTED` (لن يعمل التوازي إلا إذا كانت لديك سياسة متعددة الأقراص لجدول ما، كما هو الحال مع كل شيء في محرك Distributed حاليًا). [#60225](https://github.com/ClickHouse/ClickHouse/pull/60225) ([Azat Khuzhin](https://github.com/azat)).
* إضافة إعداد لفرض استخدام read-through cache لعمليات الدمج. [#60308](https://github.com/ClickHouse/ClickHouse/pull/60308) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تحسين لبروتوكول التوافق مع MySQL. تشير المشكلة [#57598](https://github.com/ClickHouse/ClickHouse/issues/57598) إلى اختلاف في السلوك يتعلق بالتعامل مع المعاملات. إذ يُبلَّغ عن إرسال COMMIT/ROLLBACK عندما لا تكون هناك معاملة نشطة على أنه خطأ، خلافًا لسلوك MySQL. [#60338](https://github.com/ClickHouse/ClickHouse/pull/60338) ([PapaToemmsn](https://github.com/PapaToemmsn)).
* أصبحت الدالة `substring` تملك الآن اسمًا مستعارًا جديدًا هو `byteSlice`. [#60494](https://github.com/ClickHouse/ClickHouse/pull/60494) ([Robert Schulze](https://github.com/rschu1ze)).
* أُعيدت تسمية إعداد الخادم `dns_cache_max_size` إلى `dns_cache_max_entries` لتقليل الالتباس. [#60500](https://github.com/ClickHouse/ClickHouse/pull/60500) ([Kirill Nikiforov](https://github.com/allmazz)).
* لم يعد `SHOW INDEX | INDEXES | INDICES | KEYS` يفرز النتائج حسب أعمدة المفتاح الأساسي (إذ كان ذلك غير بديهي). [#60514](https://github.com/ClickHouse/ClickHouse/pull/60514) ([Robert Schulze](https://github.com/rschu1ze)).
* تحسين في Keeper: إيقاف التشغيل أثناء بدء التشغيل عند اكتشاف snapshot غير صالحة لتجنّب فقدان البيانات. [#60537](https://github.com/ClickHouse/ClickHouse/pull/60537) ([Antonio Andelic](https://github.com/antonio2368)).
* تحديث tzdata إلى 2024a. [#60768](https://github.com/ClickHouse/ClickHouse/pull/60768) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين في Keeper: دعم `leadership_expiry_ms` في إعدادات Keeper. [#60806](https://github.com/ClickHouse/ClickHouse/pull/60806) ([Brokenice0415](https://github.com/Brokenice0415)).
* استنتاج الأعداد ذات الصيغة الأسّية دائمًا في تنسيقات JSON بغضّ النظر عن الإعداد `input_format_try_infer_exponent_floats`. وإضافة الإعداد `input_format_json_use_string_type_for_ambiguous_paths_in_named_tuples_inference_from_objects` الذي يتيح استخدام String type للمسارات الملتبسة بدلًا من إرجاع استثناء أثناء استنتاج named Tuples من JSON objects. [#60808](https://github.com/ClickHouse/ClickHouse/pull/60808) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة دعم لبنية `START TRANSACTION` المستخدمة عادةً في صياغة MySQL، ما يحلّ [https://github.com/ClickHouse/ClickHouse/discussions/60865](https://github.com/ClickHouse/ClickHouse/discussions/60865). [#60886](https://github.com/ClickHouse/ClickHouse/pull/60886) ([Zach Naimon](https://github.com/ArctypeZach)).
* إضافة علامة إلى خوارزمية merge join ذات الفرز الكامل للتعامل مع null على أنها الأكبر أو الأصغر. وبذلك يمكن أن يصبح السلوك متوافقًا مع أنظمة SQL الأخرى، مثل Apache Spark. [#60896](https://github.com/ClickHouse/ClickHouse/pull/60896) ([loudongfeng](https://github.com/loudongfeng)).
* دعم اكتشاف تنسيق الإخراج بحسب امتداد الملف في `clickhouse-client` و`clickhouse-local`. [#61036](https://github.com/ClickHouse/ClickHouse/pull/61036) ([豪肥肥](https://github.com/HowePa)).
* تحديث حد الذاكرة في بيئة التشغيل عند تغيّر قيمة CGroups في Linux. [#61049](https://github.com/ClickHouse/ClickHouse/pull/61049) ([Han Fei](https://github.com/hanfei1991)).
* إضافة الدالة `toUInt128OrZero`، التي سقطت سهوًا في السابق (ويرتبط ذلك بـ [https://github.com/ClickHouse/ClickHouse/pull/945](https://github.com/ClickHouse/ClickHouse/pull/945)). كما جرى جعل الأسماء المستعارة التوافقية `FROM_UNIXTIME` و`DATE_FORMAT` (وهما ليستا أصليتين في ClickHouse وتوجدان فقط للتوافق مع MySQL) غير حسّاستين لحالة الأحرف، كما هو متوقّع من الأسماء المستعارة المتوافقة مع SQL. [#61114](https://github.com/ClickHouse/ClickHouse/pull/61114) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحسينات على عمليات التحقق من الوصول، بما يتيح سحب صلاحيات غير ممنوحة في حال لم يكن لدى المستخدم المستهدف أيضًا امتيازات السحب نفسها. مثال: `GRANT SELECT ON *.* TO user1; REVOKE SELECT ON system.* FROM user1;`. [#61115](https://github.com/ClickHouse/ClickHouse/pull/61115) ([pufit](https://github.com/pufit)).
* إصلاح الدالة `has()` مع عمود `Nullable` (يُصلح [#60214](https://github.com/ClickHouse/ClickHouse/issues/60214)). [#61249](https://github.com/ClickHouse/ClickHouse/pull/61249) ([Mikhail Koviazin](https://github.com/mkmkme)).
* أصبح من الممكن الآن تحديد السمة `merge="true"` في substitutions الخاصة بالإعدادات للأشجار الفرعية `<include from_zk="/path" merge="true">`. وعند تحديد هذه السمة، سيقوم ClickHouse بدمج الشجرة الفرعية مع الإعدادات الحالية، وإلا فسيكون السلوك الافتراضي هو إلحاق محتوى جديد بالإعدادات. [#61299](https://github.com/ClickHouse/ClickHouse/pull/61299) ([alesapin](https://github.com/alesapin)).
* إضافة مقاييس غير متزامنة لتعيينات الذاكرة الافتراضية: `VMMaxMapCount` و`VMNumMaps`. إغلاق [#60662](https://github.com/ClickHouse/ClickHouse/issues/60662). [#61354](https://github.com/ClickHouse/ClickHouse/pull/61354) ([Tuan Pham Anh](https://github.com/tuanpavn)).
* استخدام الإعداد `temporary_files_codec` في جميع المواضع التي تُنشأ فيها بيانات مؤقتة، مثل الفرز باستخدام الذاكرة الخارجية وGROUP BY باستخدام الذاكرة الخارجية. وكان يعمل سابقًا فقط مع خوارزمية JOIN `partial_merge`. [#61456](https://github.com/ClickHouse/ClickHouse/pull/61456) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة إعداد جديد `max_parser_backtracks` يتيح تقييد تعقيد parsing الاستعلام. [#61502](https://github.com/ClickHouse/ClickHouse/pull/61502) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تقليل التنازع أثناء تغيير الحجم الديناميكي لذاكرة التخزين المؤقت لنظام الملفات. [#61524](https://github.com/ClickHouse/ClickHouse/pull/61524) ([Kseniia Sumarokova](https://github.com/kssenii)).
* منع الوضع المُجزّأ لطابور StorageS3 لأنه ستُعاد كتابته. [#61537](https://github.com/ClickHouse/ClickHouse/pull/61537) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح خطأ مطبعي: من `use_leagcy_max_level` إلى `use_legacy_max_level`. [#61545](https://github.com/ClickHouse/ClickHouse/pull/61545) ([William Schoeffel](https://github.com/wiledusc)).
* إزالة بعض الإدخالات المكررة في `system.blob_storage_log`. [#61622](https://github.com/ClickHouse/ClickHouse/pull/61622) ([YenchangChan](https://github.com/YenchangChan)).
* إضافة الدالة `current_user` كاسم بديل للتوافق مع MySQL. [#61770](https://github.com/ClickHouse/ClickHouse/pull/61770) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح عدم اتساق حالات الدوال التجميعية ذات الفاصلة العائمة في clusters مختلطة من x86-64 وARM [#60610](https://github.com/ClickHouse/ClickHouse/pull/60610) ([Harry Lee](https://github.com/HarryLeeIBM)).

<div id="buildtestingpackaging-improvement">
  #### تحسينات البناء/الاختبار/التغليف
</div>

* بات مُحلّل الاستعلامات اللحظي يعمل الآن على AArch64. في الإصدارات السابقة، كان يعمل فقط عندما لا يقضي البرنامج وقتًا داخل استدعاء نظام (`syscall`). [#60807](https://github.com/ClickHouse/ClickHouse/pull/60807) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* أُضيف إصدار ClickHouse إلى وسوم Docker. يُغلق [#54224](https://github.com/ClickHouse/ClickHouse/issues/54224). [#60949](https://github.com/ClickHouse/ClickHouse/pull/60949) ([Nikolay Monkov](https://github.com/nikmonkov)).
* ترقية `prqlc` إلى 0.11.3. [#60616](https://github.com/ClickHouse/ClickHouse/pull/60616) ([Maximilian Roos](https://github.com/max-sixty)).
* إضافة مُولِّد اختبارات عشوائية عام لنص الاستعلام في `clickhouse-local`. [#61508](https://github.com/ClickHouse/ClickHouse/pull/61508) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release-5">
  #### إصلاح خطأ (خلل ظاهر للمستخدم في إصدار مستقر رسمي)
</div>

* إصلاح finished\_mutations\_to\_keep=0 في MergeTree (كما تنص الوثائق، فإن 0 تعني الاحتفاظ بكل شيء) [#60031](https://github.com/ClickHouse/ClickHouse/pull/60031) ([Azat Khuzhin](https://github.com/azat)).
* كان هناك خلل في تحسين FINAL، وهكذا وصفه المؤلف: "PartsSplitter invalid ranges for the same part". [#60041](https://github.com/ClickHouse/ClickHouse/pull/60041) ([Maksim Kita](https://github.com/kitaisreal)).
* كان هناك خلل في Apache Hive، وهو تجريبي وغير مدعوم. [#60262](https://github.com/ClickHouse/ClickHouse/pull/60262) ([shanfengp](https://github.com/Aed-p)).
* تحسين للنسخ المتماثلة المتوازية التجريبية: فرض إعادة التحليل إذا تغيّرت النسخ المتماثلة المتوازية [#60362](https://github.com/ClickHouse/ClickHouse/pull/60362) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح استخدام نوع البيانات الوصفية العادي مع خيار تهيئة الأقراص الجديد [#60396](https://github.com/ClickHouse/ClickHouse/pull/60396) ([Kseniia Sumarokova](https://github.com/kssenii)).
* محاولة إصلاح الخطأ المنطقي 'Cannot capture column because it has incompatible type' في mapContainsKeyLike [#60451](https://github.com/ClickHouse/ClickHouse/pull/60451) ([Kruglov Pavel](https://github.com/Avogar)).
* تجنب حساب الاستعلامات الفرعية القياسية في CREATE TABLE. [#60464](https://github.com/ClickHouse/ClickHouse/pull/60464) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح حالة توقف متبادل في التحليل المتوازي عند تخطي عدد كبير من الصفوف بسبب الأخطاء [#60516](https://github.com/ClickHouse/ClickHouse/pull/60516) ([Kruglov Pavel](https://github.com/Avogar)).
* كان هناك خلل في دعم KQL (Kusto) التجريبي: إصلاح `max_query_size_for_kql_compound_operator`: [#60534](https://github.com/ClickHouse/ClickHouse/pull/60534) ([Yong Wang](https://github.com/kashwy)).
* إصلاح في Keeper: إضافة مهلات عند انتظار سجلات commit [#60544](https://github.com/ClickHouse/ClickHouse/pull/60544) ([Antonio Andelic](https://github.com/antonio2368)).
* عدم إخراج تلميحات رقمية لأنواع التاريخ [#60577](https://github.com/ClickHouse/ClickHouse/pull/60577) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح القراءة من MergeTree مع الدوال غير الحتمية في عامل التصفية [#60586](https://github.com/ClickHouse/ClickHouse/pull/60586) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح الخطأ المنطقي عند وجود نوع قيمة غير صحيح لإعداد التوافق [#60596](https://github.com/ClickHouse/ClickHouse/pull/60596) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح(prql): معالج panic أكثر متانة [#60615](https://github.com/ClickHouse/ClickHouse/pull/60615) ([Maximilian Roos](https://github.com/max-sixty)).
* إصلاح `intDiv` لوسائط decimal وdate [#60672](https://github.com/ClickHouse/ClickHouse/pull/60672) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح: توسيع CTE في استعلام alter modify [#60682](https://github.com/ClickHouse/ClickHouse/pull/60682) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح system.parts لمحرك قاعدة بيانات غير Atomic/Ordinary (أي Memory) [#60689](https://github.com/ClickHouse/ClickHouse/pull/60689) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح "Invalid storage definition in metadata file" للعروض ذات المعلمات [#60708](https://github.com/ClickHouse/ClickHouse/pull/60708) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تجاوز سعة المخزن المؤقت في CompressionCodecMultiple [#60731](https://github.com/ClickHouse/ClickHouse/pull/60731) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إزالة العبارات غير المنطقية من SQL/JSON [#60738](https://github.com/ClickHouse/ClickHouse/pull/60738) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إزالة تعليمة assertion خاطئة في الدالة التجميعية quantileGK [#60740](https://github.com/ClickHouse/ClickHouse/pull/60740) ([李扬](https://github.com/taiyang-li)).
* إصلاح خطأ insert-select + insert\_deduplication\_token عبر ضبط streams على 1 [#60745](https://github.com/ClickHouse/ClickHouse/pull/60745) ([Jordi Villar](https://github.com/jrdi)).
* منع تعيين ترويسات metadata مخصصة في عمليات multipart upload غير المدعومة [#60748](https://github.com/ClickHouse/ClickHouse/pull/60748) ([Francisco J. Jurado Moreno](https://github.com/Beetelbrox)).
* إصلاح toStartOfInterval [#60763](https://github.com/ClickHouse/ClickHouse/pull/60763) ([Andrey Zvonov](https://github.com/zvonand)).
* إصلاح تعطل في arrayEnumerateRanked [#60764](https://github.com/ClickHouse/ClickHouse/pull/60764) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح تعطل عند استخدام input() في INSERT SELECT JOIN [#60765](https://github.com/ClickHouse/ClickHouse/pull/60765) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح تعطل عند اختلاف قيمة allow\_experimental\_analyzer في subqueries [#60770](https://github.com/ClickHouse/ClickHouse/pull/60770) ([Dmitry Novik](https://github.com/novikd)).
* إزالة الاستدعاء التكراري عند القراءة من S3 [#60849](https://github.com/ClickHouse/ClickHouse/pull/60849) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح احتمال التعليق عند حدوث خطأ في HashedDictionaryParallelLoader [#60926](https://github.com/ClickHouse/ClickHouse/pull/60926) ([vdimir](https://github.com/vdimir)).
* إصلاح RESTORE غير المتزامن مع قاعدة بيانات Replicated (ميزة تجريبية) [#60934](https://github.com/ClickHouse/ClickHouse/pull/60934) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح deadlock في async inserts إلى جداول `Log` عبر البروتوكول الأصلي [#61055](https://github.com/ClickHouse/ClickHouse/pull/61055) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح التنفيذ المؤجل للوسيطة الافتراضية في dictGetOrDefault لـ RangeHashedDictionary [#61196](https://github.com/ClickHouse/ClickHouse/pull/61196) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح عدة أخطاء في groupArraySorted [#61203](https://github.com/ClickHouse/ClickHouse/pull/61203) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح إعادة تهيئة Keeper للملف التنفيذي المستقل [#61233](https://github.com/ClickHouse/ClickHouse/pull/61233) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح استخدام session\_token في محرك S3 [#61234](https://github.com/ClickHouse/ClickHouse/pull/61234) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح احتمال ظهور نتيجة غير صحيحة للدالة التجميعية `uniqExact` [#61257](https://github.com/ClickHouse/ClickHouse/pull/61257) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح أخطاء في أمر show database [#61269](https://github.com/ClickHouse/ClickHouse/pull/61269) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح logical error في تخزين RabbitMQ مع الأعمدة MATERIALIZED [#61320](https://github.com/ClickHouse/ClickHouse/pull/61320) ([vdimir](https://github.com/vdimir)).
* إصلاح CREATE OR REPLACE DICTIONARY [#61356](https://github.com/ClickHouse/ClickHouse/pull/61356) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح استعلام ATTACH مع ON CLUSTER خارجي [#61365](https://github.com/ClickHouse/ClickHouse/pull/61365) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح تحسين المفاتيح المتتالية للمفاتيح القابلة لأن تكون NULL [#61393](https://github.com/ClickHouse/ClickHouse/pull/61393) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح مشكلة split في DAG الخاص بـ actions [#61458](https://github.com/ClickHouse/ClickHouse/pull/61458) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح إكمال عملية RESTORE فاشلة [#61466](https://github.com/ClickHouse/ClickHouse/pull/61466) ([Vitaly Baranov](https://github.com/vitlibar)).
* تعطيل async\_insert\_use\_adaptive\_busy\_timeout بشكل صحيح مع إعدادات التوافق [#61468](https://github.com/ClickHouse/ClickHouse/pull/61468) ([Raúl Marín](https://github.com/Algunenano)).
* السماح بوضع العمليات في الطابور ضمن pool الاستعادة [#61475](https://github.com/ClickHouse/ClickHouse/pull/61475) ([Nikita Taranov](https://github.com/nickitat)).
* إصلاح حالة عدم اتساق عند قراءة system.parts باستخدام UUID. [#61479](https://github.com/ClickHouse/ClickHouse/pull/61479) ([Dan Wu](https://github.com/wudanzy)).
* إصلاح ALTER QUERY MODIFY SQL SECURITY [#61480](https://github.com/ClickHouse/ClickHouse/pull/61480) ([pufit](https://github.com/pufit)).
* إصلاح تعطل في window view (ميزة تجريبية) [#61526](https://github.com/ClickHouse/ClickHouse/pull/61526) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح `repeat` مع الأعداد الصحيحة غير الأصلية [#61527](https://github.com/ClickHouse/ClickHouse/pull/61527) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح الوسيط `-s` الخاص بالعميل [#61530](https://github.com/ClickHouse/ClickHouse/pull/61530) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إصلاح تعطل في arrayPartialReverseSort [#61539](https://github.com/ClickHouse/ClickHouse/pull/61539) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح البحث في السلاسل النصية مع موضع ثابت [#61547](https://github.com/ClickHouse/ClickHouse/pull/61547) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح تسبّب addDays في حدوث خطأ عند استخدام DateTime64 [#61561](https://github.com/ClickHouse/ClickHouse/pull/61561) ([Shuai li](https://github.com/loneylee)).
* منع نوع الإدخال LowCardinality لـ JSONExtract [#61617](https://github.com/ClickHouse/ClickHouse/pull/61617) ([Julia Kartseva](https://github.com/jkartseva)).
* إصلاح `system.part_log` من أجل async insert مع إزالة التكرار [#61620](https://github.com/ClickHouse/ClickHouse/pull/61620) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح استثناء `Non-ready set` في system.parts. [#61666](https://github.com/ClickHouse/ClickHouse/pull/61666) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح actual\_part\_name لـ REPLACE\_RANGE (`Entry actual part isn't empty yet`) [#61675](https://github.com/ClickHouse/ClickHouse/pull/61675) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إصلاح تقرير sanitizer في `multiSearchAllPositionsCaseInsensitiveUTF8` بسبب UTF-8 غير الصحيح [#61749](https://github.com/ClickHouse/ClickHouse/pull/61749) ([pufit](https://github.com/pufit)).
* إصلاح ملاحظة تفيد بأن إطار RANGE غير مدعوم للأعمدة Nullable. [#61766](https://github.com/ClickHouse/ClickHouse/pull/61766) ([YuanLiu](https://github.com/ditgittube)).

### <a id="242" /> إصدار ClickHouse 24.2 بتاريخ 2024-02-29. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.2/)، [الفيديو](https://www.youtube.com/watch?v=iN2y-TK8f3A)

<Frame>
  <iframe src="https://www.youtube.com/embed/iN2y-TK8f3A" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* التحقق من صحة الأنواع المريبة/التجريبية داخل الأنواع المتداخلة. سابقًا، لم نكن نتحقق من صحة هذه الأنواع (باستثناء JSON) داخل الأنواع المتداخلة مثل Array/Tuple/Map. [#59385](https://github.com/ClickHouse/ClickHouse/pull/59385) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة فحص سلامة لعدد خيوط التنفيذ وأحجام block. [#60138](https://github.com/ClickHouse/ClickHouse/pull/60138) ([Raúl Marín](https://github.com/Algunenano)).
* عدم استنتاج قيم Float المكتوبة بالصياغة الأسّية افتراضيًا. تمت إضافة الإعداد `input_format_try_infer_exponent_floats` الذي يعيد السلوك السابق (وهو معطّل افتراضيًا). يُغلق [#59476](https://github.com/ClickHouse/ClickHouse/issues/59476). [#59500](https://github.com/ClickHouse/ClickHouse/pull/59500) ([Kruglov Pavel](https://github.com/Avogar)).
* السماح بإحاطة عمليات alter بأقواس. ويمكن التحكم في إضافة الأقواس عبر إعداد `format_alter_operations_with_parentheses`. افتراضيًا، في queries المنسّقة، تتم إضافة الأقواس لأننا نخزّن عمليات alter المنسّقة في بعض المواضع على هيئة metadata (مثل: mutations). يوضّح Syntax الجديد بعض queries التي تنتهي فيها عمليات alter بقائمة. على سبيل المثال: `ALTER TABLE x MODIFY TTL date GROUP BY a, b, DROP COLUMN c` لا يمكن parse له بشكل صحيح باستخدام Syntax القديم. في Syntax الجديد، تكون query `ALTER TABLE x (MODIFY TTL date GROUP BY a, b), (DROP COLUMN c)` واضحة. لا تستطيع الإصدارات الأقدم قراءة Syntax الجديد، لذلك قد يؤدي استخدامه إلى مشكلات إذا كانت إصدارات ClickHouse الأحدث والأقدم مختلطة داخل cluster واحد. [#59532](https://github.com/ClickHouse/ClickHouse/pull/59532) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح لمشكلة أمان في materialized view كانت تسمح للمستخدم بإجراء insert في table من دون grants المطلوبة لذلك. ويتحقق الإصلاح من أن لدى المستخدم permission لإجراء insert ليس فقط في materialized view، بل أيضًا في جميع underlying tables. وهذا يعني أن بعض queries التي كانت تعمل سابقًا قد تفشل الآن برسالة `Not enough privileges`. ولمعالجة هذه المشكلة، يقدّم هذا الإصدار ميزة جديدة ضمن SQL security الخاصة بـ views [https://clickhouse.com/docs/sql-reference/statements/create/view#sql\&#95;security](https://clickhouse.com/docs/sql-reference/statements/create/view#sql\&#95;security). [#54901](https://github.com/ClickHouse/ClickHouse/pull/54901) [#60439](https://github.com/ClickHouse/ClickHouse/pull/60439) ([pufit](https://github.com/pufit)).

<div id="new-feature">
  #### ميزة جديدة
</div>

* أُضيف بناء نحوي جديد يتيح تحديد المستخدم المعرِّف في view/materialized view. ويتيح ذلك تنفيذ عمليات SELECT/INSERT من الـ views من دون الحاجة إلى أذونات صريحة على الجداول الأساسية. وبذلك، سيحتوي الـ View الأذونات ضمنيًا. [#54901](https://github.com/ClickHouse/ClickHouse/pull/54901) [#60439](https://github.com/ClickHouse/ClickHouse/pull/60439) ([pufit](https://github.com/pufit)).
* إضافة محاولة لاكتشاف تنسيق الملف تلقائيًا أثناء استدلال المخطط إذا كان غير معروف في محركات `file/s3/hdfs/url/azureBlobStorage`. يُغلق [#50576](https://github.com/ClickHouse/ClickHouse/issues/50576). [#59092](https://github.com/ClickHouse/ClickHouse/pull/59092) ([Kruglov Pavel](https://github.com/Avogar)).
* تنفيذ الضبط التلقائي لمهلات asynchronous insert. وقد أُضيفت الإعدادات التالية: async\_insert\_poll\_timeout\_ms, async\_insert\_use\_adaptive\_busy\_timeout, async\_insert\_busy\_timeout\_min\_ms, async\_insert\_busy\_timeout\_max\_ms, async\_insert\_busy\_timeout\_increase\_rate, async\_insert\_busy\_timeout\_decrease\_rate. [#58486](https://github.com/ClickHouse/ClickHouse/pull/58486) ([Julia Kartseva](https://github.com/jkartseva)).
* إتاحة تعيين QUOTA لعدد إخفاقات تسجيل الدخول المتتالية الأقصى. [#54737](https://github.com/ClickHouse/ClickHouse/pull/54737) ([Alexey Gerasimchuck](https://github.com/Demilivor)).
* aggregate function جديدة باسم `groupArrayIntersect`. متابعة لـ: [#49862](https://github.com/ClickHouse/ClickHouse/issues/49862). [#59598](https://github.com/ClickHouse/ClickHouse/pull/59598) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* دعم النسخ الاحتياطي والاستعادة لـ `AzureBlobStorage`. يحل [#50747](https://github.com/ClickHouse/ClickHouse/issues/50747). [#56988](https://github.com/ClickHouse/ClickHouse/pull/56988) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* يمكن للمستخدم الآن تحديد سلسلة Template مباشرةً في الاستعلام باستخدام `format_schema_rows_template` كبديل عن `format_template_row`. يُغلق [#31363](https://github.com/ClickHouse/ClickHouse/issues/31363). [#59088](https://github.com/ClickHouse/ClickHouse/pull/59088) ([Shaun Struwig](https://github.com/Blargian)).
* تنفيذ التحويل التلقائي لجداول merge tree من أنواع مختلفة إلى محرك Replicated. أنشئ ملف `convert_to_replicated` فارغًا في دليل بيانات الجدول (`/clickhouse/store/xxx/xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/`) وسيُحوَّل هذا الجدول تلقائيًا عند بدء تشغيل الخادم في المرة التالية. [#57798](https://github.com/ClickHouse/ClickHouse/pull/57798) ([Kirill](https://github.com/kirillgarbar)).
* أُضيف الاستعلام `ALTER TABLE table FORGET PARTITION partition` الذي يزيل عُقد ZooKeeper المرتبطة بـ partition فارغ. [#59507](https://github.com/ClickHouse/ClickHouse/pull/59507) ([Sergei Trifonov](https://github.com/serxa)). هذه ميزة مخصصة للمستخدمين المتقدمين.
* دعم ملف بيانات اعتماد JWT لمحرك الجدول NATS. [#59543](https://github.com/ClickHouse/ClickHouse/pull/59543) ([Nickolaj Jepsen](https://github.com/nickolaj-jepsen)).
* تنفيذ جدول `system.dns_cache`، وقد يكون مفيدًا في استكشاف مشكلات DNS وإصلاحها. [#59856](https://github.com/ClickHouse/ClickHouse/pull/59856) ([Kirill Nikiforov](https://github.com/allmazz)).
* سيقبل codec ‏`LZ4HC` مستوى جديدًا هو 2، وهو أسرع من الحد الأدنى السابق 3، لكن بمعدل ضغط أقل. في الإصدارات السابقة، كان `LZ4HC(2)` وما دونه يعادل `LZ4HC(3)`. المؤلف: [Cyan4973](https://github.com/Cyan4973). [#60090](https://github.com/ClickHouse/ClickHouse/pull/60090) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تمت إضافة الجدول `system.dns_cache`، وقد يكون مفيدًا في Debug مشكلات DNS. كما تمت إضافة إعداد خادم جديد هو dns\_cache\_max\_size. [#60257](https://github.com/ClickHouse/ClickHouse/pull/60257) ([Kirill Nikiforov](https://github.com/allmazz)).
* تمت إضافة دعم الإصدار أحادي الوسيط من table function ‏`merge`، بالشكل `merge(['db_name', ] 'tables_regexp')`. [#60372](https://github.com/ClickHouse/ClickHouse/pull/60372) ([豪肥肥](https://github.com/HowePa)).
* تمت إضافة دعم الوسائط الموضعية السالبة. يُغلق [#57736](https://github.com/ClickHouse/ClickHouse/issues/57736). [#58292](https://github.com/ClickHouse/ClickHouse/pull/58292) ([flynn](https://github.com/ucasfl)).
* تمت إضافة دعم لتحديد مجموعة من المستخدمين المسموح لهم لبعض إعدادات S3 في config باستخدام المفتاح `user`. [#60144](https://github.com/ClickHouse/ClickHouse/pull/60144) ([Antonio Andelic](https://github.com/antonio2368)).
* تمت إضافة table function ‏`mergeTreeIndex`. وهي تعرض محتويات ملفات index وmarks الخاصة بجداول `MergeTree`. ويمكن استخدامها لأغراض introspection. الصياغة: `mergeTreeIndex(database, table, [with_marks = true])` حيث إن `database.table` هو جدول موجود يستخدم المحرك `MergeTree`. [#58140](https://github.com/ClickHouse/ClickHouse/pull/58140) ([Anton Popov](https://github.com/CurtizJ)).

<div id="experimental-feature">
  #### ميزة تجريبية
</div>

* أُضيفت الدالة `seriesOutliersDetectTukey` لاكتشاف القيم الشاذة في البيانات المتسلسلة باستخدام خوارزمية حدود Tukey. [#58632](https://github.com/ClickHouse/ClickHouse/pull/58632) ([Bhavna Jindal](https://github.com/bhavnajindal)). ضع في اعتبارك أن هذا السلوك سيتغير في إصدار التصحيح التالي.
* أُضيفت الدالة `variantType` التي تُرجع قيمة Enum باسم نوع Variant لكل صف. [#59398](https://github.com/ClickHouse/ClickHouse/pull/59398) ([Kruglov Pavel](https://github.com/Avogar)).
* دعم `LEFT JOIN` و`ALL INNER JOIN` والاستعلامات الفرعية البسيطة للنسخ المتماثلة المتوازية (فقط مع المحلّل). يحدّد الإعداد الجديد `parallel_replicas_prefer_local_join` ما إذا كان سيتم تنفيذ `JOIN` محليًا (افتراضيًا) أو باستخدام `GLOBAL JOIN`. يجب أن تكون جميع الجداول موجودة على كل نسخة متماثلة من `cluster_for_parallel_replicas`. ويُستخدم الإعدادان الجديدان `min_external_table_block_size_rows` و`min_external_table_block_size_bytes` لدمج الكتل الصغيرة المُرسلة إلى الجداول المؤقتة (فقط مع المحلّل). [#58916](https://github.com/ClickHouse/ClickHouse/pull/58916) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* السماح بإنشاء الجداول بشكل متزامن في قاعدة البيانات `Replicated` أثناء إضافة نسخة متماثلة جديدة أو استعادتها. [#59277](https://github.com/ClickHouse/ClickHouse/pull/59277) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* تنفيذ عامل مقارنة لقيم `Variant` وإدراج قيم Field بشكل صحيح في عمود `Variant`. وعدم السماح افتراضيًا بإنشاء نوع `Variant` يضم أنواع Variant متشابهة (مع السماح بذلك عبر الإعداد `allow_suspicious_variant_types`). إغلاق [#59996](https://github.com/ClickHouse/ClickHouse/issues/59996). إغلاق [#59850](https://github.com/ClickHouse/ClickHouse/issues/59850). [#60198](https://github.com/ClickHouse/ClickHouse/pull/60198) ([Kruglov Pavel](https://github.com/Avogar)).
* تعطيل JOIN للنسخ المتماثلة المتوازية مع CTE (من دون المحلّل) [#59239](https://github.com/ClickHouse/ClickHouse/pull/59239) ([Raúl Marín](https://github.com/Algunenano)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* سيستخدم المفتاح الأساسي مقدارًا أقل من الذاكرة. [#60049](https://github.com/ClickHouse/ClickHouse/pull/60049) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحسين استخدام الذاكرة للمفتاح الأساسي وبعض العمليات الأخرى. [#60050](https://github.com/ClickHouse/ClickHouse/pull/60050) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* سيُحمَّل المفتاح الأساسي للجداول إلى الذاكرة بشكل lazy عند أول وصول. ويتحكم في ذلك إعداد MergeTree الجديد `primary_key_lazy_load`، وهو مفعّل افتراضيًا. ويوفر هذا عدة مزايا: - لن يُحمَّل للجداول غير المستخدمة؛ - إذا لم تكن الذاكرة كافية، فسيتم طرح استثناء عند أول استخدام بدلًا من حدوث ذلك عند بدء تشغيل الخادوم. لكن لهذا أيضًا عدة عيوب: - ستظهر كلفة زمن الاستجابة لتحميل المفتاح الأساسي عند أول query بدلًا من قبل قبول الاتصالات؛ وقد يؤدي هذا نظريًا إلى مشكلة thundering herd. هذا يُغلق [#11188](https://github.com/ClickHouse/ClickHouse/issues/11188). [#60093](https://github.com/ClickHouse/ClickHouse/pull/60093) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دوال مسافة متجهية تُستخدم في البحث المتجهي. [#58866](https://github.com/ClickHouse/ClickHouse/pull/58866) ([Robert Schulze](https://github.com/rschu1ze)).
* إضافة الدالة المتجهية `dotProduct` المفيدة في البحث المتجهي. [#60202](https://github.com/ClickHouse/ClickHouse/pull/60202) ([Robert Schulze](https://github.com/rschu1ze)).
* إضافة إمكانية short-circuit للدالة `dictGetOrDefault`. يُغلق [#52098](https://github.com/ClickHouse/ClickHouse/issues/52098). [#57767](https://github.com/ClickHouse/ClickHouse/pull/57767) ([jsc0218](https://github.com/jsc0218)).
* تحسين في Keeper: تخزين مقدار محدد فقط من السجلات مؤقتًا في الذاكرة، مع التحكم بذلك عبر `latest_logs_cache_size_threshold` و `commit_logs_cache_size_threshold`. [#59460](https://github.com/ClickHouse/ClickHouse/pull/59460) ([Antonio Andelic](https://github.com/antonio2368)).
* تحسين في Keeper: تقليل حجم عقدة البيانات بدرجة أكبر. [#59592](https://github.com/ClickHouse/ClickHouse/pull/59592) ([Antonio Andelic](https://github.com/antonio2368)).
* مواصلة تحسين إخفاق التفرع في الدالة `if` عندما يكون نوع النتيجة هو `Float*/Decimal*/*Int*`، استكمالًا لـ [https://github.com/ClickHouse/ClickHouse/pull/57885](https://github.com/ClickHouse/ClickHouse/pull/57885). [#59148](https://github.com/ClickHouse/ClickHouse/pull/59148) ([李扬](https://github.com/taiyang-li)).
* تحسين الدالة `if` عندما يكون نوع الإدخال `Map`، مع تسريع يصل إلى نحو 10x. [#59413](https://github.com/ClickHouse/ClickHouse/pull/59413) ([李扬](https://github.com/taiyang-li)).
* تحسين أداء النوع `Int8` عبر تطبيق strict aliasing (وهو متوفر بالفعل لـ `UInt8` وجميع الأنواع الصحيحة الأخرى). [#59485](https://github.com/ClickHouse/ClickHouse/pull/59485) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين أداء sum/avg بشكل شرطي للأنواع bigint وbig decimal عبر تقليل إخفاق التفرع. [#59504](https://github.com/ClickHouse/ClickHouse/pull/59504) ([李扬](https://github.com/taiyang-li)).
* تحسين أداء عمليات SELECT مع mutations النشطة. [#59531](https://github.com/ClickHouse/ClickHouse/pull/59531) ([Azat Khuzhin](https://github.com/azat)).
* تحسين الدالة `isNotNull` باستخدام AVX2. [#59621](https://github.com/ClickHouse/ClickHouse/pull/59621) ([李扬](https://github.com/taiyang-li)).
* تحسين أداء ASOF JOIN للبيانات المرتبة أو شبه المرتبة. [#59731](https://github.com/ClickHouse/ClickHouse/pull/59731) ([Maksim Kita](https://github.com/kitaisreal)).
* تبيّن أن القيمة الافتراضية السابقة البالغة 1 MB لـ `async_insert_max_data_size` كانت صغيرة جدًا. وستصبح القيمة الجديدة 10 MiB. [#59536](https://github.com/ClickHouse/ClickHouse/pull/59536) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* استخدام عدة خيوط تنفيذ أثناء قراءة البيانات الوصفية للجداول من نسخة احتياطية عند تنفيذ أمر RESTORE. [#60040](https://github.com/ClickHouse/ClickHouse/pull/60040) ([Vitaly Baranov](https://github.com/vitlibar)).
* الآن، إذا كان `StorageBuffer` يحتوي على أكثر من shard واحد (`num_layers` > 1)، فسيجري التفريغ في الخلفية بالتزامن لجميع الـ shards باستخدام عدة خيوط تنفيذ. [#60111](https://github.com/ClickHouse/ClickHouse/pull/60111) ([alesapin](https://github.com/alesapin)).

<div id="improvement-1">
  #### تحسين
</div>

* عندما يكون format الإخراج هو `Pretty` وكانت الكتلة تتكوّن من قيمة رقمية واحدة تتجاوز المليون، فسيُطبع رقم سهل القراءة على يمين الجدول. [#60379](https://github.com/ClickHouse/ClickHouse/pull/60379) ([rogeryk](https://github.com/rogeryk)).
* أُضيفت الإعدادات `split_parts_ranges_into_intersecting_and_non_intersecting_final` و`split_intersecting_parts_ranges_into_layers_final`. هذه الإعدادات مطلوبة لتعطيل التحسينات للاستعلامات التي تستخدم `FINAL`، وهي مخصّصة لأغراض تصحيح الأخطاء فقط. [#59705](https://github.com/ClickHouse/ClickHouse/pull/59705) ([Maksim Kita](https://github.com/kitaisreal)). في الواقع، لا يقتصر استخدامها على ذلك فقط، إذ يمكنها أيضًا خفض استخدام الذاكرة على حساب الأداء.
* أُعيدت تسمية الإعداد `extract_kvp_max_pairs_per_row` إلى `extract_key_value_pairs_max_pairs_per_row`. وقد ظهرت المشكلة (الاختصار غير الضروري في اسم الإعداد) في [https://github.com/ClickHouse/ClickHouse/pull/43606](https://github.com/ClickHouse/ClickHouse/pull/43606). كما جرى إصلاح توثيق هذا الإعداد. [#59683](https://github.com/ClickHouse/ClickHouse/pull/59683) ([Alexey Milovidov](https://github.com/alexey-milovidov)). [#59960](https://github.com/ClickHouse/ClickHouse/pull/59960) ([jsc0218](https://github.com/jsc0218)).
* أصبح تنفيذ `ALTER COLUMN MATERIALIZE` على عمود يحتوي على تعبير `DEFAULT` أو `MATERIALIZED` يطابق الدلالات بدقة. [#58023](https://github.com/ClickHouse/ClickHouse/pull/58023) ([Duc Canh Le](https://github.com/canhld94)).
* جرى تفعيل آلية `backoff` الأُسّي للتعامل مع الأخطاء أثناء mutations. وسيؤدي ذلك إلى تقليل استخدام CPU، واستخدام الذاكرة، وأحجام ملفات السجل. [#58036](https://github.com/ClickHouse/ClickHouse/pull/58036) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* أُضيف تحسين لاحتساب حدث Profile `InitialQuery`. [#58195](https://github.com/ClickHouse/ClickHouse/pull/58195) ([Unalian](https://github.com/Unalian)).
* أصبح من الممكن تعريف `volume_priority` في `storage_configuration`. [#58533](https://github.com/ClickHouse/ClickHouse/pull/58533) ([Andrey Zvonov](https://github.com/zvonand)).
* أُضيف دعم النوع `Date32` في codec ‏`T64`. [#58738](https://github.com/ClickHouse/ClickHouse/pull/58738) ([Hongbin Ma](https://github.com/binmahone)).
* أصبح مسموحًا باستخدام الفواصل اللاحقة في الأنواع التي تحتوي على عدة عناصر. [#59119](https://github.com/ClickHouse/ClickHouse/pull/59119) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* يمكن الآن تحديد إعدادات Distributed table engine في server configuration file (على غرار MergeTree settings)، مثل: `<distributed> <flush_on_detach>false</flush_on_detach> </distributed>`. [#59291](https://github.com/ClickHouse/ClickHouse/pull/59291) ([Azat Khuzhin](https://github.com/azat)).
* أُضيفت إعادة المحاولة عند انقطاع الاتصال وانتهاء sessions أثناء قراءة `system.zookeeper`. وهذا مفيد عند قراءة عدد كبير من الصفوف من جدول `system.zookeeper`، خصوصًا في حال وجود حالات انقطاع اتصال مُفتعلة لاختبار الأعطال. [#59388](https://github.com/ClickHouse/ClickHouse/pull/59388) ([Alexander Gololobov](https://github.com/davenger)).
* لم تعد الأرقام التي تبدأ بأصفار تُفسَّر على أنها أعداد ثُمانية عندما يكون `input_format_values_interpret_expressions=0`. [#59403](https://github.com/ClickHouse/ClickHouse/pull/59403) ([Joanna Hulboj](https://github.com/jh0x)).
* عند بدء التشغيل، وكلما تغيّرت ملفات config، يحدّث ClickHouse الحدود الصارمة للذاكرة الخاصة بـ memory tracker الإجمالي لديه. وتُحتسب هذه الحدود استنادًا إلى server settings المختلفة وحدود cgroups (على Linux). في السابق، كان المسار `/sys/fs/cgroup/memory.max` (في cgroups v2) مضمّنًا بشكل ثابت في الشيفرة. ونتيجة لذلك، كانت حدود ذاكرة cgroup v2 المضبوطة للمجموعات المتداخلة (التسلسلات الهرمية)، مثل `/sys/fs/cgroup/my/nested/group/memory.max`، تُتجاهل. وقد أُصلح ذلك الآن. أما سلوك حدود ذاكرة v1 فيبقى دون تغيير. [#59435](https://github.com/ClickHouse/ClickHouse/pull/59435) ([Robert Schulze](https://github.com/rschu1ze)).
* أُضيفت profile events جديدة لمراقبة الوقت المستغرَق في حساب PK/projections/secondary indices أثناء عمليات `INSERT`. [#59436](https://github.com/ClickHouse/ClickHouse/pull/59436) ([Nikita Taranov](https://github.com/nickitat)).
* أصبح بالإمكان تحديد نقطة بداية لـ S3Queue في وضع Ordered عند الإنشاء باستخدام الإعداد `s3queue_last_processed_path`. [#59446](https://github.com/ClickHouse/ClickHouse/pull/59446) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أصبحت التعليقات الخاصة بـ system tables متاحة أيضًا في `system.tables` ضمن `clickhouse-local`. [#59493](https://github.com/ClickHouse/ClickHouse/pull/59493) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* جدول `system.zookeeper`: في السابق كانت النتيجة بالكامل تتراكم في الذاكرة ثم تُعاد على هيئة chunk كبيرة واحدة. من شأن هذا التغيير أن يساعد في تقليل استهلاك الذاكرة عند قراءة عدد كبير من rows من `system.zookeeper`، وإظهار التقدم المرحلي (عدد rows التي تمت قراءتها حتى الآن)، وتجنّب الوصول إلى Connection timeout عندما تكون result set كبيرة. [#59545](https://github.com/ClickHouse/ClickHouse/pull/59545) ([Alexander Gololobov](https://github.com/davenger)).
* أصبح dashboard الآن يفهم حالتي الضغط وعدم الضغط لـ #hash في عناوين URL أيضًا (للتوافق مع الإصدارات السابقة). استكمالًا لـ [#59124](https://github.com/ClickHouse/ClickHouse/issues/59124). [#59548](https://github.com/ClickHouse/ClickHouse/pull/59548) ([Amos Bird](https://github.com/amosbird)).
* جرت ترقية Intel QPL (المستخدَم بواسطة codec `DEFLATE_QPL`) من v1.3.1 إلى v1.4.0. كما أُصلح خلل في آلية polling timeout، إذ لاحظنا أنه في بعض الحالات لا يعمل timeout بالشكل الصحيح؛ فإذا حدث timeout، فقد يعالج كل من IAA وCPU الـ buffer بشكل concurrent. وفي الوقت الحالي، من الأفضل التأكد من أن حالة codec الخاصة بـ IAA ليست QPL\_STS\_BEING\_PROCESSED، ثم fallback إلى codec البرمجي. [#59551](https://github.com/ClickHouse/ClickHouse/pull/59551) ([jasperzhu](https://github.com/jinjunzh)).
* لا تعرض تحذيرًا بشأن إصدار server في ClickHouse Cloud، لأن ClickHouse Cloud تتولى Upgrades السلسة تلقائيًا. [#59657](https://github.com/ClickHouse/ClickHouse/pull/59657) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* بعد الاستخراج الذاتي، يُنقل الـ binary المؤقت بدلًا من نسخه. [#59661](https://github.com/ClickHouse/ClickHouse/pull/59661) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح فكّ تكديس stack على Apple macOS. يُغلق هذا [#53653](https://github.com/ClickHouse/ClickHouse/issues/53653). [#59690](https://github.com/ClickHouse/ClickHouse/pull/59690) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* التحقق من تجاوز stack في parsers حتى إذا أساء المستخدم ضبط الإعداد `max_parser_depth` على قيمة مرتفعة جدًا. يُغلق هذا [#59622](https://github.com/ClickHouse/ClickHouse/issues/59622). [#59697](https://github.com/ClickHouse/ClickHouse/pull/59697) ([Alexey Milovidov](https://github.com/alexey-milovidov)). [#60434](https://github.com/ClickHouse/ClickHouse/pull/60434)
* توحيد سلوك named collection المُنشأة عبر XML وSQL في Kafka storage. [#59710](https://github.com/ClickHouse/ClickHouse/pull/59710) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* إذا كانت قيمة `merge_max_block_size_bytes` صغيرة بما يكفي وكانت الجداول تحتوي على rows عريضة (strings أو tuples)، فقد تعلق background merges في حلقة لا نهائية. وقد أُصلح هذا السلوك. متابعة لـ [https://github.com/ClickHouse/ClickHouse/pull/59340](https://github.com/ClickHouse/ClickHouse/pull/59340). [#59812](https://github.com/ClickHouse/ClickHouse/pull/59812) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* السماح باستخدام uuid في replica\_path إذا كان CREATE TABLE يتضمنه صراحةً. [#59908](https://github.com/ClickHouse/ClickHouse/pull/59908) ([Azat Khuzhin](https://github.com/azat)).
* إضافة العمود `metadata_version` الخاص بجداول ReplicatedMergeTree إلى جدول النظام `system.tables`. [#59942](https://github.com/ClickHouse/ClickHouse/pull/59942) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين في Keeper: إرسال المقاييس/الأحداث المرتبطة بـ Keeper فقط إلى Prometheus. [#59945](https://github.com/ClickHouse/ClickHouse/pull/59945) ([Antonio Andelic](https://github.com/antonio2368)).
* ستعرض لوحة المعلومات المقاييس عبر إصدارات ClickHouse المختلفة حتى إذا تغيّرت بنية جداول النظام بعد الترقية. [#59967](https://github.com/ClickHouse/ClickHouse/pull/59967) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* السماح بتحميل معلومات AZ من ملف. [#59976](https://github.com/ClickHouse/ClickHouse/pull/59976) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* تحسين في Keeper: إضافة عمليات إعادة المحاولة عند الإخفاق في العمليات المرتبطة بـ Disk. [#59980](https://github.com/ClickHouse/ClickHouse/pull/59980) ([Antonio Andelic](https://github.com/antonio2368)).
* إضافة إعداد config جديد `backups.remove_backup_files_after_failure`: `<clickhouse> <backups> <remove_backup_files_after_failure>true</remove_backup_files_after_failure> </backups> </clickhouse>`. [#60002](https://github.com/ClickHouse/ClickHouse/pull/60002) ([Vitaly Baranov](https://github.com/vitlibar)).
* استخدام مسار احتياطي عند نسخ ملفات S3 من GCP إلى النسخ عبر buffer إذا أعاد GCP الخطأ `Internal Error` مع رمز خطأ HTTP `GATEWAY_TIMEOUT`. [#60164](https://github.com/ClickHouse/ClickHouse/pull/60164) ([Maksim Kita](https://github.com/kitaisreal)).
* تنفيذ short-circuit للدالة `ULIDStringToDateTime`. [#60211](https://github.com/ClickHouse/ClickHouse/pull/60211) ([Juan Madurga](https://github.com/jlmadurga)).
* إضافة العمود `query_id` إلى الجدولين `system.backups` و`system.backup_log`. وإضافة stacktrace الخاص بالخطأ إلى العمود `error`. [#60220](https://github.com/ClickHouse/ClickHouse/pull/60220) ([Maksim Kita](https://github.com/kitaisreal)).
* أصبحت الاتصالات عبر منفذ MySQL تعمل تلقائيًا بالإعداد `prefer_column_name_to_alias = 1` لدعم QuickSight دون إعدادات إضافية. كذلك، أصبح الإعدادان `mysql_map_string_to_text_in_show_columns` و`mysql_map_fixed_string_to_text_in_show_columns` مفعّلين افتراضيًا الآن، ويؤثران أيضًا فقط في اتصالات MySQL. وهذا يزيد التوافق مع المزيد من أدوات ذكاء الأعمال. [#60365](https://github.com/ClickHouse/ClickHouse/pull/60365) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح race condition في شيفرة JavaScript كانت تؤدي إلى تكرار المخططات فوق بعضها بعضًا. [#60392](https://github.com/ClickHouse/ClickHouse/pull/60392) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="buildtestingpackaging-improvement">
  #### تحسينات البناء/الاختبار/التغليف
</div>

* أُضيفت عمليات بناء واختبارات مع جمع التغطية باستخدام الاستبطان. استكمالًا لـ [#56102](https://github.com/ClickHouse/ClickHouse/issues/56102). [#58792](https://github.com/ClickHouse/ClickHouse/pull/58792) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تحديث سلسلة أدوات Rust في `corrosion-cmake` عند ضبط متغير سلسلة أدوات الترجمة المتقاطعة في CMake. [#59309](https://github.com/ClickHouse/ClickHouse/pull/59309) ([Aris Tritas](https://github.com/aris-aiven)).
* إضافة بعض اختبارات الإدخال العشوائي إلى ASTLiterals. [#59383](https://github.com/ClickHouse/ClickHouse/pull/59383) ([Raúl Marín](https://github.com/Algunenano)).
* إذا كنت تريد تشغيل نصوص initdb البرمجية في كل مرة تبدأ فيها حاوية ClickHouse، فعليك تهيئة متغير البيئة CLICKHOUSE\_ALWAYS\_RUN\_INITDB\_SCRIPTS. [#59808](https://github.com/ClickHouse/ClickHouse/pull/59808) ([Alexander Nikolaev](https://github.com/AlexNik)).
* إزالة إمكانية تعطيل المكوّنات العامة في ClickHouse (مثل server/client/...)، مع الإبقاء على بعض المكوّنات التي تتطلب مكتبات إضافية (مثل ODBC أو Keeper). [#59857](https://github.com/ClickHouse/ClickHouse/pull/59857) ([Azat Khuzhin](https://github.com/azat)).
* سيُجري Query fuzzer اختبارات على SETTINGS داخل الاستعلامات. [#60087](https://github.com/ClickHouse/ClickHouse/pull/60087) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة دعم لبناء ClickHouse باستخدام clang-19 ‏(master). [#60448](https://github.com/ClickHouse/ClickHouse/pull/60448) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release-8">
  #### إصلاح خطأ (سلوك خاطئ يمكن للمستخدم ملاحظته في إصدار مستقر رسمي)
</div>

* إصلاح الخطأ "Non-ready set" في TTL WHERE. [#57430](https://github.com/ClickHouse/ClickHouse/pull/57430) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خلل في الدالة `quantilesGK` [#58216](https://github.com/ClickHouse/ClickHouse/pull/58216) ([李扬](https://github.com/taiyang-li)).
* إصلاح سلوك غير صحيح في `intDiv` مع وسيطات Decimal [#59243](https://github.com/ClickHouse/ClickHouse/pull/59243) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح `translate` مع مُدخلات FixedString [#59356](https://github.com/ClickHouse/ClickHouse/pull/59356) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح حساب البصمة في Keeper [#59439](https://github.com/ClickHouse/ClickHouse/pull/59439) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح تتبعات المكدس للملفات التنفيذية التي لا تحتوي على رموز تصحيح [#59444](https://github.com/ClickHouse/ClickHouse/pull/59444) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح `ASTAlterCommand::formatImpl` في حالة الإعدادات الخاصة بالعمود... [#59445](https://github.com/ClickHouse/ClickHouse/pull/59445) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح `SELECT * FROM [...] ORDER BY ALL` مع المحلّل [#59462](https://github.com/ClickHouse/ClickHouse/pull/59462) ([zhongyuankai](https://github.com/zhongyuankai)).
* إصلاح استثناء محتمل غير مُلتقط أثناء إلغاء استعلام موزّع [#59487](https://github.com/ClickHouse/ClickHouse/pull/59487) ([Azat Khuzhin](https://github.com/azat)).
* جعل MAX يستخدم القواعد نفسها التي تستخدمها permutation للأنواع المعقدة [#59498](https://github.com/ClickHouse/ClickHouse/pull/59498) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح حالة حدّية عند تمرير `update_insert_deduplication_token_in_dependent_materialized_views` [#59544](https://github.com/ClickHouse/ClickHouse/pull/59544) ([Jordi Villar](https://github.com/jrdi)).
* إصلاح النتيجة غير الصحيحة لـ `arrayElement` / `map` عند القيم الفارغة [#59594](https://github.com/ClickHouse/ClickHouse/pull/59594) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح تعطل في topK عند دمج حالات فارغة [#59603](https://github.com/ClickHouse/ClickHouse/pull/59603) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح جدول موزّع بمفتاح تقسيم ثابت [#59606](https://github.com/ClickHouse/ClickHouse/pull/59606) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح مشكلة في KQL اكتشفها WingFuzz [#59626](https://github.com/ClickHouse/ClickHouse/pull/59626) ([Yong Wang](https://github.com/kashwy)).
* إصلاح الخطأ "Read beyond last offset" في AsynchronousBoundedReadBuffer [#59630](https://github.com/ClickHouse/ClickHouse/pull/59630) ([Vitaly Baranov](https://github.com/vitlibar)).
* الحفاظ على الاسم المستعار للدالة في RewriteSumFunctionWithSumAndCountVisitor [#59658](https://github.com/ClickHouse/ClickHouse/pull/59658) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح وقت بدء الاستعلام في الاستعلامات غير الأوّلية [#59662](https://github.com/ClickHouse/ClickHouse/pull/59662) ([Raúl Marín](https://github.com/Algunenano)).
* التحقق من أنواع الوسيطات لفهرس التخطي `minmax` [#59733](https://github.com/ClickHouse/ClickHouse/pull/59733) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الدالة leftPad / rightPad مع مُدخلات FixedString [#59739](https://github.com/ClickHouse/ClickHouse/pull/59739) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح مشكلة في AST fuzzer في الدالة `countMatches` [#59752](https://github.com/ClickHouse/ClickHouse/pull/59752) ([Robert Schulze](https://github.com/rschu1ze)).
* RabbitMQ: إصلاح حالة الرسائل التي لم تُؤكَّد ولم تُرفَض [#59775](https://github.com/ClickHouse/ClickHouse/pull/59775) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح تنفيذ StorageURL جزءًا من الاستعلام في خيط واحد [#59833](https://github.com/ClickHouse/ClickHouse/pull/59833) ([Michael Kolupaev](https://github.com/al13n321)).
* S3Queue: إصلاح قيمة غير مهيأة [#59897](https://github.com/ClickHouse/ClickHouse/pull/59897) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح parsing لتعابير partition المحاطة بأقواس [#59901](https://github.com/ClickHouse/ClickHouse/pull/59901) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح تعطل في format ‏JSONColumnsWithMetadata عبر HTTP [#59925](https://github.com/ClickHouse/ClickHouse/pull/59925) ([Kruglov Pavel](https://github.com/Avogar)).
* عدم إعادة كتابة sum إلى count إذا كانت القيمة المعادة مختلفة في المحلّل [#59926](https://github.com/ClickHouse/ClickHouse/pull/59926) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تعطل عند قراءة UniqExactSet [#59928](https://github.com/ClickHouse/ClickHouse/pull/59928) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح metadata\_version غير الصالح في ReplicatedMergeTree [#59946](https://github.com/ClickHouse/ClickHouse/pull/59946) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح حالة data race في `StorageDistributed` [#59987](https://github.com/ClickHouse/ClickHouse/pull/59987) ([Nikita Taranov](https://github.com/nickitat)).
* Docker: تشغيل نصوص التهيئة عند تفعيل الخيار بدلًا من تعطيله [#59991](https://github.com/ClickHouse/ClickHouse/pull/59991) ([jktng](https://github.com/jktng)).
* إصلاح INSERT إلى `SQLite` عند وجود علامة اقتباس مفردة (بالهروب من علامات الاقتباس المفردة باستخدام علامة اقتباس بدلًا من الشرطة المائلة العكسية) [#60015](https://github.com/ClickHouse/ClickHouse/pull/60015) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح عدة أخطاء منطقية في `arrayFold` [#60022](https://github.com/ClickHouse/ClickHouse/pull/60022) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح إزالة optimize\_uniq\_to\_count للاسم المستعار للعمود [#60026](https://github.com/ClickHouse/ClickHouse/pull/60026) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح استثناء محتمل من جدول S3Queue عند إسقاطه [#60036](https://github.com/ClickHouse/ClickHouse/pull/60036) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح formatting لـ NOT مع القيم الحرفية المفردة [#60042](https://github.com/ClickHouse/ClickHouse/pull/60042) ([Raúl Marín](https://github.com/Algunenano)).
* استخدام max\_query\_size من Context في DDLLogEntry بدلًا من القيمة الثابتة 4096 [#60083](https://github.com/ClickHouse/ClickHouse/pull/60083) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح التنسيق غير المتسق للاستعلامات التي تحتوي على جداول باسم `table`. إصلاح التنسيق الخاطئ للاستعلامات التي تتضمن `UNION ALL` و`INTERSECT` و`EXCEPT` عندما لا تكون بنيتها خطية. هذا يُغلق #52349. إصلاح التنسيق الخاطئ لاستعلامات `SYSTEM`، بما في ذلك `SYSTEM ... DROP FILESYSTEM CACHE` و`SYSTEM ... REFRESH/START/STOP/CANCEL/TEST VIEW` و`SYSTEM ENABLE/DISABLE FAILPOINT`. إصلاح تنسيق استعلامات DDL المُعلَّمة بمعلمات. إصلاح تنسيق استعلام `DESCRIBE FILESYSTEM CACHE`. إصلاح التنسيق غير الصحيح لـ `SET param_...` (استعلام يضبط معلمة). إصلاح التنسيق غير الصحيح لاستعلامات `CREATE INDEX`. إصلاح التنسيق غير المتسق لـ `CREATE USER` والاستعلامات المشابهة. إصلاح التنسيق غير المتسق لـ `CREATE SETTINGS PROFILE`. إصلاح التنسيق غير الصحيح لـ `ALTER ... MODIFY REFRESH`. إصلاح التنسيق غير المتسق لدوال window إذا كانت إزاحات frame تعبيرات. إصلاح التنسيق غير المتسق لـ `RESPECT NULLS` و`IGNORE NULLS` إذا استُخدما بعد دالة تنفّذ operator (مثل `plus`). إصلاح التنسيق العبثي لـ `SYSTEM SYNC REPLICA ... LIGHTWEIGHT FROM ...`. إصلاح التنسيق غير المتسق للاستعلامات غير الصالحة التي تحتوي على `GROUP BY GROUPING SETS ... WITH ROLLUP/CUBE/TOTALS`. إصلاح التنسيق غير المتسق لـ `GRANT CURRENT GRANTS`. إصلاح التنسيق غير المتسق لـ `CREATE TABLE (... COLLATE)`. بالإضافة إلى ذلك، أصلحتُ التنسيق غير الصحيح لـ `EXPLAIN` في الاستعلامات الفرعية (#60102). وأُصلح التنسيق غير الصحيح لدوال lambda (#60012). وأُضيف فحص حتى لا تعود هذه الفظائع لتفوتنا مستقبلًا. [#60095](https://github.com/ClickHouse/ClickHouse/pull/60095) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح التنسيق غير المتسق لـ `EXPLAIN` في الاستعلامات الفرعية [#60102](https://github.com/ClickHouse/ClickHouse/pull/60102) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إصلاح تعطل cosineDistance مع Nullable [#60150](https://github.com/ClickHouse/ClickHouse/pull/60150) ([Raúl Marín](https://github.com/Algunenano)).
* السماح بتحويل Bools ذات التمثيل النصي إلى قيم Bool فعلية [#60160](https://github.com/ClickHouse/ClickHouse/pull/60160) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح `system.s3queue_log` [#60166](https://github.com/ClickHouse/ClickHouse/pull/60166) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح arrayReduce مع اسم دالة تجميعية Nullable [#60188](https://github.com/ClickHouse/ClickHouse/pull/60188) ([Raúl Marín](https://github.com/Algunenano)).
* إخفاء المعلومات الحساسة لـ `S3Queue` [#60233](https://github.com/ClickHouse/ClickHouse/pull/60233) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح رموز استثناءات HTTP. [#60252](https://github.com/ClickHouse/ClickHouse/pull/60252) ([Austin Kothig](https://github.com/kothiga)).
* S3Queue: إصلاح خطأ (ويُصلح أيضًا الاختبار غير المستقر test\_storage\_s3\_queue/test.py::test\_shards\_distributed) [#60282](https://github.com/ClickHouse/ClickHouse/pull/60282) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح استخدام قيمة غير مهيأة ونتيجة غير صالحة في دوال التجزئة مع IPv6 [#60359](https://github.com/ClickHouse/ClickHouse/pull/60359) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح OptimizeDateOrDateTimeConverterWithPreimageVisitor مع وسائط NULL [#60453](https://github.com/ClickHouse/ClickHouse/pull/60453) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح خطأ بسيط كان يمنع تنفيذ استعلامات الجداول الموزعة المُرسلة من عملاء لهجتَي KQL أو PRQL على النسخ المتماثلة. [#59674](https://github.com/ClickHouse/ClickHouse/issues/59674). [#60470](https://github.com/ClickHouse/ClickHouse/pull/60470) ([Alexey Milovidov](https://github.com/alexey-milovidov)) [#59674](https://github.com/ClickHouse/ClickHouse/pull/59674) ([Austin Kothig](https://github.com/kothiga)).

### <a id="241" /> إصدار ClickHouse 24.1، 2024-01-30. [العرض التقديمي](https://presentations.clickhouse.com/2024-release-24.1/)، [الفيديو](https://www.youtube.com/watch?v=pBF9g0wGAGs)

<Frame>
  <iframe src="https://www.youtube.com/embed/pBF9g0wGAGs" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### تغيير غير متوافق مع الإصدارات السابقة
</div>

* أصبح الإعداد `print_pretty_type_names` مفعّلًا افتراضيًا. يمكنك تعطيله للاحتفاظ بالسلوك السابق، أو تنفيذ `SET compatibility = '23.12'`. [#57726](https://github.com/ClickHouse/ClickHouse/pull/57726) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تم إهمال إعداد MergeTree `clean_deleted_rows`، ولم يعد له أي تأثير. ولم تعد الكلمة المفتاحية `CLEANUP` الخاصة بـ `OPTIMIZE` مسموحًا بها افتراضيًا (إلا إذا كان `allow_experimental_replacing_merge_with_cleanup` مفعّلًا). [#58316](https://github.com/ClickHouse/ClickHouse/pull/58316) ([Alexander Tokmakov](https://github.com/tavplubix)).
* لم تعد الدالة `reverseDNSQuery` متاحة. وبذلك أُغلقت [#58368](https://github.com/ClickHouse/ClickHouse/issues/58368). [#58369](https://github.com/ClickHouse/ClickHouse/pull/58369) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* جرى تفعيل تغييرات متعددة لتحسين آلية access control في configuration file. تؤثر هذه التغييرات في السلوك، لذا راجع `config.xml` ضمن القسم `access_control_improvements`. وإذا لم تكن متأكدًا، فأبقِ القيم في configuration file كما كانت في الإصدار السابق. [#58584](https://github.com/ClickHouse/ClickHouse/pull/58584) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* جرى تحسين عمل `sumMapFiltered` مع قيم NaN. فأصبحت قيم NaN توضع الآن في النهاية (بدلًا من توزيعها عشوائيًا)، وتُعد مختلفة عن أي قيمة أخرى. كما أصبح `-0` يُعامل الآن على أنه مساوٍ لـ `0`؛ وبما أن القيم 0 تُستبعَد، فإن قيم `-0` تُستبعَد أيضًا. [#58959](https://github.com/ClickHouse/ClickHouse/pull/58959) ([Raúl Marín](https://github.com/Algunenano)).
* ستعمل الدالة `visibleWidth` وفقًا للتوثيق. ففي الإصدارات السابقة، كانت تكتفي بعدّ code points بعد string serialization، مثل الدالة `lengthUTF8`، لكنها لم تكن تراعي المحارف ذات العرض الصفري، والمحارف المُركّبة، والمحارف كاملة العرض، وعلامات الجدولة، ومحارف الحذف. وقد تغيّر هذا السلوك الآن بما يتوافق مع التوثيق. وإذا أردت الاحتفاظ بالسلوك السابق، فاضبط `function_visible_width_behavior` على `0`، أو اضبط `compatibility` على `23.12` أو إصدار أقدم. [#59022](https://github.com/ClickHouse/ClickHouse/pull/59022) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* تم تعطيل dialect ‏`Kusto` إلى أن يُصلَح هذان الخطآن: [#59037](https://github.com/ClickHouse/ClickHouse/issues/59037) و [#59036](https://github.com/ClickHouse/ClickHouse/issues/59036). [#59305](https://github.com/ClickHouse/ClickHouse/pull/59305) ([Alexey Milovidov](https://github.com/alexey-milovidov)). وستؤدي أي محاولة لاستخدام `Kusto` إلى ظهور Exception.
* لم يعد التنفيذ الأكثر كفاءة للمُعدِّل `FINAL` يضمن الحفاظ على الترتيب حتى عند تعيين `max_threads = 1`. وإذا كنت تعتمد على السلوك السابق، فاضبط `enable_vertical_final` على 0 أو `compatibility` على `23.12`.

<div id="new-feature">
  #### ميزة جديدة
</div>

* تنفيذ نوع البيانات `Variant` الذي يمثّل `union` لأنواع بيانات أخرى. يعني النوع `Variant(T1, T2, ..., TN)` أن كل صف من هذا النوع يحمل قيمة من النوع `T1` أو `T2` أو ... أو `TN`، أو لا يحمل أيًّا منها (القيمة `NULL`). يتوفر نوع `Variant` عبر الإعداد `allow_experimental_variant_type`. مرجع: [#54864](https://github.com/ClickHouse/ClickHouse/issues/54864). [#58047](https://github.com/ClickHouse/ClickHouse/pull/58047) ([Kruglov Pavel](https://github.com/Avogar)).
* يمكن الآن تحديد بعض الإعدادات (حاليًا `min_compress_block_size` و `max_compress_block_size`) على مستوى العمود، بحيث تكون لها أولوية على الإعداد المناظر على مستوى الجدول. مثال: `CREATE TABLE tab (col String SETTINGS (min_compress_block_size = 81920, max_compress_block_size = 163840)) ENGINE = MergeTree ORDER BY tuple();`. [#55201](https://github.com/ClickHouse/ClickHouse/pull/55201) ([Duc Canh Le](https://github.com/canhld94)).
* إضافة الدالة التجميعية `quantileDD`، إلى جانب `quantilesDD` و `medianDD` المقابلتين لها. وهي تستند إلى DDSketch [https://www.vldb.org/pvldb/vol12/p2195-masson.pdf](https://www.vldb.org/pvldb/vol12/p2195-masson.pdf). ### إدخال توثيقي للتغييرات الموجّهة للمستخدم. [#56342](https://github.com/ClickHouse/ClickHouse/pull/56342) ([Srikanth Chekuri](https://github.com/srikanthccv)).
* السماح بتهيئة أي نوع من أنواع object storage مع أي نوع من أنواع metadata type. [#58357](https://github.com/ClickHouse/ClickHouse/pull/58357) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة الوضعين `null_status_on_timeout_only_active` و `throw_only_active` إلى `distributed_ddl_output_mode`، بما يتيح تجنّب انتظار replicas غير النشطة. [#58350](https://github.com/ClickHouse/ClickHouse/pull/58350) ([Alexander Tokmakov](https://github.com/tavplubix)).
* إضافة الدالة `arrayShingles` لحساب المصفوفات الفرعية؛ فعلى سبيل المثال، تُرجع `arrayShingles([1, 2, 3, 4, 5], 3)` القيمة `[[1,2,3],[2,3,4],[3,4,5]]`. [#58396](https://github.com/ClickHouse/ClickHouse/pull/58396) ([Zheng Miao](https://github.com/zenmiao7)).
* إضافة الدوال `punycodeEncode` و `punycodeDecode` و `idnaEncode` و `idnaDecode`، وهي مفيدة لتحويل أسماء النطاقات الدولية إلى تمثيل ASCII وفقًا لمعيار IDNA. [#58454](https://github.com/ClickHouse/ClickHouse/pull/58454) ([Robert Schulze](https://github.com/rschu1ze)).
* إضافة دوال similarity functions للسلاسل النصية: `dramerauLevenshteinDistance` و `jaroSimilarity` و `jaroWinklerSimilarity`. [#58531](https://github.com/ClickHouse/ClickHouse/pull/58531) ([Robert Schulze](https://github.com/rschu1ze)).
* إضافة إعدادين هما `output_format_compression_level` لتغيير مستوى Compression للإخراج، و `output_format_compression_zstd_window_log` لتعيين window size للضغط صراحةً وتمكين الوضع بعيد المدى لضغط zstd إذا كانت Compression method للإخراج هي `zstd`. يُطبَّق ذلك على `INTO OUTFILE` وعند الكتابة إلى table functions `file` و `url` و `hdfs` و `s3` و `azureBlobStorage`. [#58539](https://github.com/ClickHouse/ClickHouse/pull/58539) ([Duc Canh Le](https://github.com/canhld94)).
* تعطيل ANSI escape sequences تلقائيًا في Pretty formats إذا لم يكن الإخراج طرفية. إضافة وضع `auto` جديد إلى الإعداد `output_format_pretty_color`. [#58614](https://github.com/ClickHouse/ClickHouse/pull/58614) ([Shaun Struwig](https://github.com/Blargian)).
* إضافة الدالة `sqidDecode` التي تفك ترميز [Sqids](https://sqids.org/). [#58544](https://github.com/ClickHouse/ClickHouse/pull/58544) ([Robert Schulze](https://github.com/rschu1ze)).
* إتاحة قراءة قيم Bool كسلاسل String في JSON input formats. يتم ذلك عبر الإعداد `input_format_json_read_bools_as_strings` المفعّل افتراضيًا. [#58561](https://github.com/ClickHouse/ClickHouse/pull/58561) ([Kruglov Pavel](https://github.com/Avogar)).
* أُضيفت الدالة `seriesDecomposeSTL` التي تفكّك سلسلة زمنية إلى مكوّن موسمي واتجاه ومكوّن متبقٍ. [#57078](https://github.com/ClickHouse/ClickHouse/pull/57078) ([Bhavna Jindal](https://github.com/bhavnajindal)).
* تقديم MySQL Binlog Client لـ MaterializedMySQL: اتصال binlog واحد لعدة قواعد بيانات. [#57323](https://github.com/ClickHouse/ClickHouse/pull/57323) ([Val Doroshchuk](https://github.com/valbok)).
* توفّر Intel QuickAssist Technology ‏(QAT) تسريعًا عتاديًا للضغط والتشفير. حصل ClickHouse على compression codec جديد هو `ZSTD_QAT` يستفيد من QAT لضغط zstd. يستخدم هذا codec كلًا من [QATlib من Intel](https://github.com/intel/qatlib) و[QAT ZSTD Plugin من Intel](https://github.com/intel/QAT-ZSTD-Plugin). حاليًا، لا يمكن تسريع سوى الضغط عتاديًا (مع اللجوء إلى fallback برمجي إذا تعذّرت تهيئة QAT)، بينما يعمل فك الضغط دائمًا برمجيًا. [#57509](https://github.com/ClickHouse/ClickHouse/pull/57509) ([jasperzhu](https://github.com/jinjunzh)).
* تنفيذ الطريقة الجديدة لتوليد مفاتيح object storage لأقراص S3. ويمكن الآن تعريف format باستخدام صياغة Regex الخاصة بـ `re2` عبر الخيار `key_template` في وصف القرص. [#57663](https://github.com/ClickHouse/ClickHouse/pull/57663) ([Sema Checherinda](https://github.com/CheSema)).
* يحتوي الجدول system.dropped\_tables\_parts على parts الخاصة بجداول system.dropped\_tables (وهي الجداول التي أُسقطت ولكن لم تُزل بعد). [#58038](https://github.com/ClickHouse/ClickHouse/pull/58038) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إضافة الإعداد `max_materialized_views_size_for_table` لتقييد عدد materialized views المرتبطة بجدول. [#58068](https://github.com/ClickHouse/ClickHouse/pull/58068) ([zhongyuankai](https://github.com/zhongyuankai)).
* تحسينات على `clickhouse-format`: دعم استعلامات INSERT مع `VALUES`؛ ودعم comments (استخدم `--comments` لإخراجها)؛ ودعم الخيار `--max_line_length` لتنسيق الاستعلامات الطويلة فقط بصيغة multiline. [#58246](https://github.com/ClickHouse/ClickHouse/pull/58246) ([vdimir](https://github.com/vdimir)).
* Attach جميع system tables في `clickhouse-local`، بما في ذلك `system.parts`. هذا يغلق [#58312](https://github.com/ClickHouse/ClickHouse/issues/58312). [#58359](https://github.com/ClickHouse/ClickHouse/pull/58359) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم data types من نوع `Enum` في الدالة `transform`. هذا يغلق [#58241](https://github.com/ClickHouse/ClickHouse/issues/58241). [#58360](https://github.com/ClickHouse/ClickHouse/pull/58360) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة الجدول `system.database_engines`. [#58390](https://github.com/ClickHouse/ClickHouse/pull/58390) ([Bharat Nallan](https://github.com/bharatnc)). والسماح بتسجيل database engines بشكل مستقل في codebase. [#58365](https://github.com/ClickHouse/ClickHouse/pull/58365) ([Bharat Nallan](https://github.com/bharatnc)). والسماح بتسجيل Interpreters بشكل مستقل. [#58443](https://github.com/ClickHouse/ClickHouse/pull/58443) ([Bharat Nallan](https://github.com/bharatnc)).
* أُضيف المعدِّل `FROM <Replicas>` إلى الاستعلام `SYSTEM SYNC REPLICA LIGHTWEIGHT`. يضمن المعدِّل `FROM` أننا ننتظر عمليات الجلب وعمليات drop-ranges فقط لنسخ المصدر المحددة، وكذلك لأي replica غير موجودة في ZooKeeper أو لها `source&#95;replica` فارغ. [#58393](https://github.com/ClickHouse/ClickHouse/pull/58393) ([Jayme Bird](https://github.com/jaymebrd)).
* أُضيف الإعداد `update_insert_deduplication_token_in_dependent_materialized_views`. يتيح هذا الإعداد تحديث رمز منع تكرار الإدراج باستخدام معرّف الجدول أثناء الإدراج في العروض المادية التابعة. يغلق [#59165](https://github.com/ClickHouse/ClickHouse/issues/59165). [#59238](https://github.com/ClickHouse/ClickHouse/pull/59238) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيفت العبارة `SYSTEM RELOAD ASYNCHRONOUS METRICS` التي تُحدِّث المقاييس غير المتزامنة. وهي مفيدة في الغالب للاختبار والتطوير. [#53710](https://github.com/ClickHouse/ClickHouse/pull/53710) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="performance-improvement">
  #### تحسين الأداء
</div>

* أُعيدت كتابة آلية التنسيق للنسخ المتماثلة المتوازية لتحسين التوازي وموضعية ذاكرة التخزين المؤقت. وقد اختُبرت من حيث قابلية التوسع الخطي على مئات النسخ المتماثلة. كما أُضيف إليها دعم القراءة بالترتيب. [#57968](https://github.com/ClickHouse/ClickHouse/pull/57968) ([Nikita Taranov](https://github.com/nickitat)).
* استُبدل التخزين المؤقت الصادر لـ HTTP بمخازن ClickHouse الأصلية. وأُضيفت مقاييس لاحتساب عدد البايتات للواجهات. [#56064](https://github.com/ClickHouse/ClickHouse/pull/56064) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* ستُدمج حالات التجميع الكبيرة لـ `uniqExact` بالتوازي في الاستعلامات الموزعة. [#59009](https://github.com/ClickHouse/ClickHouse/pull/59009) ([Nikita Taranov](https://github.com/nickitat)).
* خُفِّض استخدام الذاكرة بعد القراءة من جداول `MergeTree`. [#59290](https://github.com/ClickHouse/ClickHouse/pull/59290) ([Anton Popov](https://github.com/CurtizJ)).
* خُفِّض استخدام الذاكرة في الدمج الرأسي. [#59340](https://github.com/ClickHouse/ClickHouse/pull/59340) ([Anton Popov](https://github.com/CurtizJ)).
* تجنُّب الاستهلاك الهائل للذاكرة أثناء بدء تشغيل Keeper في مزيد من الحالات. [#58455](https://github.com/ClickHouse/ClickHouse/pull/58455) ([Antonio Andelic](https://github.com/antonio2368)).
* تحسين في Keeper: تقليل استخدام الذاكرة للعُقد المخزّنة. [#59002](https://github.com/ClickHouse/ClickHouse/pull/59002) ([Antonio Andelic](https://github.com/antonio2368)).
* تنفيذ `FINAL` أكثر ملاءمة لذاكرة التخزين المؤقت. ملاحظة بشأن تغيّر السلوك: سابقًا، كانت الاستعلامات التي تستخدم المُعدِّل `FINAL` وتقرأ عبر `single stream` (مثل `max_threads = 1`) تنتج مخرجات مرتبة حتى بدون تحديد عبارة `ORDER BY` صراحةً. لم يعد ذلك مضمونًا عندما تكون `enable_vertical_final = true` (وهي كذلك افتراضيًا). [#54366](https://github.com/ClickHouse/ClickHouse/pull/54366) ([Duc Canh Le](https://github.com/canhld94)).
* تجاوز النسخ الإضافي في `ReadBufferFromIStream`، الذي يُستخدم مثلًا للقراءة من S3. [#56961](https://github.com/ClickHouse/ClickHouse/pull/56961) ([Nikita Taranov](https://github.com/nickitat)).
* تحسين دالة عنصر المصفوفة عندما يكون الإدخال Array(Map)/Array(Array(Num)/Array(Array(String))/Array(BigInt)/Array(Decimal). كانت التطبيقات السابقة تُجري عمليات تخصيص أكثر من اللازم. وقد تصل زيادة السرعة الناتجة عن هذا التحسين إلى \~6x، خصوصًا عندما يكون نوع الإدخال Array(Map). [#56403](https://github.com/ClickHouse/ClickHouse/pull/56403) ([李扬](https://github.com/taiyang-li)).
* قراءة العمود مرة واحدة عند قراءة أكثر من عمود فرعي منه في الأجزاء compact. [#57631](https://github.com/ClickHouse/ClickHouse/pull/57631) ([Kruglov Pavel](https://github.com/Avogar)).
* أُعيدت كتابة AST للدالة `sum(column + constant)`. وهذا متاح كمرحلة تحسين في المُحلِّل [#57853](https://github.com/ClickHouse/ClickHouse/pull/57853) ([Jiebin Sun](https://github.com/jiebinn)).
* أصبح تقييم الدالة `match` يستفيد الآن من فهارس التجاوز `ngrambf_v1` و`tokenbf_v1`. [#57882](https://github.com/ClickHouse/ClickHouse/pull/57882) ([凌涛](https://github.com/lingtaolf)).
* أصبح تقييم الدالة `match` يستفيد الآن من الفهارس المعكوسة. [#58284](https://github.com/ClickHouse/ClickHouse/pull/58284) ([凌涛](https://github.com/lingtaolf)).
* لا يعود `FINAL` في MergeTree يقارن الصفوف من الجزء نفسه غير L0. [#58142](https://github.com/ClickHouse/ClickHouse/pull/58142) ([Duc Canh Le](https://github.com/canhld94)).
* تسريع استدعاءات iota (ملء المصفوفة بأرقام متتالية). [#58271](https://github.com/ClickHouse/ClickHouse/pull/58271) ([Raúl Marín](https://github.com/Algunenano)).
* تسريع MIN/MAX للأنواع غير الرقمية. [#58334](https://github.com/ClickHouse/ClickHouse/pull/58334) ([Raúl Marín](https://github.com/Algunenano)).
* حسّن دمج عوامل التصفية (كما في `PREWHERE` متعدد المراحل) باستخدام تعليمات BMI2/SSE المضمّنة [#58800](https://github.com/ClickHouse/ClickHouse/pull/58800) ([Zhiguo Zhou](https://github.com/ZhiguoZh)).
* استخدم خيط تنفيذ واحدًا أقل في `clickhouse-local`. [#58968](https://github.com/ClickHouse/ClickHouse/pull/58968) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* حسّن أداء الدالة `multiIf` عندما يكون النوع Nullable. [#57745](https://github.com/ClickHouse/ClickHouse/pull/57745) ([KevinyhZou](https://github.com/KevinyhZou)).
* أضف `SYSTEM JEMALLOC PURGE` لتطهير صفحات jemalloc غير المستخدمة، و`SYSTEM JEMALLOC [ ENABLE | DISABLE | FLUSH ] PROFILE` للتحكم في ملف تعريف jemalloc إذا كان Profiler مفعّلًا. وأُضيف أيضًا أمر 4LW مرتبط بـ jemalloc في Keeper: `jmst` لتفريغ إحصاءات jemalloc، و`jmfp` و`jmep` و`jmdp` للتحكم في ملف تعريف jemalloc إذا كان Profiler مفعّلًا. [#58665](https://github.com/ClickHouse/ClickHouse/pull/58665) ([Antonio Andelic](https://github.com/antonio2368)).
* خفّض استهلاك الذاكرة أثناء إنشاء النسخ الاحتياطية إلى S3. [#58962](https://github.com/ClickHouse/ClickHouse/pull/58962) ([Vitaly Baranov](https://github.com/vitlibar)).

<div id="improvement-1">
  #### تحسين
</div>

* أُضيفت تعليقات (أوصاف موجزة) إلى جميع أعمدة جداول النظام. وهناك عدة أسباب لذلك: - نحن نستخدم جداول النظام كثيرًا، وقد يكون من الصعب جدًا أحيانًا على المطور فهم الغرض من عمود معيّن ومعناه. - نحن نُجري تغييرات كثيرة على جداول النظام (بإضافة أعمدة جديدة أو تعديل الأعمدة الموجودة)، وتكون وثائقها قديمة دائمًا. على سبيل المثال، ألقِ نظرة على صفحة التوثيق الخاصة بـ [`system.parts`](/ar/reference/system-tables/parts). فهي تفتقد الكثير من الأعمدة - ونود في النهاية إنشاء التوثيق مباشرةً من ClickHouse. [#58356](https://github.com/ClickHouse/ClickHouse/pull/58356) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* السماح بالاستعلامات التي لا تحتوي على أسماء مستعارة للاستعلامات الفرعية في `PASTE JOIN`. [#58654](https://github.com/ClickHouse/ClickHouse/pull/58654) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* تمكين تكامل `MySQL`/`MariaDB` على macOS. هذا يُغلق [#21191](https://github.com/ClickHouse/ClickHouse/issues/21191). [#46316](https://github.com/ClickHouse/ClickHouse/pull/46316) ([Alexey Milovidov](https://github.com/alexey-milovidov)) ([Robert Schulze](https://github.com/rschu1ze)).
* تعطيل `max_rows_in_set_to_optimize_join` افتراضيًا. [#56396](https://github.com/ClickHouse/ClickHouse/pull/56396) ([vdimir](https://github.com/vdimir)).
* إضافة مَعلمة config باسم `<host_name>` تتيح تجنب تحليل hostnames في استعلامات DDL مع ON CLUSTER ومحركات قواعد البيانات Replicated. وهذا يخفف احتمال تعطل الطابور في حال حدوث تغيير في تعريف cluster. يُغلق [#57573](https://github.com/ClickHouse/ClickHouse/issues/57573). [#57603](https://github.com/ClickHouse/ClickHouse/pull/57603) ([Nikolay Degterinsky](https://github.com/evillique)).
* زيادة `load_metadata_threads` إلى 16 لذاكرة التخزين المؤقت لنظام الملفات. سيؤدي ذلك إلى تسريع بدء تشغيل الخادم. [#57732](https://github.com/ClickHouse/ClickHouse/pull/57732) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة إمكانية تقييد merges/mutations (`max_mutations_bandwidth_for_server`/`max_merges_bandwidth_for_server`). [#57877](https://github.com/ClickHouse/ClickHouse/pull/57877) ([Azat Khuzhin](https://github.com/azat)).
* استُبدل العمود غير الموثّق (boolean) `is_hot_reloadable` في جدول النظام `system.server_settings` بالعمود ‏(Enum8) `changeable_without_restart` ذي القيم الممكنة `No` و`Yes` و`IncreaseOnly` و`DecreaseOnly`. كما تم توثيق هذا العمود أيضًا. [#58029](https://github.com/ClickHouse/ClickHouse/pull/58029) ([skyoct](https://github.com/skyoct)).
* يدعم Cluster discovery الآن تعيين username وpassword، ويُغلق [#58063](https://github.com/ClickHouse/ClickHouse/issues/58063). [#58123](https://github.com/ClickHouse/ClickHouse/pull/58123) ([vdimir](https://github.com/vdimir)).
* دعم query parameters في `ALTER TABLE ... PART`. [#58297](https://github.com/ClickHouse/ClickHouse/pull/58297) ([Azat Khuzhin](https://github.com/azat)).
* إنشاء consumers لجداول Kafka عند الحاجة (مع الاحتفاظ بهم لفترة زمنية — `kafka_consumers_pool_ttl_ms` منذ آخر استخدام). ومن المفترض أن يحل هذا مشكلة الإحصاءات الخاصة بـ `system.kafka_consumers` (التي لا تُستهلك عندما لا يقرأ أحد من جدول Kafka، مما يؤدي إلى تسرّب مستمر في الذاكرة وبطء في فصل الجدول)، كما يعيد طلب السحب هذا أيضًا تمكين الإحصاءات الخاصة بـ `system.kafka_consumers` افتراضيًا. [#58310](https://github.com/ClickHouse/ClickHouse/pull/58310) ([Azat Khuzhin](https://github.com/azat)).
* `sparkBar` كاسم مستعار لـ `sparkbar`. [#58335](https://github.com/ClickHouse/ClickHouse/pull/58335) ([凌涛](https://github.com/lingtaolf)).
* تجنب إرسال طلبات `ComposeObject` بعد الرفع إلى `GCS`. [#58343](https://github.com/ClickHouse/ClickHouse/pull/58343) ([Azat Khuzhin](https://github.com/azat)).
* التعامل بشكل صحيح مع المفاتيح التي تحتوي أسماؤها على نقطة داخل ملفات XML الخاصة بالإعدادات. [#58354](https://github.com/ClickHouse/ClickHouse/pull/58354) ([Azat Khuzhin](https://github.com/azat)).
* جعل الدالة `format` تُرجع قيمة ثابتة عند استخدام argumentات ثابتة. هذا يُغلق [#58355](https://github.com/ClickHouse/ClickHouse/issues/58355). [#58358](https://github.com/ClickHouse/ClickHouse/pull/58358) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* إضافة إعداد `max_estimated_execution_time` للفصل بين `max_execution_time` و`max_estimated_execution_time`. [#58402](https://github.com/ClickHouse/ClickHouse/pull/58402) ([Zhang Yifan](https://github.com/zhangyifan27)).
* تقديم تلميح عند استخدام اسم غير صالح لمحرك قاعدة البيانات. [#58444](https://github.com/ClickHouse/ClickHouse/pull/58444) ([Bharat Nallan](https://github.com/bharatnc)).
* إضافة إعدادات لتحسين التحكم في نوع الفهارس في قاموس Arrow. واستخدام نوع عدد صحيح موقّع للفهارس افتراضيًا، كما يوصي Arrow. يُغلق [#57401](https://github.com/ClickHouse/ClickHouse/issues/57401). [#58519](https://github.com/ClickHouse/ClickHouse/pull/58519) ([Kruglov Pavel](https://github.com/Avogar)).
* تنفيذ [#58575](https://github.com/ClickHouse/ClickHouse/issues/58575): دعم متغير البيئة `CLICKHOUSE_PASSWORD_FILE ` عند تشغيل صورة Docker. [#58583](https://github.com/ClickHouse/ClickHouse/pull/58583) ([Eyal Halpern Shalev](https://github.com/Eyal-Shalev)).
* عند تنفيذ بعض الاستعلامات التي تتطلب عددًا كبيرًا من التدفقات لقراءة البيانات، كان الخطأ `"Paste JOIN requires sorted tables only"` يظهر سابقًا. الآن يُخفَّض عدد التدفقات إلى 1 في هذه الحالة. [#58608](https://github.com/ClickHouse/ClickHouse/pull/58608) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* تحسين رسالة الخطأ INVALID\_IDENTIFIER. [#58703](https://github.com/ClickHouse/ClickHouse/pull/58703) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* تحسين التعامل مع القيم الرقمية الحرفية الموقّعة في normalizeQuery. [#58710](https://github.com/ClickHouse/ClickHouse/pull/58710) ([Salvatore Mesoraca](https://github.com/aiven-sal)).
* دعم نوع البيانات Point في MySQL. [#58721](https://github.com/ClickHouse/ClickHouse/pull/58721) ([Kseniia Sumarokova](https://github.com/kssenii)).
* عند مقارنة عمود Float32 بسلسلة ثابتة، تُقرأ السلسلة على أنها Float32 (بدلًا من Float64). [#58724](https://github.com/ClickHouse/ClickHouse/pull/58724) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين التوافق مع S3، وإضافة دعم تخزين ECloud EOS. [#58786](https://github.com/ClickHouse/ClickHouse/pull/58786) ([xleoken](https://github.com/xleoken)).
* السماح لـ `KILL QUERY` بإلغاء النسخ الاحتياطية وعمليات الاستعادة. كما يجعل هذا الطلب النسخ الاحتياطية وعمليات الاستعادة الجارية مرئية في `system.processes`. كذلك، يوجد الآن إعداد جديد في إعدادات الخادم هو `shutdown_wait_backups_and_restores` (default=true)، ويجعل الخادم إما ينتظر عند إيقاف التشغيل حتى تكتمل جميع النسخ الاحتياطية وعمليات الاستعادة الجارية، أو يلغيها مباشرة. [#58804](https://github.com/ClickHouse/ClickHouse/pull/58804) ([Vitaly Baranov](https://github.com/vitlibar)).
* إضافة دعم codec ‏ZSTD إلى Avro format. يُغلق [#58735](https://github.com/ClickHouse/ClickHouse/issues/58735). [#58805](https://github.com/ClickHouse/ClickHouse/pull/58805) ([flynn](https://github.com/ucasfl)).
* حصلت واجهة MySQL على دعم للإعدادين `net_write_timeout` و`net_read_timeout`. ويُحوَّل `net_write_timeout` إلى إعداد ClickHouse الأصلي `send_timeout`، وبالمثل يُحوَّل `net_read_timeout` إلى `receive_timeout`. وأُصلحت مشكلة كانت تجعل ضبط إعداد MySQL ‏`sql_select_limit` ممكنًا فقط إذا كانت عبارة SQL بأكملها مكتوبة بأحرف كبيرة. [#58835](https://github.com/ClickHouse/ClickHouse/pull/58835) ([Serge Klochkov](https://github.com/slvrtrn)).
* تحسين رسالة الاستثناء عند تعارض إنشاء Dictionary وtable بالاسم نفسه. [#58841](https://github.com/ClickHouse/ClickHouse/pull/58841) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* التأكد من أنه بالنسبة إلى disks المخصّصة (المنشأة من SQL)، يجب تحديد إما `filesystem_caches_path` (بادئة directory مشتركة لجميع filesystem caches) أو `custom_cached_disks_base_directory` (بادئة directory مشتركة فقط لـ filesystem caches المنشأة من disks مخصّصة) في config الخاص بـ server. وتكون لـ `custom_cached_disks_base_directory` أولوية أعلى للأقراص المخصّصة من `filesystem_caches_path`، الذي يُستخدم إذا لم يكن الأول موجودًا. ويجب أن يقع إعداد filesystem cache ‏`path` داخل ذلك directory، وإلا فسيُطرح استثناء يمنع إنشاء disk. ولن يؤثر ذلك في disks التي أُنشئت على إصدار أقدم ثم جرت ترقية server، إذ لن يُطرح الاستثناء في هذه الحالة للسماح لـ server بالبدء بنجاح. كما أُضيف `custom_cached_disks_base_directory` إلى config الافتراضي لـ server بالقيمة `/var/lib/clickhouse/caches/`. يغلق [#57825](https://github.com/ClickHouse/ClickHouse/issues/57825). [#58869](https://github.com/ClickHouse/ClickHouse/pull/58869) ([Kseniia Sumarokova](https://github.com/kssenii)).
* حصلت واجهة MySQL على توافق مع queries ‏`SHOW WARNINGS`/`SHOW COUNT(*) WARNINGS`، مع أن النتيجة المعادة تكون دائمًا empty set. [#58929](https://github.com/ClickHouse/ClickHouse/pull/58929) ([Serge Klochkov](https://github.com/slvrtrn)).
* تخطي replicas غير المتاحة عند تنفيذ `INSERT SELECT` الموزّع المتوازي. [#58931](https://github.com/ClickHouse/ClickHouse/pull/58931) ([Alexander Tokmakov](https://github.com/tavplubix)).
* عرض log level بصيغة وصفية لفظية عند تمكين formatting السجلات المنظَّمة بتنسيق json. [#58936](https://github.com/ClickHouse/ClickHouse/pull/58936) ([Tim Liou](https://github.com/wheatdog)).
* حصلت واجهة MySQL على دعم لعبارات `CAST(x AS SIGNED)` و`CAST(x AS UNSIGNED)` عبر Aliases لأنواع البيانات: `SIGNED` لـ Int64 و`UNSIGNED` لـ UInt64. وهذا يحسّن التوافق مع أدوات BI مثل Looker Studio. [#58954](https://github.com/ClickHouse/ClickHouse/pull/58954) ([Serge Klochkov](https://github.com/slvrtrn)).
* تغيير directory العمل إلى data path داخل حاوية docker. [#58975](https://github.com/ClickHouse/ClickHouse/pull/58975) ([cangyin](https://github.com/cangyin)).
* أُضيف إعداد لـ Azure Blob Storage باسم `azure_max_unexpected_write_error_retries`، ويمكن أيضًا ضبطه من config ضمن قسم azure. [#59001](https://github.com/ClickHouse/ClickHouse/pull/59001) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* السماح لـ server بالبدء حتى مع وجود table معطوب في data lake. يغلق [#58625](https://github.com/ClickHouse/ClickHouse/issues/58625). [#59080](https://github.com/ClickHouse/ClickHouse/pull/59080) ([Kseniia Sumarokova](https://github.com/kssenii)).
* السماح بتجاهل schema evolution في table engine ‏`Iceberg` وقراءة جميع data باستخدام schema التي يحددها المستخدم عند إنشاء table أو أحدث schema جرى parsed من metadata عند إنشاء table. ويتم ذلك عبر الإعداد `iceberg_engine_ignore_schema_evolution`، وهو معطّل افتراضيًا. لاحظ أن تمكين هذا الإعداد قد يؤدي إلى نتائج غير صحيحة، لأنه في حالة تطور schema ستُقرأ جميع data files باستخدام schema نفسها. [#59133](https://github.com/ClickHouse/ClickHouse/pull/59133) ([Kruglov Pavel](https://github.com/Avogar)).
* حظر العمليات القابلة للتعديل (`INSERT`/`ALTER`/`OPTIMIZE`/...) على وحدات التخزين للقراءة فقط أو للكتابة لمرة واحدة، مع إرجاع الخطأ المناسب `TABLE_IS_READ_ONLY` (لتجنّب المخلّفات). وتجنّب ترك مخلّفات على الأقراص المخصّصة للكتابة لمرة واحدة (`format_version.txt`) عند `CREATE`/`ATTACH`. وتجاهل `DROP` في `ReplicatedMergeTree` (وكذلك في `MergeTree`). وإصلاح التكرار عبر `s3_plain` (`MetadataStorageFromPlainObjectStorage::iterateDirectory`). للتوضيح: القرص `web` للقراءة فقط، و`s3_plain` للكتابة لمرة واحدة. [#59170](https://github.com/ClickHouse/ClickHouse/pull/59170) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح خلل في العمود التجريبي `_block_number` كان يمكن أن يؤدي إلى خطأ منطقي عند الجمع المعقّد بين عمليات `ALTER` و`merge`. يُصلح [#56202](https://github.com/ClickHouse/ClickHouse/issues/56202). ويستبدل [#58601](https://github.com/ClickHouse/ClickHouse/issues/58601). [#59295](https://github.com/ClickHouse/ClickHouse/pull/59295) ([alesapin](https://github.com/alesapin)).
* أصبحت واجهة Play تفهم متى يُعاد استثناء داخل JSON. تعديل من أجل [#52853](https://github.com/ClickHouse/ClickHouse/issues/52853). [#59303](https://github.com/ClickHouse/ClickHouse/pull/59303) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* يتيح معالج HTTP ‏`/binary` تحديد المستخدم والمضيف، واختياريًا كلمة المرور، في سلسلة الاستعلام. [#59311](https://github.com/ClickHouse/ClickHouse/pull/59311) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم النسخ الاحتياطية للجداول المضغوطة داخل الذاكرة. يُغلق هذا [#57893](https://github.com/ClickHouse/ClickHouse/issues/57893). [#59315](https://github.com/ClickHouse/ClickHouse/pull/59315) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* دعم عبارة `FORMAT` في استعلامات `BACKUP` و`RESTORE`. [#59338](https://github.com/ClickHouse/ClickHouse/pull/59338) ([Vitaly Baranov](https://github.com/vitlibar)).
* تدعم الدالة `concatWithSeparator` الآن أي أنواع من الوسائط (بدلًا من قصرها على الوسائط من النوعين `String` و`FixedString`). على سبيل المثال، يعيد `SELECT concatWithSeparator('.', 'number', 1)` الآن القيمة `number.1`. [#59341](https://github.com/ClickHouse/ClickHouse/pull/59341) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="buildtestingpackaging-improvement">
  #### تحسينات البناء/الاختبار/التغليف
</div>

* تحسين الأسماء المستعارة للملف التنفيذي clickhouse (إذ أصبح `ch`/`clickhouse` يشير الآن إلى `clickhouse-local` أو `clickhouse` بحسب الوسائط) وإضافة الإكمال التلقائي في bash للأسماء المستعارة الجديدة. [#58344](https://github.com/ClickHouse/ClickHouse/pull/58344) ([Azat Khuzhin](https://github.com/azat)).
* إضافة فحص لتغييرات الإعدادات إلى CI للتأكد من أن جميع تغييرات الإعدادات تنعكس في سجل تغييرات الإعدادات. [#58555](https://github.com/ClickHouse/ClickHouse/pull/58555) ([Kruglov Pavel](https://github.com/Avogar)).
* استخدام الجداول المرفقة مباشرةً من S3 في الاختبارات ذات الحالة. [#58791](https://github.com/ClickHouse/ClickHouse/pull/58791) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* حفظ ملف `fuzzer.log` كاملًا كأرشيف بدلًا من آخر 100 ألف سطر. كثيرًا ما يحذف `tail -n 100000` الأسطر التي تحتوي على تعريفات الجداول. مثال:. [#58821](https://github.com/ClickHouse/ClickHouse/pull/58821) ([Dmitry Novik](https://github.com/novikd)).
* تفعيل Rust على macOS مع Aarch64 (سيضيف هذا البحث التقريبي في العميل باستخدام skim ولغة PRQL، رغم أنني لا أظن أن هناك من يستضيف ClickHouse على Darwin، لذا أقول إن هذا مخصص في الغالب للبحث التقريبي في العميل). [#59272](https://github.com/ClickHouse/ClickHouse/pull/59272) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح مشكلة في التجميع في العناقيد المختلطة من x86\_64 وARM [#59132](https://github.com/ClickHouse/ClickHouse/pull/59132) ([Harry Lee](https://github.com/HarryLeeIBM)).

<div id="bug-fix-user-visible-misbehavior-in-an-official-stable-release-9">
  #### خطأ (سلوك خاطئ يلاحظه المستخدم في إصدار مستقر رسمي)
</div>

* إضافة تحويل مفاتيح الربط لـ Nested LowCardinality [#51550](https://github.com/ClickHouse/ClickHouse/pull/51550) ([vdimir](https://github.com/vdimir)).
* تسطيح نوع Nested الحقيقي فقط إذا كانت `flatten_nested=1`، وليس كل Array(Tuple) [#56132](https://github.com/ClickHouse/ClickHouse/pull/56132) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح خلل في الإسقاطات وإعداد `aggregate_functions_null_for_empty` أثناء الإدراج. [#56944](https://github.com/ClickHouse/ClickHouse/pull/56944) ([Amos Bird](https://github.com/amosbird)).
* إصلاح استثناء محتمل بسبب UUID قديم لملف تعريف [#57263](https://github.com/ClickHouse/ClickHouse/pull/57263) ([Vasily Nemkov](https://github.com/Enmk)).
* إصلاح التعامل مع مخازن القراءة المؤقتة في StreamingFormatExecutor [#57438](https://github.com/ClickHouse/ClickHouse/pull/57438) ([Kruglov Pavel](https://github.com/Avogar)).
* تجاهل MVs التي يكون جدولها الهدف محذوفًا أثناء الدفع إلى العروض [#57520](https://github.com/ClickHouse/ClickHouse/pull/57520) ([Kruglov Pavel](https://github.com/Avogar)).
* إزالة احتمال حدوث تسابق بين ALTER\_METADATA و MERGE\_PARTS [#57755](https://github.com/ClickHouse/ClickHouse/pull/57755) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح خلل في ترتيب expressions في group by مع rollup [#57786](https://github.com/ClickHouse/ClickHouse/pull/57786) ([Chen768959](https://github.com/Chen768959)).
* إصلاح لميزة replication «zero-copy» المتقادمة: إصلاح فقدان الكتل الثنائية بعد حذف replica تحتوي على broken detached parts [#58333](https://github.com/ClickHouse/ClickHouse/pull/58333) ([Alexander Tokmakov](https://github.com/tavplubix)).
* السماح للمستخدمين بالعمل مع الروابط الرمزية في user\_files\_path [#58447](https://github.com/ClickHouse/ClickHouse/pull/58447) ([Duc Canh Le](https://github.com/canhld94)).
* إصلاح تعطل عند عدم احتواء جدول graphite على دالة aggregate [#58453](https://github.com/ClickHouse/ClickHouse/pull/58453) ([Duc Canh Le](https://github.com/canhld94)).
* تأخير القراءة من StorageKafka للسماح بقراءات متعددة في العروض المادية [#58477](https://github.com/ClickHouse/ClickHouse/pull/58477) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* إصلاح حالة بسيطة من intersecting parts [#58482](https://github.com/ClickHouse/ClickHouse/pull/58482) ([Alexander Tokmakov](https://github.com/tavplubix)).
* تعطيل MergeTreePrefetchedReadPool للاستعلامات التي تحتوي على LIMIT فقط [#58505](https://github.com/ClickHouse/ClickHouse/pull/58505) ([Maksim Kita](https://github.com/kitaisreal)).
* تمكين قواعد البيانات العادية أثناء الاستعادة [#58520](https://github.com/ClickHouse/ClickHouse/pull/58520) ([Jihyuk Bok](https://github.com/tomahawk28)).
* إصلاح القراءة عبر threadpool في Apache Hive لصيغ ORC/Parquet/... [#58537](https://github.com/ClickHouse/ClickHouse/pull/58537) ([sunny](https://github.com/sunny19930321)).
* إخفاء credentials في العمود `base_backup_name` ضمن `system.backup_log` [#58550](https://github.com/ClickHouse/ClickHouse/pull/58550) ([Daniel Pozo Escalona](https://github.com/danipozo)).
* `toStartOfInterval` لتقريب قيم الملّي ثانية والميكروثانية [#58557](https://github.com/ClickHouse/ClickHouse/pull/58557) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* تعطيل `max_joined_block_rows` في ConcurrentHashJoin [#58595](https://github.com/ClickHouse/ClickHouse/pull/58595) ([vdimir](https://github.com/vdimir)).
* إصلاح join باستخدام Nullable في المُحلِّل القديم [#58596](https://github.com/ClickHouse/ClickHouse/pull/58596) ([vdimir](https://github.com/vdimir)).
* `makeDateTime64`: السماح بأن تكون الوسيطة `fraction` غير ثابتة [#58597](https://github.com/ClickHouse/ClickHouse/pull/58597) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح احتمال فكّ إسناد NULL أثناء ترميز الإطارات المضمّنة [#58607](https://github.com/ClickHouse/ClickHouse/pull/58607) ([Azat Khuzhin](https://github.com/azat)).
* تحسين عزل إدخالات ذاكرة التخزين المؤقت للاستعلامات عند إعادة إنشاء المستخدمين أو تبديل الأدوار [#58611](https://github.com/ClickHouse/ClickHouse/pull/58611) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح تحليل مفتاح partition المعطّل عند تنفيذ تحسين الإسقاط [#58638](https://github.com/ClickHouse/ClickHouse/pull/58638) ([Amos Bird](https://github.com/amosbird)).
* ذاكرة التخزين المؤقت للاستعلامات: إصلاح الحصة الخاصة بكل مستخدم [#58731](https://github.com/ClickHouse/ClickHouse/pull/58731) ([Robert Schulze](https://github.com/rschu1ze)).
* إصلاح partitioning للتدفق في دوال النوافذ المتوازية [#58739](https://github.com/ClickHouse/ClickHouse/pull/58739) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح الاستدعاء المزدوج لعملية التدمير عند رمي استثناء في addBatchLookupTable8 [#58745](https://github.com/ClickHouse/ClickHouse/pull/58745) ([Raúl Marín](https://github.com/Algunenano)).
* عدم معالجة الطلبات في Keeper أثناء الإيقاف [#58765](https://github.com/ClickHouse/ClickHouse/pull/58765) ([Antonio Andelic](https://github.com/antonio2368)).
* إصلاح فكّ إسناد مؤشر فارغ في `SlabsPolygonIndex::find` [#58771](https://github.com/ClickHouse/ClickHouse/pull/58771) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح الدالة JSONExtract لأعمدة LowCardinality(Nullable) [#58808](https://github.com/ClickHouse/ClickHouse/pull/58808) ([vdimir](https://github.com/vdimir)).
* إصلاح التراكم غير المتوقع لاستخدام الذاكرة عند إنشاء عدد كبير جدًا من الجداول باستخدام CREATE و DROP. [#58831](https://github.com/ClickHouse/ClickHouse/pull/58831) ([Maksim Kita](https://github.com/kitaisreal)).
* قراءات متعددة من تخزين file log في mv [#58877](https://github.com/ClickHouse/ClickHouse/pull/58877) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* فرض قيود على معرّف مفتاح الوصول في S3. [#58900](https://github.com/ClickHouse/ClickHouse/pull/58900) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* إصلاح احتمال حدوث crash في clickhouse-local أثناء تحميل الاقتراحات [#58907](https://github.com/ClickHouse/ClickHouse/pull/58907) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح crash عند استخدام `indexHint` [#58911](https://github.com/ClickHouse/ClickHouse/pull/58911) ([Dmitry Novik](https://github.com/novikd)).
* إصلاح فقدان StorageURL للرؤوس عند إعادة تشغيل الخادم [#58933](https://github.com/ClickHouse/ClickHouse/pull/58933) ([Michael Kolupaev](https://github.com/al13n321)).
* المحلّل: إصلاح استبدال التخزين بكتلة الإدراج [#58958](https://github.com/ClickHouse/ClickHouse/pull/58958) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* إصلاح عملية seek في ReadBufferFromZipArchive [#58966](https://github.com/ClickHouse/ClickHouse/pull/58966) ([Michael Kolupaev](https://github.com/al13n321)).
* إصلاح للفهارس المعكوسة التجريبية (لا تستخدمها في بيئة الإنتاج): أصبح `DROP INDEX` للفهرس المعكوس يزيل الآن جميع الملفات ذات الصلة من التخزين الدائم [#59040](https://github.com/ClickHouse/ClickHouse/pull/59040) ([mochi](https://github.com/MochiXu)).
* إصلاح سباق بيانات في query\_factories\_info [#59049](https://github.com/ClickHouse/ClickHouse/pull/59049) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تعطيل إعادة المحاولة عند ظهور خطأ "عدد كبير جدًا من عمليات إعادة التوجيه" [#59099](https://github.com/ClickHouse/ClickHouse/pull/59099) ([skyoct](https://github.com/skyoct)).
* إصلاح حالة توقف متبادل عند إيقاف تشغيل قاعدة بيانات لم تبدأ تشغيلها بعد [#59137](https://github.com/ClickHouse/ClickHouse/pull/59137) ([Sergei Trifonov](https://github.com/serxa)).
* إصلاح: LIMIT BY و LIMIT في استعلام موزع [#59153](https://github.com/ClickHouse/ClickHouse/pull/59153) ([Igor Nikonov](https://github.com/devcrafter)).
* إصلاح تعطل عند استخدام منطقة زمنية Nullable مع `toString` [#59190](https://github.com/ClickHouse/ClickHouse/pull/59190) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* إصلاح الإنهاء القسري في بيانات Iceberg الوصفية عند وجود مسارات ملفات غير صالحة [#59275](https://github.com/ClickHouse/ClickHouse/pull/59275) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح اسم المعمارية عند تحديد هدف Rust [#59307](https://github.com/ClickHouse/ClickHouse/pull/59307) ([p1rattttt](https://github.com/p1rattttt)).
* إصلاح خطأ منطقي يتعلق بـ "set غير جاهزة" عند الاستعلام من `system.tables` باستخدام استعلام فرعي في عبارة IN. [#59351](https://github.com/ClickHouse/ClickHouse/pull/59351) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).

<div id="changelog-for-2023">
  ## [سجل التغييرات لعام 2023](/ar/resources/changelogs/oss/2023)
</div>
