> ## 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.

# سجل التغييرات لعام 2021

> سجل التغييرات لعام 2021

<div id="clickhouse-release-v2112-2021-12-15">
  ### إصدار ClickHouse v21.12، 2021-12-15. [العرض التقديمي](https://presentations.clickhouse.com/2021-release-21.12/)، [الفيديو](https://www.youtube.com/watch?v=6qi_S9CEqa4)
</div>

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

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

* *إصلاح لميزة كان لها سابقًا سلوك غير مرغوب فيه.* لم يعد مسموحًا بإجراء `select` مباشر لـ Kafka/RabbitMQ/FileLog. ويمكن تمكين ذلك عبر الإعداد `stream_like_engine_allow_direct_select`. ومع ذلك، لن يُسمح بالتحديد المباشر حتى عند تمكينه بهذا الإعداد إذا كان هناك عرض مادي مرفق. وبالنسبة إلى Kafka وRabbitMQ، فإن التحديد المباشر — إذا كان مسموحًا — لن ينفّذ commit للرسائل افتراضيًا. ولتمكين commits مع التحديد المباشر، يجب على المستخدم استخدام إعداد على مستوى التخزين `kafka{rabbitmq}_commit_on_select=1` (القيمة الافتراضية `0`). [#31053](https://github.com/ClickHouse/ClickHouse/pull/31053) ([Kseniia Sumarokova](https://github.com/kssenii)).
* *تغيير طفيف في سلوك دالة جديدة.* إرجاع سلسلة نصية غير محاطة بعلامات اقتباس في JSON\_VALUE. يُغلق [#27965](https://github.com/ClickHouse/ClickHouse/issues/27965). [#31008](https://github.com/ClickHouse/ClickHouse/pull/31008) ([Kseniia Sumarokova](https://github.com/kssenii)).
* *إعادة تسمية إعداد.* إضافة دعم لتمثيل NULL مخصص في تنسيقات الإدخال TSV/CSV. إصلاح إلغاء التسلسل لـ Nullable(String) في تنسيقات الإدخال TSV/CSV/JSONCompactStringsEachRow/JSONStringsEachRow. وإعادة تسمية `output_format_csv_null_representation` و`output_format_tsv_null_representation` إلى `format_csv_null_representation` و`format_tsv_null_representation` على التوالي. [#30497](https://github.com/ClickHouse/ClickHouse/pull/30497) ([Kruglov Pavel](https://github.com/Avogar)).
* *مزيد من إهمال شيفرة غير مستخدمة أصلًا.* هذا يهمك فقط إذا كنت تستخدم إصدارات ClickHouse الأقدم من 20.6. أُزيلت آلية "انتخاب القائد" من `ReplicatedMergeTree`، لأن دعم عدة قادة متاح منذ 20.6. إذا كنت تُجري ترقية من إصدار أقدم وكانت إحدى النسخ المتماثلة ذات الإصدار القديم هي القائد، فسيفشل الخادم في البدء بعد الترقية. أوقف النسخ المتماثلة ذات الإصدار القديم لكي يتمكن الإصدار الجديد من البدء. بعد ذلك، لن يعود من الممكن الرجوع إلى إصدار أقدم من 20.6. [#32140](https://github.com/ClickHouse/ClickHouse/pull/32140) ([tavplubix](https://github.com/tavplubix)).

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

* تم تنفيذ المزيد من أوامر ZooKeeper Four Letter Words في clickhouse-keeper: [https://zookeeper.apache.org/doc/r3.4.8/zookeeperAdmin.html#sc\&#95;zkCommands](https://zookeeper.apache.org/doc/r3.4.8/zookeeperAdmin.html#sc\&#95;zkCommands). [#28981](https://github.com/ClickHouse/ClickHouse/pull/28981) ([JackyWoo](https://github.com/JackyWoo)). وأصبح `clickhouse-keeper` الآن مكتمل الميزات.
* دعم نوع البيانات `Bool`. [#31072](https://github.com/ClickHouse/ClickHouse/pull/31072) ([kevin wan](https://github.com/MaxWk)).
* دعم `PARTITION BY` في وحدات التخزين File وURL وHDFS، وكذلك مع دالة الجدول `INSERT INTO`. يُغلق [#30273](https://github.com/ClickHouse/ClickHouse/issues/30273). [#30690](https://github.com/ClickHouse/ClickHouse/pull/30690) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تمت إضافة `CONSTRAINT ... ASSUME ...` (من دون التحقق أثناء `INSERT`). وأُضيف أيضًا تحويل الاستعلام إلى CNF ([https://github.com/ClickHouse/ClickHouse/issues/11749](https://github.com/ClickHouse/ClickHouse/issues/11749)) لتحسين عملية التحسين. كما أُضيفت إعادة كتابة بسيطة للاستعلام باستخدام القيود (مطابقة بسيطة فقط حاليًا، وسيُحسَّن ذلك لاحقًا لدعم \<,=,>... ). وأُضيفت أيضًا إمكانية استبدال الأعمدة الثقيلة بأعمدة خفيفة إذا كان ذلك ممكنًا. [#18787](https://github.com/ClickHouse/ClickHouse/pull/18787) ([Nikita Vasilev](https://github.com/nikvas0)).
* دعم مصادقة الوصول Basic لدوال http/url. [#31648](https://github.com/ClickHouse/ClickHouse/pull/31648) ([michael1589](https://github.com/michael1589)).
* دعم النوع `INTERVAL` في العبارة `STEP` للمُعدِّل `WITH FILL`. [#30927](https://github.com/ClickHouse/ClickHouse/pull/30927) ([Anton Popov](https://github.com/CurtizJ)).
* إضافة دعم للقراءة المتوازية من ملفات متعددة، ودعم globs في العبارة `FROM INFILE`. [#30135](https://github.com/ClickHouse/ClickHouse/pull/30135) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* إضافة دعم لمعاملات الاستعلام `Identifier` الخاصة بالجدول وقاعدة البيانات. يُغلق [#27226](https://github.com/ClickHouse/ClickHouse/issues/27226). [#28668](https://github.com/ClickHouse/ClickHouse/pull/28668) ([Nikolay Degterinsky](https://github.com/evillique)).
* *ملخص سريع: تحسينات كبيرة في اكتمال تنسيقات النص واتساقها.* أُعيدت هيكلة التنسيقات `TSV` و`TSVRaw` و`CSV` و`JSONCompactEachRow` و`JSONCompactStringsEachRow`، وأزيل تكرار الشيفرة، وأُضيفت واجهة أساسية للتنسيقات ذات اللواحق `-WithNames` و`-WithNamesAndTypes`. وأُضيفت التنسيقات `CSVWithNamesAndTypes` و`TSVRawWithNames` و`TSVRawWithNamesAndTypes` و`JSONCompactEachRowWIthNames` و`JSONCompactStringsEachRowWIthNames` و`RowBinaryWithNames`. كما أُضيف دعم التحليل المتوازي للتنسيقات `TSVWithNamesAndTypes` و`TSVRaw(WithNames/WIthNamesAndTypes)` و`CSVWithNamesAndTypes` و`JSONCompactEachRow(WithNames/WIthNamesAndTypes)` و`JSONCompactStringsEachRow(WithNames/WIthNamesAndTypes)`. وأُضيف أيضًا دعم ربط الأعمدة والتحقق من الأنواع لتنسيق `RowBinaryWithNamesAndTypes`. وأُضيف الإعداد `input_format_with_types_use_header` لتحديد ما إذا كان ينبغي التحقق من أن الأنواع المكتوبة في تنسيق `<format_name>WIthNamesAndTypes` تتطابق مع بنية الجدول. وأُضيف الإعداد `input_format_csv_empty_as_default` واستُخدم في تنسيق CSV بدلًا من `input_format_defaults_for_omitted_fields` (لأن هذا الإعداد لا ينبغي أن يتحكم في `csv_empty_as_default`). وصُحِّح استخدام الإعداد `input_format_defaults_for_omitted_fields` (إذ كان يُستخدم فقط على أنه `csv_empty_as_default`، بينما ينبغي أن يتحكم في احتساب تعبيرات القيم الافتراضية للحقول المُهمَلة). وصُحِّح الإدخال/الإخراج لنوع Nullable في تنسيق `TSVRaw`، ليصبح هذا التنسيق متوافقًا بالكامل مع الإدراج في TSV. وصُحِّح أيضًا إدراج قيم NULL في `LowCardinality(Nullable)` عند تفعيل `input_format_null_as_default` (إذ كانت القيم الافتراضية تُدرج سابقًا بدلًا من قيم NULL الفعلية). وصُحِّح إلغاء تسلسل السلاسل النصية في التنسيقين `JSONStringsEachRow`/`JSONCompactStringsEachRow` (إذ كانت السلاسل تُحلَّل فقط حتى أول '\n' أو '\t'). وأُضيفت إمكانية استخدام قاعدة الهروب `Raw` في تنسيق الإدخال Template. وأُضيفت معلومات تشخيصية لتنسيق الإدخال `JSONCompactEachRow(WithNames/WIthNamesAndTypes)`. كما صُحِّحت مشكلة في التحليل المتوازي لتنسيقات `-WithNames` عندما تكون قيمة الإعداد `min_chunk_bytes_for_parallel_parsing` أقل من عدد البايتات في صف واحد. [#30178](https://github.com/ClickHouse/ClickHouse/pull/30178) ([Kruglov Pavel](https://github.com/Avogar)). وأُتيحت طباعة/تحليل أسماء الأعمدة وأنواعها في تنسيق الإدخال/الإخراج `CustomSeparated`. وأُضيفت التنسيقات `CustomSeparatedWithNames/WithNamesAndTypes` المشابهة لـ `TSVWithNames/WithNamesAndTypes`. [#31434](https://github.com/ClickHouse/ClickHouse/pull/31434) ([Kruglov Pavel](https://github.com/Avogar)).
* دعم Aliyun OSS Storage. [#31286](https://github.com/ClickHouse/ClickHouse/pull/31286) ([cfcz48](https://github.com/cfcz48)).
* يوفّر جميع إعدادات Global Thread pool في ملف الإعدادات. [#31285](https://github.com/ClickHouse/ClickHouse/pull/31285) ([Tomáš Hromada](https://github.com/gyfis)).
* استُحدثت دوال النافذة `exponentialTimeDecayedSum` و`exponentialTimeDecayedMax` و`exponentialTimeDecayedCount` و`exponentialTimeDecayedAvg`، وهي أكثر كفاءة من `exponentialMovingAverage` للنوافذ الأكبر. كما شملت مزيدًا من حالات الاستخدام. [#29799](https://github.com/ClickHouse/ClickHouse/pull/29799) ([Vladimir Chebotarev](https://github.com/excitoon)).
* أُضيف خيار لضغط السجلات قبل كتابتها إلى ملف باستخدام LZ4. يغلق هذا [#23860](https://github.com/ClickHouse/ClickHouse/issues/23860). [#29219](https://github.com/ClickHouse/ClickHouse/pull/29219) ([Nikolay Degterinsky](https://github.com/evillique)).
* دعم `JOIN ON 1 = 1` مع دلالة CROSS JOIN. يغلق هذا [#25578](https://github.com/ClickHouse/ClickHouse/issues/25578). [#25894](https://github.com/ClickHouse/ClickHouse/pull/25894) ([Vladimir C](https://github.com/vdimir)).
* أُضيف Map combinator للنوع `Map`. - وأُعيدت تسمية `sum-, min-, max- Map` القديمة للمصفوفات المرتبطة إلى `sum-, min-, max- MappedArrays`. [#24539](https://github.com/ClickHouse/ClickHouse/pull/24539) ([Ildus Kurbangaliev](https://github.com/ildus)).
* جعل القراءة عبر HTTP قابلة لإعادة المحاولة. يُغلق [#29696](https://github.com/ClickHouse/ClickHouse/issues/29696). [#29894](https://github.com/ClickHouse/ClickHouse/pull/29894) ([Kseniia Sumarokova](https://github.com/kssenii)).

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

* `WINDOW VIEW` لتمكين معالجة التدفقات في ClickHouse. [#8331](https://github.com/ClickHouse/ClickHouse/pull/8331) ([vxider](https://github.com/Vxider)).
* إزالة دعم استخدام قواعد البيانات Ordinary مع `MaterializedMySQL`. [#31292](https://github.com/ClickHouse/ClickHouse/pull/31292) ([Stig Bakken](https://github.com/stigsb)).
* تنفيذ الأمرين BACKUP وRESTORE لعائلة Log. لا تزال هذه الميزة قيد التطوير. [#30688](https://github.com/ClickHouse/ClickHouse/pull/30688) ([Vitaly Baranov](https://github.com/vitlibar)).

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

* تقليل استخدام الذاكرة عند القراءة بتنسيقات `s3` / `url` / `hdfs` ‏`Parquet` و`ORC` و`Arrow` (يتم التحكم في ذلك عبر الإعداد `input_format_allow_seeks`، وهو مُمكَّن افتراضيًا). كما أُضيف الإعداد `remote_read_min_bytes_for_seek` للتحكم في عمليات seek. يُغلق [#10461](https://github.com/ClickHouse/ClickHouse/issues/10461). يُغلق [#16857](https://github.com/ClickHouse/ClickHouse/issues/16857). [#30936](https://github.com/ClickHouse/ClickHouse/pull/30936) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة تحسينات للشروط الثابتة في JOIN ON، راجع [#26928](https://github.com/ClickHouse/ClickHouse/issues/26928). [#27021](https://github.com/ClickHouse/ClickHouse/pull/27021) ([Vladimir C](https://github.com/vdimir)).
* دعم التنسيق المتوازي لجميع التنسيقات النصية، باستثناء `JSONEachRowWithProgress` و`PrettyCompactMonoBlock`. [#31489](https://github.com/ClickHouse/ClickHouse/pull/31489) ([Kruglov Pavel](https://github.com/Avogar)).
* تسريع count على الأعمدة Nullable. [#31806](https://github.com/ClickHouse/ClickHouse/pull/31806) ([Raúl Marín](https://github.com/Algunenano)).
* تسريع الدالتين التجميعيتين `avg` و`sumCount`. [#31694](https://github.com/ClickHouse/ClickHouse/pull/31694) ([Raúl Marín](https://github.com/Algunenano)).
* تحسين أداء تنسيقات الإخراج JSON وXML. [#31673](https://github.com/ClickHouse/ClickHouse/pull/31673) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين أداء مزامنة البيانات إلى جهاز تخزين كتلي. هذا يُغلق [#31181](https://github.com/ClickHouse/ClickHouse/issues/31181). [#31229](https://github.com/ClickHouse/ClickHouse/pull/31229) ([zhanglistar](https://github.com/zhanglistar)).
* إصلاح مشكلة في أداء الاستعلامات في جداول `LiveView`. يُصلح [#30831](https://github.com/ClickHouse/ClickHouse/issues/30831). [#31006](https://github.com/ClickHouse/ClickHouse/pull/31006) ([vzakaznikov](https://github.com/vzakaznikov)).
* تسريع تحليل الاستعلامات. [#31949](https://github.com/ClickHouse/ClickHouse/pull/31949) ([Raúl Marín](https://github.com/Algunenano)).
* السماح بتقسيم قواعد rollup في `GraphiteMergeTree` للمقاييس العادية/الموسومة (الحقل الاختياري `rule_type`). [#25122](https://github.com/ClickHouse/ClickHouse/pull/25122) ([Michail Safronov](https://github.com/msaf1980)).
* إزالة طلبات `DESC TABLE` الزائدة لـ `remote()` (في حالة `remote('127.1', system.one)`، أي عند استخدام معرّف على هيئة db.table بدلًا من سلسلة نصية، كان يُرسل طلب `DESC TABLE` زائد). [#32019](https://github.com/ClickHouse/ClickHouse/pull/32019) ([Azat Khuzhin](https://github.com/azat)).
* تحسين الدالة `tupleElement` لقراءة subcolumn عند تمكين الإعداد `optimize_functions_to_subcolumns`. [#31261](https://github.com/ClickHouse/ClickHouse/pull/31261) ([Anton Popov](https://github.com/CurtizJ)).
* تحسين الدالة `mapContains` لقراءة subcolumn ‏`key` عند تمكين الإعداد `optimize_functions_to_subcolumns`. [#31218](https://github.com/ClickHouse/ClickHouse/pull/31218) ([Anton Popov](https://github.com/CurtizJ)).
* إضافة الإعدادين `merge_tree_min_rows_for_concurrent_read_for_remote_filesystem` و`merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem`. [#30970](https://github.com/ClickHouse/ClickHouse/pull/30970) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تخطي mutations الخاصة بأقسام مختلفة في `StorageMergeTree`. [#21326](https://github.com/ClickHouse/ClickHouse/pull/21326) ([Vladimir Chebotarev](https://github.com/excitoon)).

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

* عدم السماح بحذف table أو dictionary إذا كانت هناك جداول أو قواميس أخرى تعتمد عليه. [#30977](https://github.com/ClickHouse/ClickHouse/pull/30977) ([tavplubix](https://github.com/tavplubix)).
* إتاحة إصدار نسخ لحالات الدوال التجميعية. يمكننا الآن إدخال تغييرات متوافقة مع الإصدارات السابقة في تنسيق التسلسل لحالات الدوال التجميعية. يغلق هذا [#12552](https://github.com/ClickHouse/ClickHouse/issues/12552). [#24820](https://github.com/ClickHouse/ClickHouse/pull/24820) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم صياغة `ALTER MODIFY COLUMN` بأسلوب PostgreSQL. [#32003](https://github.com/ClickHouse/ClickHouse/pull/32003) ([SuperDJY](https://github.com/cmsxbc)).
* أُضيف دعم `update_field` إلى `RangeHashedDictionary` و `ComplexKeyRangeHashedDictionary`. [#32185](https://github.com/ClickHouse/ClickHouse/pull/32185) ([Maksim Kita](https://github.com/kitaisreal)).
* أصبحت الدالتان `murmurHash3_128` و `sipHash128` تقبلان الآن عددًا عشوائيًا من الوسيطات. يغلق هذا [#28774](https://github.com/ClickHouse/ClickHouse/issues/28774). [#28965](https://github.com/ClickHouse/ClickHouse/pull/28965) ([小路](https://github.com/nicelulu)).
* دعم التعبير الافتراضي لتخزين `HDFS` وتحسين الجلب عندما يكون المصدر عموديًا. [#32256](https://github.com/ClickHouse/ClickHouse/pull/32256) ([李扬](https://github.com/taiyang-li)).
* تحسين اسم العملية في span الخاص بـ OpenTelemetry. [#32234](https://github.com/ClickHouse/ClickHouse/pull/32234) ([Frank Chen](https://github.com/FrankChen021)).
* استخدام `Content-Type: application/x-ndjson` ([http://ndjson.org/](http://ndjson.org/)) لتنسيق الإخراج `JSONEachRow`. [#32223](https://github.com/ClickHouse/ClickHouse/pull/32223) ([Dmitriy Dorofeev](https://github.com/deem0n)).
* تحسين تخطي الحقول غير المعروفة باستخدام قاعدة الهروب المقتبس في تنسيقات Template/CustomSeparated. في السابق، كان يمكن تخطي السلاسل المقتبسة فقط، أما الآن فيمكن تخطي القيم من أي نوع. [#32204](https://github.com/ClickHouse/ClickHouse/pull/32204) ([Kruglov Pavel](https://github.com/Avogar)).
* أصبح `clickhouse-keeper` الآن يرفض بدء التشغيل أو تطبيق تغييرات التكوين عندما تحتوي على معرّفات أو نقاط نهاية مكررة. يُصلح هذا [#31339](https://github.com/ClickHouse/ClickHouse/issues/31339). [#32121](https://github.com/ClickHouse/ClickHouse/pull/32121) ([alesapin](https://github.com/alesapin)).
* تعيين Content-Type في حزم HTTP الصادرة من URL engine. [#32113](https://github.com/ClickHouse/ClickHouse/pull/32113) ([Frank Chen](https://github.com/FrankChen021)).
* إرجاع Content-Type باعتباره 'application/json' لتنسيق `JSONEachRow` إذا كان `output_format_json_array_of_rows` مفعّلًا. [#32112](https://github.com/ClickHouse/ClickHouse/pull/32112) ([Frank Chen](https://github.com/FrankChen021)).
* السماح بتحليل `+` قبل قيم `Float32`/`Float64`. [#32079](https://github.com/ClickHouse/ClickHouse/pull/32079) ([Kruglov Pavel](https://github.com/Avogar)).
* السماح باستخدام المعلمة `hdfs_replication` التي يضبطها المستخدم لكل من `DiskHDFS` و `StorageHDFS`. يغلق هذا [#32039](https://github.com/ClickHouse/ClickHouse/issues/32039). [#32049](https://github.com/ClickHouse/ClickHouse/pull/32049) ([leosunli](https://github.com/leosunli)).
* أُضيف حقلا ClickHouse `exception` و `exception_code` إلى سجل span الخاص بـ OpenTelemetry. [#32040](https://github.com/ClickHouse/ClickHouse/pull/32040) ([Frank Chen](https://github.com/FrankChen021)).
* تحسين مدة سجل span الخاص بـ OpenTelemetry — إذ كانت تساوي صفرًا على مستوى الاستعلام عند حدوث استثناء في الاستعلام. [#32038](https://github.com/ClickHouse/ClickHouse/pull/32038) ([Frank Chen](https://github.com/FrankChen021)).
* إصلاح المشكلة التي كانت تمنع إنشاء `LowCardinality` من النوع `Int256`. [#31832](https://github.com/ClickHouse/ClickHouse/pull/31832) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إعادة إنشاء جداول `system.*_log` في حال اختلاف engine/partition\_by. [#31824](https://github.com/ClickHouse/ClickHouse/pull/31824) ([Azat Khuzhin](https://github.com/azat)).
* `MaterializedMySQL`: إصلاح المشكلة المتعلقة بجدول يحمل الاسم 'table'. [#31781](https://github.com/ClickHouse/ClickHouse/pull/31781) ([Håvard Kvålen](https://github.com/havardk)).
* dictionary source في ClickHouse: دعم connections المعرّفة مسبقًا. يغلق [#31705](https://github.com/ClickHouse/ClickHouse/issues/31705). [#31749](https://github.com/ClickHouse/ClickHouse/pull/31749) ([Kseniia Sumarokova](https://github.com/kssenii)).
* السماح باستخدام configuration الخاصة بـ connections المعرّفة مسبقًا لمحركات Kafka وRabbitMQ (بالطريقة نفسها المتبعة مع table engines الأخرى الخاصة بالتكامل). [#31691](https://github.com/ClickHouse/ClickHouse/pull/31691) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إعادة عرض prompt دائمًا أثناء التنقل في السجل داخل clickhouse-client. سيحسّن ذلك سهولة التعامل مع queries الطويلة جدًا التي لا تتسع على الشاشة. [#31675](https://github.com/ClickHouse/ClickHouse/pull/31675) ([alexey-milovidov](https://github.com/alexey-milovidov)) (author: Amos Bird).
* إضافة key bindings للتنقل عبر السجل (بدلًا من الأسطر/السجل). [#31641](https://github.com/ClickHouse/ClickHouse/pull/31641) ([Azat Khuzhin](https://github.com/azat)).
* تحسين عمليات التحقق من `max_execution_time`. تم إصلاح بعض الحالات التي لا تُجرى فيها عمليات التحقق من timeout، ما قد يؤدي إلى استمرار query لفترة طويلة جدًا. [#31636](https://github.com/ClickHouse/ClickHouse/pull/31636) ([Raúl Marín](https://github.com/Algunenano)).
* رسالة Exception أفضل عند تعذر تحميل `users.xml` بسبب hash غير صالح لكلمة المرور. يغلق هذا [#24126](https://github.com/ClickHouse/ClickHouse/issues/24126). [#31557](https://github.com/ClickHouse/ClickHouse/pull/31557) ([Vitaly Baranov](https://github.com/vitlibar)).
* استخدام اسم shard وreplica من arguments الخاصة بقاعدة البيانات `Replicated` عند توسيع macros في arguments الخاصة بـ `ReplicatedMergeTree` إذا لم تكن هذه macros معرّفة في config. يغلق [#31471](https://github.com/ClickHouse/ClickHouse/issues/31471). [#31488](https://github.com/ClickHouse/ClickHouse/pull/31488) ([tavplubix](https://github.com/tavplubix)).
* تحسين تحليل projection الخاصة بـ `min/max/count`. الآن، عند تمكين `allow_experimental_projection_optimization`، يمكن استخدام projection الافتراضية `min/max/count` مع columns من partition key. [#31474](https://github.com/ClickHouse/ClickHouse/pull/31474) ([Amos Bird](https://github.com/amosbird)).
* إضافة دعم `--pager` إلى `clickhouse-local`. [#31457](https://github.com/ClickHouse/ClickHouse/pull/31457) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح مشكلة انتظار المحرر أثناء التحرير التفاعلي للاستعلام (`waitpid()` يعيد -1 عند `SIGWINCH` ويعمل `EDITOR` و`clickhouse-local`/`clickhouse-client` بشكل متزامن). [#31456](https://github.com/ClickHouse/ClickHouse/pull/31456) ([Azat Khuzhin](https://github.com/azat)).
* إصدار Exception إذا وُجدت بيانات غير صالحة بعد field في التنسيق `JSONCompactStrings(EachRow)`. [#31455](https://github.com/ClickHouse/ClickHouse/pull/31455) ([Kruglov Pavel](https://github.com/Avogar)).
* تغيّرت default value لإعدادَي `http_send_timeout` و`http_receive_timeout` من 1800 (30 دقيقة) إلى 180 (3 دقائق). [#31450](https://github.com/ClickHouse/ClickHouse/pull/31450) ([tavplubix](https://github.com/tavplubix)).
* أصبح `MaterializedMySQL` يدعم الآن استعلامات DDL من نوع `CREATE TABLE ... LIKE ...`. [#31410](https://github.com/ClickHouse/ClickHouse/pull/31410) ([Stig Bakken](https://github.com/stigsb)).
* إرجاع استعلام إنشاء اصطناعي عند تنفيذ `show create table` على جداول النظام. [#31391](https://github.com/ClickHouse/ClickHouse/pull/31391) ([SuperDJY](https://github.com/cmsxbc)).
* سابقًا، كان التقدّم يُعرَض فقط للدالة الجدولية `numbers`. أما الآن، فأصبح يُعرَض أيضًا لـ `numbers_mt`. [#31318](https://github.com/ClickHouse/ClickHouse/pull/31318) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تُستخدَم الآن أدوار المستخدم الأولية للعثور على سياسات الصفوف، انظر [#31080](https://github.com/ClickHouse/ClickHouse/issues/31080). [#31262](https://github.com/ClickHouse/ClickHouse/pull/31262) ([Vitaly Baranov](https://github.com/vitlibar)).
* إذا جرى تغيير إعداد متقادم، فسيُعرَض تحذير في `system.warnings`. [#31252](https://github.com/ClickHouse/ClickHouse/pull/31252) ([tavplubix](https://github.com/tavplubix)).
* تحسين آلية backoff لمهام التنظيف الخلفية في `MergeTree`. ونُقِل الإعدادان `merge_tree_clear_old_temporary_directories_interval_seconds` و `merge_tree_clear_old_parts_interval_seconds` من إعدادات المستخدمين إلى إعدادات MergeTree. [#31180](https://github.com/ClickHouse/ClickHouse/pull/31180) ([tavplubix](https://github.com/tavplubix)).
* سيُرسل كل replica الآن إلى client معلومات تزايدية فقط عن عدّادات profile events. [#31155](https://github.com/ClickHouse/ClickHouse/pull/31155) ([Dmitry Novik](https://github.com/novikd)). وهذا يجعل الخيار `--hardware_utilization` في `clickhouse-client` قابلًا للاستخدام.
* تفعيل التحرير متعدد الأسطر في `clickhouse-client` افتراضيًا. يعالج هذا [#31121](https://github.com/ClickHouse/ClickHouse/issues/31121). [#31123](https://github.com/ClickHouse/ClickHouse/pull/31123) ([Amos Bird](https://github.com/amosbird)).
* تطبيع أسماء الدوال في استعلامات `ALTER`. يساعد ذلك على تجنّب عدم تطابق البيانات الوصفية بين إنشاء table باستخدام الفهارس/الإسقاطات وإضافة الفهارس/الإسقاطات عبر أوامر alter. وهذا PR لاحق لـ [https://github.com/ClickHouse/ClickHouse/pull/20174](https://github.com/ClickHouse/ClickHouse/pull/20174). وقد صُنّف ضمن التحسينات لعدم وجود تقارير أخطاء، ولكون هذا السيناريو نادرًا إلى حدّ ما. [#31095](https://github.com/ClickHouse/ClickHouse/pull/31095) ([Amos Bird](https://github.com/amosbird)).
* دعم المُعدِّل `IF EXISTS` في استعلام `RENAME DATABASE`/`TABLE`/`DICTIONARY`. وإذا استُخدم هذا التوجيه، فلن يظهر error إذا لم تكن DATABASE/TABLE/DICTIONARY المطلوب إعادة تسميتها موجودة. [#31081](https://github.com/ClickHouse/ClickHouse/pull/31081) ([victorgao](https://github.com/kafka1991)).
* إلغاء عمليات الدمج العمودية عند حذف partition. وهذا متابعة لـ [https://github.com/ClickHouse/ClickHouse/pull/25684](https://github.com/ClickHouse/ClickHouse/pull/25684) و [https://github.com/ClickHouse/ClickHouse/pull/30996](https://github.com/ClickHouse/ClickHouse/pull/30996). [#31057](https://github.com/ClickHouse/ClickHouse/pull/31057) ([Amos Bird](https://github.com/amosbird)).
* لن تُرسل الجلسة المحلية داخل dictionary source في ClickHouse أحداثها إلى سجل الجلسة بعد الآن. ويُصلح هذا احتمال حدوث deadlock (تنبيه tsan) عند الإيقاف. كما يُصلح هذا PR الاختبار غير المستقر `test_dictionaries_dependency_xml/`. [#31013](https://github.com/ClickHouse/ClickHouse/pull/31013) ([Vitaly Baranov](https://github.com/vitlibar)).
* تقليل القفل في أمر ALTER. [#31010](https://github.com/ClickHouse/ClickHouse/pull/31010) ([Amos Bird](https://github.com/amosbird)).
* إصلاح الخيار `--verbose` في وضع interactive mode لـ `clickhouse-local` مع السماح بالتسجيل في ملف. [#30881](https://github.com/ClickHouse/ClickHouse/pull/30881) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أُضيفت الأوامر `\l` و`\d` و`\c` إلى `clickhouse-client`، كما في MySQL وPostgreSQL. [#30876](https://github.com/ClickHouse/ClickHouse/pull/30876) ([Pavel Medvedev](https://github.com/pmed)).
* بالنسبة إلى `clickhouse-local` أو `clickhouse-client`: إذا استُخدم الخيار `--interactive` مع `--query` أو `--queries-file`، فسيُنفَّذان أولًا كما في الوضع غير التفاعلي، ثم يبدأ الوضع التفاعلي. [#30851](https://github.com/ClickHouse/ClickHouse/pull/30851) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح الخطأ المحتمل "The local set of parts of X doesn't look like the set of parts in ZooKeeper" (إذا فشل DROP أثناء إزالة znodes من ZooKeeper). [#30826](https://github.com/ClickHouse/ClickHouse/pull/30826) ([Azat Khuzhin](https://github.com/azat)).
* أصبح تنسيق Avro format يعمل مع Kafka. وأُضيف الإعداد `output_format_avro_rows_in_file`. [#30351](https://github.com/ClickHouse/ClickHouse/pull/30351) ([Ilya Golshtein](https://github.com/ilejn)).
* إتاحة تحديد مخطط PostgreSQL واحد أو أي عدد من المخططات لقاعدة بيانات `MaterializedPostgreSQL` واحدة. يُغلق [#28901](https://github.com/ClickHouse/ClickHouse/issues/28901). يُغلق [#29324](https://github.com/ClickHouse/ClickHouse/issues/29324). [#28933](https://github.com/ClickHouse/ClickHouse/pull/28933) ([Kseniia Sumarokova](https://github.com/kssenii)).
* استُبدلت المنافذ الافتراضية للاتصال الداخلي لـ `clickhouse-keeper` من 44444 إلى 9234. يُصلح [#30879](https://github.com/ClickHouse/ClickHouse/issues/30879). [#31799](https://github.com/ClickHouse/ClickHouse/pull/31799) ([alesapin](https://github.com/alesapin)).
* تنفيذ الدالة `transform` مع معاملات Decimal. [#31839](https://github.com/ClickHouse/ClickHouse/pull/31839) ([李帅](https://github.com/loneylee)).
* إصلاح الإنهاء المفاجئ في خادم Debug وخطأ `DB::Exception: std::out_of_range: basic_string` في خادم release عند وجود عنوان URL غير صالح لـ hdfs، وذلك بإضافة تحقق إضافي من بنية عنوان URL الخاص بـ hdfs. [#31042](https://github.com/ClickHouse/ClickHouse/pull/31042) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح assert محتمل في `hdfs` table function/engine، مع إضافة اختبار. [#31036](https://github.com/ClickHouse/ClickHouse/pull/31036) ([Kruglov Pavel](https://github.com/Avogar)).

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

* إصلاح الأسماء المستعارة في group by / order by / limit by عند تمكين الوسيطات الموضعية. يغلق [#31173](https://github.com/ClickHouse/ClickHouse/issues/31173). [#31741](https://github.com/ClickHouse/ClickHouse/pull/31741) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح استخدام محرك الجدول `Buffer` مع النوع `Map`. يُصلح [#30546](https://github.com/ClickHouse/ClickHouse/issues/30546). [#31742](https://github.com/ClickHouse/ClickHouse/pull/31742) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح القراءة من جداول `MergeTree` عند تمكين `use_uncompressed_cache`. [#31826](https://github.com/ClickHouse/ClickHouse/pull/31826) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح السلوك عند تعلّق التعديلات التي ليس لديها ما تنفذه (مع تمكين الإعداد `empty_result_for_aggregation_by_empty_set`). [#32358](https://github.com/ClickHouse/ClickHouse/pull/32358) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح تخطي الأعمدة أثناء كتابة protobuf. يُصلح طلب السحب هذا [#31160](https://github.com/ClickHouse/ClickHouse/issues/31160)، راجع التعليق [#31160](https://github.com/ClickHouse/ClickHouse/issues/31160)#issuecomment-980595318. [#31988](https://github.com/ClickHouse/ClickHouse/pull/31988) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح خطأ عند إزالة الأعمدة غير المطلوبة في الاستعلام الفرعي. إذا كانت هناك دالة تجميع في الاستعلام من دون group by، فلا تُزل حتى إن كانت غير مطلوبة. [#32289](https://github.com/ClickHouse/ClickHouse/pull/32289) ([dongyifeng](https://github.com/dyf6372)).
* لم يتم بلوغ حد الحصة، لكن جرى تجاوز الحد. يُصلح طلب السحب هذا [#31174](https://github.com/ClickHouse/ClickHouse/issues/31174). [#31337](https://github.com/ClickHouse/ClickHouse/pull/31337) ([sunny](https://github.com/sunny19930321)).
* إصلاح SHOW GRANTS عند استخدام عمليات revoke جزئية. يُصلح طلب السحب هذا [#31138](https://github.com/ClickHouse/ClickHouse/issues/31138). [#31249](https://github.com/ClickHouse/ClickHouse/pull/31249) ([Vitaly Baranov](https://github.com/vitlibar)).
* جرى تقدير حجم الذاكرة بشكل غير صحيح عند تشغيل ClickHouse داخل حاويات مع حدود cgroup. [#31157](https://github.com/ClickHouse/ClickHouse/pull/31157) ([Pavel Medvedev](https://github.com/pmed)).
* إصلاح استعلامات `ALTER ... MATERIALIZE COLUMN ...` عندما لا يكون نوع بيانات التعبير الافتراضي مساويًا لنوع بيانات العمود. [#32348](https://github.com/ClickHouse/ClickHouse/pull/32348) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح تعطل بإشارة SIGFPE في دالة التجميع `avgWeighted` مع وسيطة `Decimal`. يُصلح [#32053](https://github.com/ClickHouse/ClickHouse/issues/32053). [#32303](https://github.com/ClickHouse/ClickHouse/pull/32303) ([tavplubix](https://github.com/tavplubix)).
* كان الخادم قد يفشل في البدء مع الخطأ `Cannot attach 1 tables due to cyclic dependencies` إذا كان جدول `Dictionary` يشير إلى قاموس XML يحمل الاسم نفسه، وقد تم إصلاح ذلك. يُصلح [#31315](https://github.com/ClickHouse/ClickHouse/issues/31315). [#32288](https://github.com/ClickHouse/ClickHouse/pull/32288) ([tavplubix](https://github.com/tavplubix)).
* إصلاح خطأ تحليل أثناء إلغاء تسلسل NaN لـ `Nullable(Float)` مع قاعدة الهروب `Quoted`. [#32190](https://github.com/ClickHouse/ClickHouse/pull/32190) ([Kruglov Pavel](https://github.com/Avogar)).
* قواميس XML: قد تُؤهَّل المعرّفات المستخدمة في استعلام CREATE TABLE إلى `default_database` أثناء الترقية إلى إصدار أحدث. يغلق [#31963](https://github.com/ClickHouse/ClickHouse/issues/31963). [#32187](https://github.com/ClickHouse/ClickHouse/pull/32187) ([Maksim Kita](https://github.com/kitaisreal)).
* قد يُحدَّد عدد النسخ المتماثلة النشطة بشكل غير صحيح عند الإدراج باستخدام quorum إذا كان الإعداد `replicated_can_become_leader` معطَّلًا على بعض النسخ المتماثلة. تم إصلاح ذلك. [#32157](https://github.com/ClickHouse/ClickHouse/pull/32157) ([tavplubix](https://github.com/tavplubix)).
* Dictionaries: إصلاح الحالات التي لا تعمل فيها `{condition}` مع استعلامات قاعدة البيانات المخصّصة. [#32117](https://github.com/ClickHouse/ClickHouse/pull/32117) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح `CAST` من `Nullable` مع `cast_keep_nullable` (كان الخطأ `PARAMETER_OUT_OF_BOUND` يظهر سابقًا، على سبيل المثال مع `toUInt32OrDefault(toNullable(toUInt32(1)))`). [#32080](https://github.com/ClickHouse/ClickHouse/pull/32080) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح CREATE TABLE لـ Join Storage في بعض الحالات النادرة. إغلاق [#31680](https://github.com/ClickHouse/ClickHouse/issues/31680). [#32066](https://github.com/ClickHouse/ClickHouse/pull/32066) ([SuperDJY](https://github.com/cmsxbc)).
* تم إصلاح الخطأ `Directory ... already exists and is not empty` عند فصل جزء. [#32063](https://github.com/ClickHouse/ClickHouse/pull/32063) ([tavplubix](https://github.com/tavplubix)).
* `MaterializedMySQL` (ميزة تجريبية): إصلاح التفسير الخاطئ لبيانات `DECIMAL` من MySQL. [#31990](https://github.com/ClickHouse/ClickHouse/pull/31990) ([Håvard Kvålen](https://github.com/havardk)).
* كان المحرّك `FileLog` (ميزة تجريبية) ينشئ دليلًا للبيانات الوصفية دون حاجة عند فشل إنشاء الجدول. إصلاح [#31962](https://github.com/ClickHouse/ClickHouse/issues/31962). [#31967](https://github.com/ClickHouse/ClickHouse/pull/31967) ([flynn](https://github.com/ucasfl)).
* قد يتعطل بعض إدخالات `GET_PART` في قائمة انتظار النسخ المتماثل إذا فُقد جزء على جميع النسخ المتماثلة ولم تكن هناك أجزاء أخرى في القسم نفسه. وقد تم إصلاح ذلك في الحالات التي يحتوي فيها partition key فقط على أعمدة من أنواع الأعداد الصحيحة أو `Date[Time]`. إصلاح [#31485](https://github.com/ClickHouse/ClickHouse/issues/31485). [#31887](https://github.com/ClickHouse/ClickHouse/pull/31887) ([tavplubix](https://github.com/tavplubix)).
* إصلاح الدالتين `empty` و`notEmpty` مع الوسيطات من النوع `UUID`. إصلاح [#31819](https://github.com/ClickHouse/ClickHouse/issues/31819). [#31883](https://github.com/ClickHouse/ClickHouse/pull/31883) ([Anton Popov](https://github.com/CurtizJ)).
* تغيير مسار الإعداد من `keeper_server.session_timeout_ms` إلى `keeper_server.coordination_settings.session_timeout_ms` عند إنشاء `KeeperTCPHandler`. وينطبق الأمر نفسه على `operation_timeout`. [#31859](https://github.com/ClickHouse/ClickHouse/pull/31859) ([JackyWoo](https://github.com/JackyWoo)).
* إصلاح التحويل غير الصحيح لنوع Nullable عند استخدام primary key قابلة لـ NULL. (المفتاح الأساسي Nullable ميزة غير مستحسنة — يُرجى عدم استخدامها). هذا يُصلح [#31075](https://github.com/ClickHouse/ClickHouse/issues/31075). [#31823](https://github.com/ClickHouse/ClickHouse/pull/31823) ([Amos Bird](https://github.com/amosbird)).
* إصلاح crash في UDF تكرارية في SQL. إغلاق [#30856](https://github.com/ClickHouse/ClickHouse/issues/30856). [#31820](https://github.com/ClickHouse/ClickHouse/pull/31820) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح crash عند استخدام الدالة `dictGet` مع النوع لسمة dictionary attribute عندما يكون النوع `Nullable`. إصلاح [#30980](https://github.com/ClickHouse/ClickHouse/issues/30980). [#31800](https://github.com/ClickHouse/ClickHouse/pull/31800) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح تعطل يحدث عند وجود نتيجة فارغة لاستعلام ODBC (مع بعض برامج تشغيل ODBC). يُغلق [#31465](https://github.com/ClickHouse/ClickHouse/issues/31465). [#31766](https://github.com/ClickHouse/ClickHouse/pull/31766) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح مشكلة تعطيل query profiler (في حال كانت `query_profiler_real_time_period_ns>0`/`query_profiler_cpu_time_period_ns>0`، قد يظل query profiler مُمكّنًا حتى بعد انتهاء الاستعلام). [#31740](https://github.com/ClickHouse/ClickHouse/pull/31740) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح segfault نادر في استعلامات `ATTACH PARTITION` المتزامنة. [#31738](https://github.com/ClickHouse/ClickHouse/pull/31738) ([tavplubix](https://github.com/tavplubix)).
* إصلاح حالة تسابق في تنسيق الإخراج JSONEachRowWithProgress عند اختلاط البيانات مع الأسطر التي تعرض التقدم في المخرجات. [#31736](https://github.com/ClickHouse/ClickHouse/pull/31736) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح الخطأ `there are no such cluster here` عند تنفيذ استعلام `ON CLUSTER` إذا كان اسم cluster المحدد هو اسم قاعدة بيانات `Replicated`. [#31723](https://github.com/ClickHouse/ClickHouse/pull/31723) ([tavplubix](https://github.com/tavplubix)).
* إصلاح استثناء في بعض استخدامات الدالة `decrypt` على أعمدة Nullable. هذا يُغلق [#31662](https://github.com/ClickHouse/ClickHouse/issues/31662). وهذا يُغلق [#31426](https://github.com/ClickHouse/ClickHouse/issues/31426). [#31707](https://github.com/ClickHouse/ClickHouse/pull/31707) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح الدالة `ngrams` عندما تحتوي السلسلة النصية على محارف UTF-8. [#31706](https://github.com/ClickHouse/ClickHouse/pull/31706) ([yandd](https://github.com/yandd)).
* لم تكن الإعدادات `input_format_allow_errors_num` و`input_format_allow_errors_ratio` تعمل عند parsing لأنواع domain مثل `IPv4`، وقد تم إصلاح ذلك. يُصلح [#31686](https://github.com/ClickHouse/ClickHouse/issues/31686). [#31697](https://github.com/ClickHouse/ClickHouse/pull/31697) ([tavplubix](https://github.com/tavplubix)).
* إصلاح استثناء null pointer في `MATERIALIZE COLUMN`. [#31679](https://github.com/ClickHouse/ClickHouse/pull/31679) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* كان استعلام `RENAME TABLE` يعمل بشكل غير صحيح عند محاولة إعادة تسمية Dictionary من نوع DDL في قاعدة بيانات `Ordinary`، وقد تم إصلاح ذلك. [#31638](https://github.com/ClickHouse/ClickHouse/pull/31638) ([tavplubix](https://github.com/tavplubix)).
* تنفيذ الدالة التجميعية `sparkbar` بالشكل المقصود، انظر: [#26175](https://github.com/ClickHouse/ClickHouse/issues/26175)#issuecomment-960353867، [التعليق](https://github.com/ClickHouse/ClickHouse/issues/26175#issuecomment-961155065). [#31624](https://github.com/ClickHouse/ClickHouse/pull/31624) ([小路](https://github.com/nicelulu)).
* إصلاح JSON غير صالح تم توليده عندما تحتوي أسماء الأعمدة فقط على تسلسلات UTF-8 غير صالحة. [#31534](https://github.com/ClickHouse/ClickHouse/pull/31534) ([Kevin Michel](https://github.com/kmichel-aiven)).
* تعطيل `partial_merge_join_left_table_buffer_bytes` إلى حين إصلاح الخلل في هذا التحسين. انظر [#31009](https://github.com/ClickHouse/ClickHouse/issues/31009)). وإزالة الخيار الزائد `partial_merge_join_optimizations`. [#31528](https://github.com/ClickHouse/ClickHouse/pull/31528) ([Vladimir C](https://github.com/vdimir)).
* إصلاح التقدم في استعلامات `INSERT SELECT` القصيرة. [#31510](https://github.com/ClickHouse/ClickHouse/pull/31510) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح السلوك الخاطئ مع `group by` والوسيطات الموضعية. يُغلق [#31280](https://github.com/ClickHouse/ClickHouse/issues/31280)#issuecomment-968696186. [#31420](https://github.com/ClickHouse/ClickHouse/pull/31420) ([Kseniia Sumarokova](https://github.com/kssenii)).
* معالجة `nullptr` في موفّر بيانات الاعتماد STS لـ S3. [#31409](https://github.com/ClickHouse/ClickHouse/pull/31409) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إزالة الدالة `notLike` من تحليل الفهرس لأنها كانت غير صحيحة. [#31169](https://github.com/ClickHouse/ClickHouse/pull/31169) ([sundyli](https://github.com/sundy-li)).
* إصلاح خلل في Keeper قد يؤدي إلى تعذّر التشغيل عند فقدان بعض سجلات التنسيق ووجود لقطة أحدث من أحدث سجل لدينا. [#31150](https://github.com/ClickHouse/ClickHouse/pull/31150) ([alesapin](https://github.com/alesapin)).
* إعادة كتابة الجدول الموزّع الأيمن في join محلي. يحل [#25809](https://github.com/ClickHouse/ClickHouse/issues/25809). [#31105](https://github.com/ClickHouse/ClickHouse/pull/31105) ([abel-cheng](https://github.com/abel-cheng)).
* إصلاح جدول `Merge` مع الأسماء المستعارة و `where` (إذ لم يكن يعمل سابقًا مطلقًا). يُغلق [#28802](https://github.com/ClickHouse/ClickHouse/issues/28802). [#31044](https://github.com/ClickHouse/ClickHouse/pull/31044) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح JSON\_VALUE/JSON\_QUERY مع المعرّفات المقتبسة. يتيح ذلك وجود مسافات في JSON path. يُغلق [#30971](https://github.com/ClickHouse/ClickHouse/issues/30971). [#31003](https://github.com/ClickHouse/ClickHouse/pull/31003) ([Kseniia Sumarokova](https://github.com/kssenii)).
* كان استخدام الدالة `formatRow` مع تنسيقات غير موجّهة للصفوف يؤدي إلى segfault. عدم السماح باستخدام هذه الدالة مع مثل هذه التنسيقات (لأن ذلك غير منطقي). [#31001](https://github.com/ClickHouse/ClickHouse/pull/31001) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح خلل كان يعطّل استعلامات SELECT إذا جاءت بعد حذف عرض مادي. اكتُشف في [#30691](https://github.com/ClickHouse/ClickHouse/issues/30691). [#30997](https://github.com/ClickHouse/ClickHouse/pull/30997) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تخطّي فحص `max_partition_size_to_drop` في حالة ATTACH PARTITION ... FROM و MOVE PARTITION ... [#30995](https://github.com/ClickHouse/ClickHouse/pull/30995) ([Amr Alaa](https://github.com/amralaa-MSFT)).
* إصلاح بعض الحالات الطرفية في معاملي `INTERSECT` و `EXCEPT`. يُغلق [#30803](https://github.com/ClickHouse/ClickHouse/issues/30803). [#30965](https://github.com/ClickHouse/ClickHouse/pull/30965) ([Kseniia Sumarokova](https://github.com/kssenii)).

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

* إصلاح نتائج التصفية غير الصحيحة في إصدارات البناء غير المعتمدة على x86. هذا يُغلق [#31417](https://github.com/ClickHouse/ClickHouse/issues/31417). هذا يُغلق [#31524](https://github.com/ClickHouse/ClickHouse/issues/31524). [#31574](https://github.com/ClickHouse/ClickHouse/pull/31574) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* جعل build الخاصة بـ ClickHouse قابلة لإعادة الإنتاج بالكامل (متطابقة على مستوى البايت عبر أجهزة مختلفة). هذا يُغلق [#22113](https://github.com/ClickHouse/ClickHouse/issues/22113). [#31899](https://github.com/ClickHouse/ClickHouse/pull/31899) ([alexey-milovidov](https://github.com/alexey-milovidov)). إزالة مسار نظام الملفات إلى دليل البناء من الملفات الثنائية لتمكين إصدارات build قابلة لإعادة الإنتاج. كان ذلك مطلوبًا من أجل [#22113](https://github.com/ClickHouse/ClickHouse/issues/22113). [#31838](https://github.com/ClickHouse/ClickHouse/pull/31838) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* استخدام ملفات CMakeLists الخاصة بنا لـ `zlib-ng` و `cassandra` و `mariadb-connector-c` و `xz` و `re2` و `sentry` و `gsasl` و `arrow` و `protobuf`. هذا مطلوب من أجل [#20151](https://github.com/ClickHouse/ClickHouse/issues/20151). جزء من [#9226](https://github.com/ClickHouse/ClickHouse/issues/9226). خطوة صغيرة نحو إزالة الفوضى المزعجة من نظام البناء. [#30599](https://github.com/ClickHouse/ClickHouse/pull/30599) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصدارات build محكمة العزل: استخدام إصدار ثابت من libc والتأكد من عدم استخدام أي ملفات مصدرية أو ثنائية من نظام التشغيل المضيف أثناء البناء. هذا يُغلق [#27133](https://github.com/ClickHouse/ClickHouse/issues/27133). هذا يُغلق [#21435](https://github.com/ClickHouse/ClickHouse/issues/21435). هذا يُغلق [#30462](https://github.com/ClickHouse/ClickHouse/issues/30462). [#30011](https://github.com/ClickHouse/ClickHouse/pull/30011) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة الدالة `getFuzzerData()` لتسهيل اختبار وظائف معيّنة باستخدام fuzzer. هذا يُغلق [#23227](https://github.com/ClickHouse/ClickHouse/issues/23227). [#27526](https://github.com/ClickHouse/ClickHouse/pull/27526) ([Alexey Boykov](https://github.com/mathalex)).
* إعداد الإمكانات داخل Docker بشكل أكثر دقة. [#31802](https://github.com/ClickHouse/ClickHouse/pull/31802) ([Constantine Peresypkin](https://github.com/pkit)).
* تفعيل خياري compile `-fstrict-vtable-pointers` و `-fwhole-program-vtables` في clang. [#20151](https://github.com/ClickHouse/ClickHouse/pull/20151) ([Maksim Kita](https://github.com/kitaisreal)).
* تجنّب تنزيل ملفات tarball الخاصة بسلسلة الأدوات لأغراض الترجمة المتقاطعة لـ FreeBSD. [#31672](https://github.com/ClickHouse/ClickHouse/pull/31672) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* دعم أولي لـ risc-v. راجع development/build-cross-riscv للاطلاع على الملاحظات الخاصة وأمر البناء الذي جرت تجربته. [#31309](https://github.com/ClickHouse/ClickHouse/pull/31309) ([Vladimir Smirnov](https://github.com/Civil)).
* دعم compile على أجهزة arm باستخدام parameter "-DENABLE\_TESTS=OFF". [#31007](https://github.com/ClickHouse/ClickHouse/pull/31007) ([zhanghuajie](https://github.com/zhanghuajieHIT)).

<div id="clickhouse-release-v2111-2021-11-09">
  ### إصدار ClickHouse v21.11، 2021-11-09. [العرض التقديمي](https://presentations.clickhouse.com/2021-release-21.11/)، [الفيديو](https://www.youtube.com/watch?v=xb64zoPYvqQ)
</div>

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

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

* تغيير ترتيب الوسيطتين `json_path` و`json` في دوال SQL/JSON (ليتوافق مع المعيار). يُغلق [#30449](https://github.com/ClickHouse/ClickHouse/issues/30449). [#30474](https://github.com/ClickHouse/ClickHouse/pull/30474) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إزالة إعداد الجدول `write_final_mark` لمحرك `MergeTree`. وسيكون دائمًا `true`. [#30455](https://github.com/ClickHouse/ClickHouse/pull/30455) ([Kseniia Sumarokova](https://github.com/kssenii)). لا يلزم اتخاذ أي إجراء، فجميع الجداول متوافقة مع الإصدار الجديد.
* تمت إزالة الدالة `bayesAB`. يُرجى المساعدة في إعادة هذه الدالة بعد تحديثها. يُغلق هذا [#26233](https://github.com/ClickHouse/ClickHouse/issues/26233). [#29934](https://github.com/ClickHouse/ClickHouse/pull/29934) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* ينطبق هذا فقط إذا كنت قد بدأت بالفعل في استخدام الدعم التجريبي لـ `clickhouse-keeper`. تستخدم snapshots الخاصة بـ ClickHouse Keeper الآن، افتراضيًا، codec الضغط `ZSTD` بدلًا من ضغط block المخصص `LZ4` في ClickHouse. يمكن تعطيل هذا السلوك باستخدام إعداد coordination ‏`compress_snapshots_with_zstd_format` (ويجب أن تكون قيمته متطابقة على جميع replicas ضمن quorum). هذا النوع من عدم التوافق مع الإصدارات السابقة نادر جدًا، وقد يحدث فقط عندما ترسل عقدة جديدة snapshot (ويحدث ذلك في حالة recovery) إلى عقدة قديمة لا تستطيع قراءة snapshots بتنسيق ZSTD. [#29417](https://github.com/ClickHouse/ClickHouse/pull/29417) ([alesapin](https://github.com/alesapin)).

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

* يتيح وضع `INSERT` غير المتزامن الجديد تجميع البيانات المُدرجة وتخزينها في batch واحدة في الخلفية. ويمكن تمكينه من جهة العميل عبر ضبط `async_insert` لاستعلامات `INSERT` التي تتضمن بيانات مضمنة داخل الاستعلام أو في buffer منفصل (على سبيل المثال، لاستعلامات `INSERT` عبر بروتوكول HTTP). وإذا كانت `wait_for_async_insert` تساوي true (افتراضيًا)، فسوف ينتظر العميل حتى يتم flush البيانات إلى table. وعلى جانب server، يتحكم في ذلك الإعدادات `async_insert_threads` و`async_insert_max_data_size` و`async_insert_busy_timeout_ms`. يُنفّذ [#18282](https://github.com/ClickHouse/ClickHouse/issues/18282). [#27537](https://github.com/ClickHouse/ClickHouse/pull/27537) ([Anton Popov](https://github.com/CurtizJ)). [#20557](https://github.com/ClickHouse/ClickHouse/pull/20557) ([Ivan](https://github.com/abyss7)). ملاحظات حول الأداء: مع asynchronous inserts يمكنك تنفيذ ما يصل إلى نحو 10 000 استعلام `INSERT` فردي في الثانية، لذلك لا يزال من المستحسن الإدراج على شكل batches إذا كنت تريد تحقيق أداء يصل إلى ملايين rows المُدرجة في الثانية.
* أُضيف interactive mode إلى `clickhouse-local`. لذلك، يمكنك ببساطة تشغيل `clickhouse-local` للحصول على واجهة ClickHouse لسطر الأوامر من دون الاتصال بـ server ومعالجة البيانات من الملفات وdata sources الخارجية. كما دُمجت شيفرة `clickhouse-client` و`clickhouse-local` معًا. يُغلق [#7203](https://github.com/ClickHouse/ClickHouse/issues/7203). يُغلق [#25516](https://github.com/ClickHouse/ClickHouse/issues/25516). يُغلق [#22401](https://github.com/ClickHouse/ClickHouse/issues/22401). [#26231](https://github.com/ClickHouse/ClickHouse/pull/26231) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أُضيف دعم user defined functions القابلة للتنفيذ (القابلة للبرمجة النصية). وهي UDFs يمكن كتابتها بأي لغة برمجة. [#28803](https://github.com/ClickHouse/ClickHouse/pull/28803) ([Maksim Kita](https://github.com/kitaisreal)).
* السماح باستخدام connections معرّفة مسبقًا إلى data sources الخارجية. يتيح ذلك تجنّب تحديد credentials أو العناوين عند استخدام data sources الخارجية، إذ يمكن الرجوع إليها بأسمائها بدلًا من ذلك. يُغلق [#28367](https://github.com/ClickHouse/ClickHouse/issues/28367). [#28577](https://github.com/ClickHouse/ClickHouse/pull/28577) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أُضيفت database باسم `INFORMATION_SCHEMA` تضم العروض `SCHEMATA` و`TABLES` و`VIEWS` و`COLUMNS` المقابلة للجداول المناظرة في database ‏`system`. يُغلق [#9770](https://github.com/ClickHouse/ClickHouse/issues/9770). [#28691](https://github.com/ClickHouse/ClickHouse/pull/28691) ([tavplubix](https://github.com/tavplubix)).
* دعم `EXISTS (subquery)`. يُغلق [#6852](https://github.com/ClickHouse/ClickHouse/issues/6852). [#29731](https://github.com/ClickHouse/ClickHouse/pull/29731) ([Kseniia Sumarokova](https://github.com/kssenii)).
* logging الجلسات لأغراض التدقيق. تسجيل جميع أحداث login and logout events الناجحة والفاشلة في table جديدة باسم `system.session_log`. [#22415](https://github.com/ClickHouse/ClickHouse/pull/22415) ([Vasily Nemkov](https://github.com/Enmk)) ([Vitaly Baranov](https://github.com/vitlibar)).
* دعم دوال cosine distance وEuclidean distance متعددة الأبعاد؛ ومسافات ومعايير L1 وL2 وLp وLinf. وكذلك الجداء scalar على tuples ومجموعة متنوعة من operators الحسابية على tuples. وهذا يُغلق بالكامل [#4509](https://github.com/ClickHouse/ClickHouse/issues/4509) بل وأكثر من ذلك. [#27933](https://github.com/ClickHouse/ClickHouse/pull/27933) ([Alexey Boykov](https://github.com/mathalex)).
* إضافة دعم الضغط وفك الضغط لـ `INTO OUTFILE` و`FROM INFILE` (مع الاكتشاف التلقائي أو مع parameter اختياري إضافي). [#27135](https://github.com/ClickHouse/ClickHouse/pull/27135) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* إضافة دعم CORS ‏(Cross Origin Resource Sharing) مع طلب HTTP ‏`OPTIONS`. وهذا يعني أن Grafana ستعمل الآن مع طلبات serverless من دون حلول التفافية. يُغلق [#18693](https://github.com/ClickHouse/ClickHouse/issues/18693). [#29155](https://github.com/ClickHouse/ClickHouse/pull/29155) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* أصبحت الاستعلامات التي تستخدم JOIN ON تدعم الآن حالات الفصل (OR). [#21320](https://github.com/ClickHouse/ClickHouse/pull/21320) ([Ilya Golshtein](https://github.com/ilejn)).
* أُضيفت الدالة `tokens`. وهي تتيح تقسيم السلسلة النصية إلى وحدات باستخدام محارف ASCII غير الأبجدية الرقمية كفواصل. [#29981](https://github.com/ClickHouse/ClickHouse/pull/29981) ([Maksim Kita](https://github.com/kitaisreal)). وأُضيفت الدالة `ngrams` لاستخراج ngrams من النص. يُغلق [#29699](https://github.com/ClickHouse/ClickHouse/issues/29699). [#29738](https://github.com/ClickHouse/ClickHouse/pull/29738) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة دوال لتطبيع Unicode: الدوال `normalizeUTF8NFC` و`normalizeUTF8NFD` و`normalizeUTF8NFKC` و`normalizeUTF8NFKD`. [#28633](https://github.com/ClickHouse/ClickHouse/pull/28633) ([darkkeks](https://github.com/darkkeks)).
* استهلاك متدفق لملفات logs الخاصة بالتطبيق في ClickHouse باستخدام table engine ‏`FileLog`. وهو يشبه engine ‏`Kafka` أو `RabbitMQ`، لكنه مخصص لـ logs التي يُضاف إليها فقط وتُدوَّر في local filesystem. يُغلق [#6953](https://github.com/ClickHouse/ClickHouse/issues/6953). [#25969](https://github.com/ClickHouse/ClickHouse/pull/25969) ([flynn](https://github.com/ucasfl)) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة output format ‏`CapnProto`، وإعادة هيكلة input format ‏`CapnProto`. [#29291](https://github.com/ClickHouse/ClickHouse/pull/29291) ([Kruglov Pavel](https://github.com/Avogar)).
* السماح بكتابة الأرقام في query بصيغة binary literal. مثال: `SELECT 0b001;`. [#29304](https://github.com/ClickHouse/ClickHouse/pull/29304) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيف نوع Dictionary ‏`hashed_array`. وهو يوفّر الذاكرة عند استخدام Dictionaries ذات attributes متعددة. يُغلق [#30236](https://github.com/ClickHouse/ClickHouse/issues/30236). [#30242](https://github.com/ClickHouse/ClickHouse/pull/30242) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيفت الدالة `JSONExtractKeys`. [#30056](https://github.com/ClickHouse/ClickHouse/pull/30056) ([Vitaly](https://github.com/orloffv)).
* إضافة الدالة `getOSKernelVersion` - وهي تُرجع String يحتوي على إصدار OS kernel. [#29755](https://github.com/ClickHouse/ClickHouse/pull/29755) ([Memo](https://github.com/Joeywzr)).
* أُضيفت الدالتان `MD4` و`SHA384`. تُعد MD4 دالة hash متقادمة وغير آمنة، ولا يمكن استخدامها إلا في حالات نادرة عندما تكون MD4 مستخدمة بالفعل في نظام قديم وتحتاج إلى الحصول على النتيجة نفسها تمامًا. [#29602](https://github.com/ClickHouse/ClickHouse/pull/29602) ([Nikita Tikhomirov](https://github.com/NSTikhomirov)).
* يمكن تمكين HSTS لخادم HTTP في ClickHouse عن طريق تعيين `hsts_max_age` في configuration file إلى رقم موجب. [#29516](https://github.com/ClickHouse/ClickHouse/pull/29516) ([凌涛](https://github.com/lingtaolf)).
* دعم Huawei OBS Storage. يُغلق [#24294](https://github.com/ClickHouse/ClickHouse/issues/24294). [#29511](https://github.com/ClickHouse/ClickHouse/pull/29511) ([kevin wan](https://github.com/MaxWk)).
* دالة جديدة `mapContainsKeyLike` للحصول على الـ map الذي يطابق مفتاحه تعبيرًا نمطيًا بسيطًا. [#29471](https://github.com/ClickHouse/ClickHouse/pull/29471) ([凌涛](https://github.com/lingtaolf)). ودالة جديدة `mapExtractKeyLike` للحصول على الـ map مع الإبقاء فقط على العناصر التي تطابق النمط المحدد. [#30793](https://github.com/ClickHouse/ClickHouse/pull/30793) ([凌涛](https://github.com/lingtaolf)).
* تم تنفيذ `ALTER TABLE x MODIFY COMMENT`. [#29264](https://github.com/ClickHouse/ClickHouse/pull/29264) ([Vasily Nemkov](https://github.com/Enmk)).
* إضافة دوال فحص H3 غير المتوفرة في ClickHouse لكنها متاحة عبر واجهة برمجة تطبيقات H3: [https://h3geo.org/docs/api/inspection](https://h3geo.org/docs/api/inspection). [#29209](https://github.com/ClickHouse/ClickHouse/pull/29209) ([Bharat Nallan](https://github.com/bharatnc)).
* السماح باستخدام ALTER TABLE FETCH و ATTACH غير المكررين في قواعد بيانات Replicated. [#29202](https://github.com/ClickHouse/ClickHouse/pull/29202) ([Kevin Michel](https://github.com/kmichel-aiven)).
* أُضيف الإعداد `output_format_csv_null_representation`: وهو مماثل لـ `output_format_tsv_null_representation` ولكنه مخصص لمخرجات CSV. [#29123](https://github.com/ClickHouse/ClickHouse/pull/29123) ([PHO](https://github.com/depressed-pho)).
* أُضيفت الدالة `zookeeperSessionUptime()` التي تُرجع مدة تشغيل جلسة ZooKeeper الحالية بالثواني. [#28983](https://github.com/ClickHouse/ClickHouse/pull/28983) ([tavplubix](https://github.com/tavplubix)).
* تنفيذ الدالة `h3ToGeoBoundary`. [#28952](https://github.com/ClickHouse/ClickHouse/pull/28952) ([Ivan Veselov](https://github.com/fuzzERot)).
* إضافة aggregate function‏ `exponentialMovingAverage` التي يمكن استخدامها كـ window function. هذا يغلق [#27511](https://github.com/ClickHouse/ClickHouse/issues/27511). [#28914](https://github.com/ClickHouse/ClickHouse/pull/28914) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح بتضمين الأعمدة الفرعية من أعمدة الجدول في ناتج query‏ `DESCRIBE` (يمكن تمكين ذلك عبر الإعداد `describe_include_subcolumns`). [#28905](https://github.com/ClickHouse/ClickHouse/pull/28905) ([Anton Popov](https://github.com/CurtizJ)).
* تمت إضافة الخيار `send_chunk_header` إلى `Executable` و `ExecutablePool`. إذا كانت قيمة هذا الخيار true، فسيتم إرسال عدد الصفوف في الـ chunk `rows&#95;count` مع فاصل أسطر إلى client قبل الـ chunk. [#28833](https://github.com/ClickHouse/ClickHouse/pull/28833) ([Maksim Kita](https://github.com/kitaisreal)).
* يدعم `tokenbf_v1` و `ngram` النوع Map بمفتاح من النوع String أو FixedSring. وهذا يحسّن تخطي البيانات في query عند استخدام عامل تصفية على مفتاح map. `sql CREATE TABLE map_tokenbf ( row_id UInt32, map Map(String, String), INDEX map_tokenbf map TYPE ngrambf_v1(4,256,2,0) GRANULARITY 1 ) Engine=MergeTree() Order by id ` مع الجدول أعلاه، فإن query‏ `select * from map_tokebf where map['K']='V'` سيتخطى الـ granule الذي لا يحتوي على المفتاح `A`. وبالطبع، يعتمد عدد الصفوف التي سيجري تخطيها على `granularity` و `index_granularity` اللذين قمت بإعدادهما. [#28511](https://github.com/ClickHouse/ClickHouse/pull/28511) ([凌涛](https://github.com/lingtaolf)).
* إرسال profile events من server إلى client. وتم تقديم packet type جديد باسم `ProfileEvents`. يغلق [#26177](https://github.com/ClickHouse/ClickHouse/issues/26177). [#28364](https://github.com/ClickHouse/ClickHouse/pull/28364) ([Dmitry Novik](https://github.com/novikd)).
* عمليات إزاحة البت للنوعين `FixedString` و `String` من data types. هذا يغلق [#27763](https://github.com/ClickHouse/ClickHouse/issues/27763). [#28325](https://github.com/ClickHouse/ClickHouse/pull/28325) ([小路](https://github.com/nicelulu)).
* دعم إضافة الجداول إلى النسخ المتماثل من PostgreSQL وحذفها منه ديناميكيًا في محرك قاعدة البيانات MaterializedPostgreSQL. ودعم ALTER لإعدادات قاعدة البيانات. يُغلق [#27573](https://github.com/ClickHouse/ClickHouse/issues/27573). [#28301](https://github.com/ClickHouse/ClickHouse/pull/28301) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تمت إضافة الدالة accurateCastOrDefault(x, T). يُغلق [#21330](https://github.com/ClickHouse/ClickHouse/issues/21330). المؤلف: @taiyang-li. [#23028](https://github.com/ClickHouse/ClickHouse/pull/23028) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيفت الدوال `toUUIDOrDefault` و`toUInt8/16/32/64/256OrDefault` و`toInt8/16/32/64/128/256OrDefault`، مما يتيح للمستخدم تحديد قيمة افتراضية (غير NULL) عند فشل تحليل السلاسل النصية. [#21330](https://github.com/ClickHouse/ClickHouse/pull/21330) ([taiyang-li](https://github.com/taiyang-li)).

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

* يمكن أن تستبق عمليات الدمج في الخلفية بعضها بعضًا، وتُجدول بأولويات مناسبة. وبذلك لن تعود عمليات الدمج طويلة التشغيل تعيق تقدّم عمليات الدمج القصيرة. وهذا مطلوب لتحسين جدولة تنفيذ عمليات الدمج والتحكم فيه، كما يقلّل من احتمالات ظهور خطأ "too many parts". [#22381](https://github.com/ClickHouse/ClickHouse/issues/22381). [#25165](https://github.com/ClickHouse/ClickHouse/pull/25165) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)). وأُضيفت إمكانية تنفيذ عدد من عمليات الدمج وmutations أكبر من عدد threads في background pool. وستُنفَّذ عمليات الدمج وmutations خطوةً بخطوة وفقًا لأحجامها (الأصغر يحظى بأولوية أعلى). ويتحكم setting ‏`background_merges_mutations_concurrency_ratio` في نسبة عدد tasks إلى threads للتنفيذ، وقيمته الافتراضية 2. [#29140](https://github.com/ClickHouse/ClickHouse/pull/29140) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* أصبح بالإمكان استخدام reads غير المتزامنة لأنظمة الملفات البعيدة. كما خُفِّض عدد عمليات `seek` أثناء القراءة من أنظمة الملفات البعيدة. وهذا يحسّن الأداء بشكل كبير جدًا ويجعل القرصين التجريبيين `web` و`s3` أسرع من EBS في ظروف معينة. [#29205](https://github.com/ClickHouse/ClickHouse/pull/29205) ([Kseniia Sumarokova](https://github.com/kssenii)). وفي الوقت نفسه، انتقل disk type ‏`web` (dataset ثابتة مستضافة على خادم ويب) من الحالة التجريبية إلى الجاهزية لبيئات production.
* ستستخدم queries التي تتضمن `INTO OUTFILE` في `clickhouse-client` عدة threads. كما أُصلحت مشكلة وميض شريط التقدم عند استخدام `INTO OUTFILE`. هذا يغلق [#30873](https://github.com/ClickHouse/ClickHouse/issues/30873). وهذا يغلق [#30872](https://github.com/ClickHouse/ClickHouse/issues/30872). [#30886](https://github.com/ClickHouse/ClickHouse/pull/30886) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تقليل كمية البيانات المضغوطة الزائدة المقروءة من disk لبعض أنواع استعلامات `SELECT` (فقط لعائلة engines ‏`MergeTree`). [#30111](https://github.com/ClickHouse/ClickHouse/pull/30111) ([alesapin](https://github.com/alesapin)).
* إزالة بعض استدعاءات `seek` الزائدة أثناء قراءة blocks المضغوطة في عائلة table engines ‏MergeTree. [#29766](https://github.com/ClickHouse/ClickHouse/pull/29766) ([alesapin](https://github.com/alesapin)).
* جعل table function ‏`url` تعالج عدة عناوين URL بالتوازي. هذا يغلق [#29670](https://github.com/ClickHouse/ClickHouse/issues/29670) ويغلق [#29671](https://github.com/ClickHouse/ClickHouse/issues/29671). [#29673](https://github.com/ClickHouse/ClickHouse/pull/29673) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين أداء aggregation وفق ترتيب primary key (مع تفعيل setting ‏`optimize_aggregation_in_order`). [#30266](https://github.com/ClickHouse/ClickHouse/pull/30266) ([Anton Popov](https://github.com/CurtizJ)).
* يستخدم ClickHouse الآن DNS cache أثناء التواصل مع S3 الخارجي. [#29999](https://github.com/ClickHouse/ClickHouse/pull/29999) ([alesapin](https://github.com/alesapin)).
* إضافة دعم pushdown لعبارتي `IS NULL`/`IS NOT NULL` إلى قواعد البيانات الخارجية (مثل MySQL). [#29463](https://github.com/ClickHouse/ClickHouse/pull/29463) ([Azat Khuzhin](https://github.com/azat)). تحويل `isNull`/`isNotNull` إلى `IS NULL`/`IS NOT NULL` (لقواعد البيانات الخارجية، مثل MySQL). [#29446](https://github.com/ClickHouse/ClickHouse/pull/29446) ([Azat Khuzhin](https://github.com/azat)).
* ستستخدم استعلامات SELECT من جداول Dictionary عدة threads. [#30500](https://github.com/ClickHouse/ClickHouse/pull/30500) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين الأداء عند filtering (عملية WHERE) لأعمدة `Decimal`. [#30431](https://github.com/ClickHouse/ClickHouse/pull/30431) ([Jun Jin](https://github.com/vesslanjin)).
* إزالة الشيفرة كثيرة التفرعات في عملية `filter` عبر تنفيذ أفضل باستخدام `popcnt/ctz` لما يوفّره من أداء أعلى. [#29881](https://github.com/ClickHouse/ClickHouse/pull/29881) ([Jun Jin](https://github.com/vesslanjin)).
* تحسين دالة توليد قناع البايت لـ `filter` (المستخدمة مع العامل WHERE) بشكل شامل باستخدام تعليمات SSE/AVX2/AVX512. لاحظ أن ClickHouse يستخدم SSE فقط افتراضيًا، لذا فهذا لا ينطبق إلا على builds المخصّصة. [#30014](https://github.com/ClickHouse/ClickHouse/pull/30014) ([jasperzhu](https://github.com/jinjunzh)). [#30670](https://github.com/ClickHouse/ClickHouse/pull/30670) ([jasperzhu](https://github.com/jinjunzh)).
* تحسين أداء الدالة التجميعية SUM للأعداد ذات الفاصلة العائمة من النوع Nullable. [#28906](https://github.com/ClickHouse/ClickHouse/pull/28906) ([Raúl Marín](https://github.com/Algunenano)).
* تسريع عملية loading للأجزاء عند استخدام عدة disks. الفكرة مشابهة لـ [https://github.com/ClickHouse/ClickHouse/pull/16423](https://github.com/ClickHouse/ClickHouse/pull/16423) . وتُظهر بيئة الإنتاج تحسنًا: 24 min -> 16 min . [#28363](https://github.com/ClickHouse/ClickHouse/pull/28363) ([Amos Bird](https://github.com/amosbird)).
* تقليل الإعدادات الافتراضية لـ part size في multipart upload على S3 لخفض memory usage. [#28679](https://github.com/ClickHouse/ClickHouse/pull/28679) ([ianton-ru](https://github.com/ianton-ru)).
* تسريع الدالة `bitmapAnd`. [#28332](https://github.com/ClickHouse/ClickHouse/pull/28332) ([dddounaiking](https://github.com/OodounaikingoO)).
* إزالة إشعارات mutation غير المثالية في `StorageMergeTree` عندما تكون merges لا تزال جارية. [#27552](https://github.com/ClickHouse/ClickHouse/pull/27552) ([Vladimir Chebotarev](https://github.com/excitoon)).
* محاولة تحسين أداء مقارنة السلاسل النصية. [#28767](https://github.com/ClickHouse/ClickHouse/pull/28767) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* يمكن أن يعمل index المفتاح الأساسي وfilter الـ partition مع tuple. [#29281](https://github.com/ClickHouse/ClickHouse/pull/29281) ([凌涛](https://github.com/lingtaolf)).
* إذا كان query يحتوي على عدة دوال تجميعية quantile لها arguments نفسها ولكن parameter مستوى مختلف، فستُدمج معًا وتُنفَّذ في مرور واحد إذا كان الإعداد `optimize_syntax_fuse_functions` enabled. [#26657](https://github.com/ClickHouse/ClickHouse/pull/26657) ([hexiaoting](https://github.com/hexiaoting)).
* أصبح الآن التجميع min-max على أول expression من primary key مُحسَّنًا عبر projection. هذا خاص بـ [#329](https://github.com/ClickHouse/ClickHouse/issues/329). [#29918](https://github.com/ClickHouse/ClickHouse/pull/29918) ([Amos Bird](https://github.com/amosbird)).

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

* إضافة إمكانية تغيير إعدادات العقد (في ملف `.xml`) لـ ClickHouse Keeper. [#30372](https://github.com/ClickHouse/ClickHouse/pull/30372) ([alesapin](https://github.com/alesapin)).
* إضافة الدالة التجميعية `sparkbar`. وبذلك يُغلق [#26175](https://github.com/ClickHouse/ClickHouse/issues/26175). [#27481](https://github.com/ClickHouse/ClickHouse/pull/27481) ([小路](https://github.com/nicelulu)). ملاحظة: يوجد خلل واحد في هذه الدالة، وسيتم تغيير هذا السلوك في الإصدارات المستقبلية.

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

* السماح للمستخدم بتغيير مستويات السجل دون إعادة التشغيل. [#29586](https://github.com/ClickHouse/ClickHouse/pull/29586) ([Nikolay Degterinsky](https://github.com/evillique)).
* عدة تحسينات على SQL UDF. تدعم الاستعلامات الخاصة بإدارة SQL User Defined Functions الآن عبارة ON CLUSTER. مثال: `CREATE FUNCTION test_function ON CLUSTER 'cluster' AS x -> x + 1;`. يُغلق [#30666](https://github.com/ClickHouse/ClickHouse/issues/30666). [#30734](https://github.com/ClickHouse/ClickHouse/pull/30734) ([Maksim Kita](https://github.com/kitaisreal)). دعم الصياغتين `CREATE OR REPLACE` و `CREATE IF NOT EXISTS`. [#30454](https://github.com/ClickHouse/ClickHouse/pull/30454) ([Maksim Kita](https://github.com/kitaisreal)). تمت إضافة دعم `DROP IF EXISTS`. مثال: `DROP FUNCTION IF EXISTS test_function`. [#30437](https://github.com/ClickHouse/ClickHouse/pull/30437) ([Maksim Kita](https://github.com/kitaisreal)). دعم تعبيرات lambda. مثال: `CREATE FUNCTION lambda_function AS x -> arrayMap(element -> element * 2, x);`. [#30435](https://github.com/ClickHouse/ClickHouse/pull/30435) ([Maksim Kita](https://github.com/kitaisreal)). دعم SQL user defined functions في `clickhouse-local`. [#30179](https://github.com/ClickHouse/ClickHouse/pull/30179) ([Maksim Kita](https://github.com/kitaisreal)).
* تمكين Profiler الذاكرة لكل استعلام (مع ضبط `memory_profiler_step` = 4MiB) على مستوى عام. [#29455](https://github.com/ClickHouse/ClickHouse/pull/29455) ([Azat Khuzhin](https://github.com/azat)).
* تمت إضافة الأعمدة `data_compressed_bytes` و `data_uncompressed_bytes` و `marks_bytes` إلى `system.data_skipping_indices`. وتمت إضافة الأعمدة `secondary_indices_compressed_bytes` و `secondary_indices_uncompressed_bytes` و `secondary_indices_marks_bytes` إلى `system.parts`. يُغلق [#29697](https://github.com/ClickHouse/ClickHouse/issues/29697). [#29896](https://github.com/ClickHouse/ClickHouse/pull/29896) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة الاسم المستعار `table` إلى system.tables والاسم المستعار `database` إلى system.databases [#29677](https://github.com/ClickHouse/ClickHouse/issues/29677). [#29882](https://github.com/ClickHouse/ClickHouse/pull/29882) ([kevin wan](https://github.com/MaxWk)).
* حل التبعيات المتبادلة بين الجداول بشكل صحيح عند بدء تشغيل الخادم. يُغلق [#8004](https://github.com/ClickHouse/ClickHouse/issues/8004)، ويُغلق [#15170](https://github.com/ClickHouse/ClickHouse/issues/15170). [#28373](https://github.com/ClickHouse/ClickHouse/pull/28373) ([tavplubix](https://github.com/tavplubix)).
* تجنّب الخطأ "Division by zero" عندما يكون المقسوم عليه من النوع Nullable في الدوال `divide` و `intDiv` و `modulo`. يُغلق [#22621](https://github.com/ClickHouse/ClickHouse/issues/22621). [#28352](https://github.com/ClickHouse/ClickHouse/pull/28352) ([Kruglov Pavel](https://github.com/Avogar)).
* السماح بتحليل قيم نوع البيانات `Date` في تنسيقات النص بصيغة `YYYYMMDD` بالإضافة إلى `YYYY-MM-DD`. يُغلق هذا [#30870](https://github.com/ClickHouse/ClickHouse/issues/30870). [#30871](https://github.com/ClickHouse/ClickHouse/pull/30871) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* واجهة الويب: عرض أشرطة داخل خلايا الجداول. [#29792](https://github.com/ClickHouse/ClickHouse/pull/29792) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* يمكن للمستخدم الآن إنشاء قواميس مع تعليقات: `CREATE DICTIONARY ... COMMENT 'vaue'` ... [#29899](https://github.com/ClickHouse/ClickHouse/pull/29899) ([Vasily Nemkov](https://github.com/Enmk)). ويمكن للمستخدمين الآن أيضًا تعيين تعليقات لقاعدة البيانات في تعليمة `CREATE DATABASE` ... [#29429](https://github.com/ClickHouse/ClickHouse/pull/29429) ([Vasily Nemkov](https://github.com/Enmk)).
* تمت إضافة الإعداد `compiled_expression_cache_elements_size`. وإذا احتجت يومًا إلى استخدام هذا الإعداد، فستعرف مسبقًا ما الذي يفعله. [#30667](https://github.com/ClickHouse/ClickHouse/pull/30667) ([Maksim Kita](https://github.com/kitaisreal)).
* يدعم clickhouse-format الآن الخيار `--query`. في الإصدارات السابقة، كان عليك تمرير الاستعلام إلى stdin. [#29325](https://github.com/ClickHouse/ClickHouse/pull/29325) ([凌涛](https://github.com/lingtaolf)).
* تمت إضافة دعم `ALTER TABLE` للجداول في قواعد بيانات `Memory`. وتُستخدم قواعد بيانات `Memory` في `clickhouse-local`. [#30866](https://github.com/ClickHouse/ClickHouse/pull/30866) ([tavplubix](https://github.com/tavplubix)).
* أصبحت المصفوفات من جميع الأنواع القابلة للتسلسل مدعومة الآن في `arrayStringConcat`. [#30840](https://github.com/ClickHouse/ClickHouse/pull/30840) ([Nickita Taranov](https://github.com/nickitat)).
* أصبح ClickHouse الآن يأخذ قيود docker/cgroups في الحسبان عند تحديد مقدار ذاكرة النظام. راجع [#25662](https://github.com/ClickHouse/ClickHouse/issues/25662). [#30574](https://github.com/ClickHouse/ClickHouse/pull/30574) ([Pavel Medvedev](https://github.com/pmed)).
* أصبح جلب بنية الجدول لقاعدة بيانات PostgreSQL أكثر موثوقية. [#30477](https://github.com/ClickHouse/ClickHouse/pull/30477) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم كامل للوسيطات الموضعية في GROUP BY و ORDER BY. [#30433](https://github.com/ClickHouse/ClickHouse/pull/30433) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أصبح بالإمكان استخراج عنصر غير نصي كسلسلة نصية باستخدام JSONExtractString. وذلك من أجل [pull/25452#issuecomment-927123287](https://github.com/ClickHouse/ClickHouse/pull/25452#issuecomment-927123287). [#30426](https://github.com/ClickHouse/ClickHouse/pull/30426) ([Amos Bird](https://github.com/amosbird)).
* أُضيفت إمكانية استخدام العبارة FINAL في استعلامات SELECT من `GraphiteMergeTree`. [#30360](https://github.com/ClickHouse/ClickHouse/pull/30360) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تحسينات طفيفة في استنساخ replica وإدراج عمليات fetch للأجزاء المعطوبة في الطابور، ما من شأنه تجنب التعليق النادر جدًا لعناصر `GET_PART` في replication queue. [#30346](https://github.com/ClickHouse/ClickHouse/pull/30346) ([tavplubix](https://github.com/tavplubix)).
* أصبح مسموحًا باستخدام الروابط الرمزية للملفات في الدليل `user_files` مع دالة الجدول `file`. [#30309](https://github.com/ClickHouse/ClickHouse/pull/30309) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تم إصلاح مقارنة `Date32` مع `Date` و `DateTime` و `DateTime64` و `String`. [#30219](https://github.com/ClickHouse/ClickHouse/pull/30219) ([liang.huang](https://github.com/lhuang09287750)).
* أصبح بالإمكان إزالة التعبير `SAMPLE BY` من جداول `MergeTree` (`ALTER TABLE <table> REMOVE SAMPLE BY`). [#30180](https://github.com/ClickHouse/ClickHouse/pull/30180) ([Anton Popov](https://github.com/CurtizJ)).
* سيبدأ `Keeper` الآن (بصفته جزءًا من `clickhouse-server`) بشكل غير متزامن إذا تمكن من الاتصال بعقدة أخرى. [#30170](https://github.com/ClickHouse/ClickHouse/pull/30170) ([alesapin](https://github.com/alesapin)).
* يدعم `clickhouse-client` الآن تحريرًا مدمجًا متعدد الأسطر. [#30143](https://github.com/ClickHouse/ClickHouse/pull/30143) ([Amos Bird](https://github.com/amosbird)).
* قواميس `polygon` (الترميز الجغرافي العكسي): أُضيف دعم لقراءة محتوى القاموس باستخدام أسلوب الاستعلام SELECT إذا كان الإعداد `store_polygon_key_column` = true. يُغلق هذا [#30090](https://github.com/ClickHouse/ClickHouse/issues/30090). [#30142](https://github.com/ClickHouse/ClickHouse/pull/30142) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة شعار ClickHouse إلى واجهة Play. [#29674](https://github.com/ClickHouse/ClickHouse/pull/29674) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين رسالة الاستثناء عند قراءة عمود من التنسيقات المدعومة من Arrow مثل `Arrow` و`ArrowStream` و`Parquet` و`ORC`. يُغلق هذا [#29926](https://github.com/ClickHouse/ClickHouse/issues/29926). [#29927](https://github.com/ClickHouse/ClickHouse/pull/29927) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح حالة سباق بيانات بين flush وبدء التشغيل في جداول `Buffer`. وقد يظهر هذا في الاختبارات. [#29930](https://github.com/ClickHouse/ClickHouse/pull/29930) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح `lock-order-inversion` بين `DROP TABLE` لكل من `DatabaseMemory` و`LiveView`. تُعد Live View ميزة تجريبية. وتُستخدم قاعدة بيانات Memory في clickhouse-local. [#29929](https://github.com/ClickHouse/ClickHouse/pull/29929) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح `lock-order-inversion` بين إعادة التحميل الدورية للقاموس وإعادة تحميل config. [#29928](https://github.com/ClickHouse/ClickHouse/pull/29928) ([Azat Khuzhin](https://github.com/azat)).
* تحديث ملفات zoneinfo إلى 2021c. [#29925](https://github.com/ClickHouse/ClickHouse/pull/29925) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة إمكانية ضبط retries والفواصل الزمنية بينها لـ `clickhouse-copier`. [#29921](https://github.com/ClickHouse/ClickHouse/pull/29921) ([Azat Khuzhin](https://github.com/azat)).
* إضافة إعداد الخادم `shutdown_wait_unfinished_queries` للسماح بانتظار الاستعلامات الجارية حتى مدة `shutdown_wait_unfinished`. وهذا من أجل [#24451](https://github.com/ClickHouse/ClickHouse/issues/24451). [#29914](https://github.com/ClickHouse/ClickHouse/pull/29914) ([Amos Bird](https://github.com/amosbird)).
* إضافة إمكانية تتبّع Peak memory usage (باستخدام trace\_type جديد في `system.trace_log` وهو `MemoryPeak`). [#29858](https://github.com/ClickHouse/ClickHouse/pull/29858) ([Azat Khuzhin](https://github.com/azat)).
* الجداول الخارجية في PostgreSQL: أُضيفت بادئة الجدول المُقسَّم 'p' إلى الاستعلام المستخدم لجلب فهرس replica identity. [#29828](https://github.com/ClickHouse/ClickHouse/pull/29828) ([Shoh Jahon](https://github.com/Shohjahon)).
* تطبيق `max_untracked_memory`/`memory_profiler_step`/`memory_profiler_sample_probability` أثناء mutate/merge لإعداد profiling لاستخدام الذاكرة أثناء عمليات الدمج. [#29681](https://github.com/ClickHouse/ClickHouse/pull/29681) ([Azat Khuzhin](https://github.com/azat)).
* إخفاء بيانات الاستعلامات: أصبح `clickhouse-format --obfuscate` يعمل الآن مع المزيد من أنواع الاستعلامات. [#29672](https://github.com/ClickHouse/ClickHouse/pull/29672) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح المشكلة التالية: تعذّر على `clickhouse-format --obfuscate` معالجة الاستعلامات التي تحتوي على Embedded Dictionaries (الدوال `regionTo...`). [#29667](https://github.com/ClickHouse/ClickHouse/pull/29667) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح المعالجة غير الصحيحة لـ Nullable في JSON functions. يُصلح هذا [#29615](https://github.com/ClickHouse/ClickHouse/issues/29615). ووُسِم كتحسين لأن [https://github.com/ClickHouse/ClickHouse/pull/28012](https://github.com/ClickHouse/ClickHouse/pull/28012) لم يُصدر بعد. [#29659](https://github.com/ClickHouse/ClickHouse/pull/29659) ([Amos Bird](https://github.com/amosbird)).
* زيادة القيمة الافتراضية لـ `listen_backlog` (لتتوافق مع القيمة الافتراضية في نواة Linux الأحدث). [#29643](https://github.com/ClickHouse/ClickHouse/pull/29643) ([Azat Khuzhin](https://github.com/azat)).
* إعادة تحميل القواميس والنماذج والدوال التنفيذية المعرّفة من قبل المستخدم إذا تغيّر إعداد الخادم `dictionaries_config` أو `models_config` أو `user_defined_executable_functions_config`. يغلق [#28142](https://github.com/ClickHouse/ClickHouse/issues/28142). [#29529](https://github.com/ClickHouse/ClickHouse/pull/29529) ([Maksim Kita](https://github.com/kitaisreal)).
* إزالة القيد غير الضروري على اسم الإسقاط. يمكن الآن أن يبدأ اسم الإسقاط بـ `tmp_`. [#29520](https://github.com/ClickHouse/ClickHouse/pull/29520) ([Amos Bird](https://github.com/amosbird)).
* إصلاح الخطأ `There is no query or query context has expired` في عمليات mutation التي تتضمن استعلامات فرعية متداخلة. لم يعد يُسمح بالاستعلامات الفرعية في mutation إذا كان الجدول replicated وكان الإعداد `allow_nondeterministic_mutations` معطّلًا. [#29495](https://github.com/ClickHouse/ClickHouse/pull/29495) ([tavplubix](https://github.com/tavplubix)).
* تطبيق تغييرات config على `max_concurrent_queries` أثناء وقت التشغيل (من دون الحاجة إلى إعادة التشغيل). [#29414](https://github.com/ClickHouse/ClickHouse/pull/29414) ([Raúl Marín](https://github.com/Algunenano)).
* إضافة الإعداد `use_skip_indexes`. [#29405](https://github.com/ClickHouse/ClickHouse/pull/29405) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة دعم `FREEZE` للأجزاء الموجودة في الذاكرة (لأغراض النسخ الاحتياطي). [#29376](https://github.com/ClickHouse/ClickHouse/pull/29376) ([Mo Xuan](https://github.com/mo-avatar)).
* تمرير `initial_query_id` للاستعلام الأصلي إلى `clickhouse-benchmark` (في السابق، إذا شغّلت استعلامًا بعيدًا عبر `clickhouse-benchmark`، فلن تُربط الاستعلامات على الشظايا بالاستعلام الأصلي عبر `initial_query_id`). [#29364](https://github.com/ClickHouse/ClickHouse/pull/29364) ([Azat Khuzhin](https://github.com/azat)).
* مؤشرات التخطي `tokenbf_v1` و`ngrambf_v1`: أُضيف دعم لنوع البيانات `Array` بمفتاح من النوع `String` أو `FixedString`. [#29280](https://github.com/ClickHouse/ClickHouse/pull/29280) ([Maksim Kita](https://github.com/kitaisreal)). كما أُضيف إلى مؤشرات التخطي `tokenbf_v1` و`ngrambf_v1` دعم لنوع البيانات `Map` بمفتاح من النوع `String` أو `FixedString`. المؤلف @lingtaolf. [#29220](https://github.com/ClickHouse/ClickHouse/pull/29220) ([Maksim Kita](https://github.com/kitaisreal)).
* الدالة `has`: أُضيف دعم لنوع البيانات `Map`. [#29267](https://github.com/ClickHouse/ClickHouse/pull/29267) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة إعدادات `compress_logs` إلى clickhouse-keeper، بما يتيح ضغط سجلات clickhouse-keeper (لآلة الحالات replicated) باستخدام `ZSTD`. تنفيذ: [#26977](https://github.com/ClickHouse/ClickHouse/issues/26977). [#29223](https://github.com/ClickHouse/ClickHouse/pull/29223) ([alesapin](https://github.com/alesapin)).
* إضافة الإعداد `external_table_strict_query` — ما يفرض تمرير تعبير WHERE بالكامل في الاستعلامات إلى قواعد البيانات الخارجية حتى إن كان غير متوافق. [#29206](https://github.com/ClickHouse/ClickHouse/pull/29206) ([Azat Khuzhin](https://github.com/azat)).
* تعطيل الإسقاطات عند استخدام `ARRAY JOIN`. في الإصدارات السابقة، كان تحليل الإسقاطات قد يتسبب في كسر الأسماء المستعارة في array join. [#29139](https://github.com/ClickHouse/ClickHouse/pull/29139) ([Amos Bird](https://github.com/amosbird)).
* دعم المزيد من الأنواع في output format `MsgPack`. [#29077](https://github.com/ClickHouse/ClickHouse/pull/29077) ([Kruglov Pavel](https://github.com/Avogar)).
* السماح بإدخال أعمدة `LowCardinality` وإخراجها في تنسيق الإدخال/الإخراج `ORC`. [#29062](https://github.com/ClickHouse/ClickHouse/pull/29062) ([Kruglov Pavel](https://github.com/Avogar)).
* قد يعرض الاستعلام من `system.distributed_ddl_queue` قيماً غير صحيحة، وقد تم إصلاح ذلك. [#29061](https://github.com/ClickHouse/ClickHouse/pull/29061) ([tavplubix](https://github.com/tavplubix)).
* تصحيح السلوك عند استخدام طرائق غير معروفة في اتصال HTTP. يحل [#29050](https://github.com/ClickHouse/ClickHouse/issues/29050). [#29057](https://github.com/ClickHouse/ClickHouse/pull/29057) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* `clickhouse-keeper`: إصلاح خطأ في `clickhouse-keeper-converter` قد يؤدي إلى فقدان بعض البيانات أثناء الاستعادة من سجلات ZooKeeper (وليس من snapshot). [#29030](https://github.com/ClickHouse/ClickHouse/pull/29030) ([小路](https://github.com/nicelulu)). وإصلاح خطأ في `clickhouse-keeper-converter` قد يؤدي إلى إلغاء تسلسل غير صحيح لسجل ZooKeeper. [#29071](https://github.com/ClickHouse/ClickHouse/pull/29071) ([小路](https://github.com/nicelulu)).
* تطبيق الإعدادات من استعلامات `CREATE ... AS SELECT` (إصلاح: [#28810](https://github.com/ClickHouse/ClickHouse/issues/28810)). [#28962](https://github.com/ClickHouse/ClickHouse/pull/28962) ([Azat Khuzhin](https://github.com/azat)).
* مراعاة إعداد قاعدة البيانات الافتراضية لأوامر ALTER TABLE ... ON CLUSTER ... REPLACE/MOVE PARTITION FROM/TO ... [#28955](https://github.com/ClickHouse/ClickHouse/pull/28955) ([anneji-dev](https://github.com/anneji-dev)).
* بروتوكول gRPC: السماح بتغيير الضغط على جهة الخادم من جهة العميل. [#28953](https://github.com/ClickHouse/ClickHouse/pull/28953) ([Vitaly Baranov](https://github.com/vitlibar)).
* تخطي الاستثناء "no data" عند قراءة المستشعرات الحرارية للمقاييس غير المتزامنة. هذا يُغلق [#28852](https://github.com/ClickHouse/ClickHouse/issues/28852). [#28882](https://github.com/ClickHouse/ClickHouse/pull/28882) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح حالة تسابق منطقية قد تتسبب، في حالات نادرة، في ظهور الخطأ `Dictionary not found` لقاموس موجود. [#28853](https://github.com/ClickHouse/ClickHouse/pull/28853) ([tavplubix](https://github.com/tavplubix)).
* تخفيف التحقق من الدوال المتداخلة لـ If-combinator (مع منع combinators المتطابقة المتداخلة). [#28828](https://github.com/ClickHouse/ClickHouse/pull/28828) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح استثناء محتمل غير ملتقط أثناء إنهاء الخادم. [#28761](https://github.com/ClickHouse/ClickHouse/pull/28761) ([Azat Khuzhin](https://github.com/azat)).
* منع تنظيف أدلة tmp التي قد تستخدمها عملية mutation/merge نشطة إذا كانت عملية mutation/merge طويلة بشكل استثنائي. [#28760](https://github.com/ClickHouse/ClickHouse/pull/28760) ([Azat Khuzhin](https://github.com/azat)).
* السماح بالتحسين `optimize_arithmetic_operations_in_aggregate_functions = 1` عند استخدام alias. [#28746](https://github.com/ClickHouse/ClickHouse/pull/28746) ([Amos Bird](https://github.com/amosbird)).
* تنفيذ الإعداد `detach_not_byte_identical_parts` لـ `ReplicatedMergeTree`، بحيث يتم فصل الأجزاء غير المتطابقة على مستوى البايتات بدلاً من إزالتها (بعد merge/mutate). [#28708](https://github.com/ClickHouse/ClickHouse/pull/28708) ([Azat Khuzhin](https://github.com/azat)).
* تنفيذ الإعداد `max_suspicious_broken_parts_bytes` لـ `MergeTree` (للحد من الحجم الإجمالي لجميع الأجزاء المعطوبة، والقيمة الافتراضية هي `1GiB`). [#28707](https://github.com/ClickHouse/ClickHouse/pull/28707) ([Azat Khuzhin](https://github.com/azat)).
* تمكين توسيع وحدات الماكرو في إعدادات جدول `RabbitMQ`. [#28683](https://github.com/ClickHouse/ClickHouse/pull/28683) ([Vitaly Baranov](https://github.com/vitlibar)).
* استعادة إمكانية قراءة بيانات جدول يستخدم المحرك `Log` عبر عدة خيوط. [#28125](https://github.com/ClickHouse/ClickHouse/pull/28125) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح السلوك غير الصحيح في التعامل مع العمود NULL في دوال JSON. ويعالج هذا [#27930](https://github.com/ClickHouse/ClickHouse/issues/27930). [#28012](https://github.com/ClickHouse/ClickHouse/pull/28012) ([Amos Bird](https://github.com/amosbird)).
* السماح بتعيين حجم ذاكرة Mark/Uncompressed cache الخاصة بفهارس التخطي بشكل منفصل عن الأعمدة. [#27961](https://github.com/ClickHouse/ClickHouse/pull/27961) ([Amos Bird](https://github.com/amosbird)).
* السماح بدمج JOIN مع `USING` مع أنواع JOIN الأخرى. [#23881](https://github.com/ClickHouse/ClickHouse/pull/23881) ([darkkeks](https://github.com/darkkeks)).
* تحديث الوحدة الفرعية aws-sdk لدعم تقييد المعدل في Yandex Cloud S3. [#30646](https://github.com/ClickHouse/ClickHouse/pull/30646) ([ianton-ru](https://github.com/ianton-ru)).
* إصلاح تحرير معرّف الاستعلام ومعرّف الجلسة عند نهاية معالجة الاستعلام أثناء التعامل مع استدعاء gRPC. [#29954](https://github.com/ClickHouse/ClickHouse/pull/29954) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح إيقاف `AccessControlManager` لإصلاح اختبار غير مستقر. [#29951](https://github.com/ClickHouse/ClickHouse/pull/29951) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح فشل التحقق عند القراءة من `HDFS`. وتحديث مكتبة libhdfs3 لتتمكن من التشغيل في الاختبارات في وضع التصحيح. يُغلق [#29251](https://github.com/ClickHouse/ClickHouse/issues/29251). يُغلق [#27814](https://github.com/ClickHouse/ClickHouse/issues/27814). [#29276](https://github.com/ClickHouse/ClickHouse/pull/29276) ([Kseniia Sumarokova](https://github.com/kssenii)).

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

* إضافة دعم لبناء إصدارات FreeBSD لأجهزة Aarch64. [#29952](https://github.com/ClickHouse/ClickHouse/pull/29952) ([MikaelUrankar](https://github.com/MikaelUrankar)).
* لم تعد الوحدات الفرعية التكرارية مطلوبة في ClickHouse. [#30315](https://github.com/ClickHouse/ClickHouse/pull/30315) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* يمكن بناء ClickHouse بناءً ثابتًا باستخدام Musl. أُضيف هذا بشكل تجريبي، لكنه لا يدعم بناء `odbc-bridge` و`library-bridge`، أو التكامل مع CatBoost وبعض المكتبات. [#30248](https://github.com/ClickHouse/ClickHouse/pull/30248) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تمكين `Protobuf` و`Arrow` و`ORC` و`Parquet` في builds الخاصة بـ `AArch64` و`Darwin` ‏(macOS). يغلق هذا [#29248](https://github.com/ClickHouse/ClickHouse/issues/29248). ويغلق أيضًا [#28018](https://github.com/ClickHouse/ClickHouse/issues/28018). [#30015](https://github.com/ClickHouse/ClickHouse/pull/30015) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة cross-build لـ PowerPC ‏(powerpc64le). يغلق هذا [#9589](https://github.com/ClickHouse/ClickHouse/issues/9589). كما تم تمكين دعم التفاعل مع MySQL لكل من AArch64 وPowerPC. يغلق هذا [#26301](https://github.com/ClickHouse/ClickHouse/issues/26301). [#30010](https://github.com/ClickHouse/ClickHouse/pull/30010) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* الإبقاء على الملفات المطلوبة فقط في سلاسل أدوات cross-compile، وتضمينها كوحدات فرعية (إذ كان يجري تنزيلها سابقًا كملفات tarball). [#29974](https://github.com/ClickHouse/ClickHouse/pull/29974) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تنفيذ نهج fuzzing مدرك للبنية في ClickHouse لمحلل عبارة SELECT. [#30012](https://github.com/ClickHouse/ClickHouse/pull/30012) ([Paul](https://github.com/PaulCher)).
* تفعيل مُقيِّم constexpr expressions التجريبي في clang لتسريع ترجمة شيفرة Template. [#29668](https://github.com/ClickHouse/ClickHouse/pull/29668) ([myrrc](https://github.com/myrrc)).
* إضافة إمكانية الترجمة البرمجية باستخدام إصدار أحدث من glibc من دون استخدام رموز جديدة. [#29594](https://github.com/ClickHouse/ClickHouse/pull/29594) ([Azat Khuzhin](https://github.com/azat)).
* تقليل حجم الملف التنفيذي في build الخاصة بـ Debug باستخدام خيار تحسين من clang. [#28736](https://github.com/ClickHouse/ClickHouse/pull/28736) ([flynn](https://github.com/ucasfl)).
* ستُوضَع الآن جميع images الخاصة بـ CI في مستودع Docker Hub منفصل. [#28656](https://github.com/ClickHouse/ClickHouse/pull/28656) ([alesapin](https://github.com/alesapin)).
* تحسين دعم build باستخدام clang-13. [#28046](https://github.com/ClickHouse/ClickHouse/pull/28046) ([Sergei Semin](https://github.com/syominsergey)).
* إضافة إمكانية طباعة profile events الخام في `clickhouse-client` (قد يكون هذا مفيدًا في debugging ولأغراض الاختبار). [#30064](https://github.com/ClickHouse/ClickHouse/pull/30064) ([Azat Khuzhin](https://github.com/azat)).
* إضافة تبعية زمنية لوحدة clickhouse-server ‏(تهيئة systemd وsysvinit). [#28891](https://github.com/ClickHouse/ClickHouse/pull/28891) ([Azat Khuzhin](https://github.com/azat)).
* إعادة تحميل cache الخاصة بـ stacktrace عند إعادة تحميل الرمز. [#28137](https://github.com/ClickHouse/ClickHouse/pull/28137) ([Amos Bird](https://github.com/amosbird)).

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

* قد تعثر الدوال الخاصة بالبحث غير الحساس لحالة الأحرف في سلاسل UTF-8 النصية، مثل `positionCaseInsensitiveUTF8` و`countSubstringsCaseInsensitiveUTF8`، على سلاسل فرعية لا تتطابق فعليًا في حالات نادرة جدًا، وقد تم إصلاح ذلك. [#30663](https://github.com/ClickHouse/ClickHouse/pull/30663) ([tavplubix](https://github.com/tavplubix)).
* إصلاح القراءة من ملف فارغ على قرص مشفّر. [#30494](https://github.com/ClickHouse/ClickHouse/pull/30494) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح تحويل سلسلة شروط OR إلى `IN` (تتحكم فيها الإعدادات `optimize_min_equality_disjunction_chain_length`) في الاستعلامات الموزعة مع الإعداد `legacy_column_name_of_tuple_literal = 0`. [#28658](https://github.com/ClickHouse/ClickHouse/pull/28658) ([Anton Popov](https://github.com/CurtizJ)).
* السماح باستخدام عمود materialized كمفتاح التقسيم في جدول موزّع حتى إذا كان `insert_allow_materialized_columns=0`:. [#28637](https://github.com/ClickHouse/ClickHouse/pull/28637) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح `ORDER BY ... WITH FILL` عند ضبط `TO` و`FROM` وعدم وجود أي صفوف في مجموعة النتائج. [#30888](https://github.com/ClickHouse/ClickHouse/pull/30888) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح عدم استخدام فهرس Set في تعبيرات AND/OR عندما يكون هناك أكثر من معاملين. هذا يُصلح [#30416](https://github.com/ClickHouse/ClickHouse/issues/30416) . [#30887](https://github.com/ClickHouse/ClickHouse/pull/30887) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تعطل يحدث عند materialize لـ projection تحتوي على دالة hash. هذا يُصلح [#30861](https://github.com/ClickHouse/ClickHouse/issues/30861) . المشكلة مشابهة لـ [https://github.com/ClickHouse/ClickHouse/pull/28560،](https://github.com/ClickHouse/ClickHouse/pull/28560،) وتعود إلى عدم الفهم الصحيح لخاصية خلوّ الترويسة. [#30877](https://github.com/ClickHouse/ClickHouse/pull/30877) ([Amos Bird](https://github.com/amosbird)).
* تم إصلاح الالتباس عند استخراج اسم ZooKeeper الإضافي من مسار ZooKeeper في `ReplicatedMergeTree`. سابقًا، كان قد يفشل الخادم في البدء مع `Unknown auxiliary ZooKeeper name` إذا احتوى مسار ZooKeeper على نقطتين رأسيتين. يُصلح [#29052](https://github.com/ClickHouse/ClickHouse/issues/29052). كذلك، كان مسموحًا بتحديد مسار ZooKeeper لا يبدأ بشرطة مائلة، لكنه الآن مهمل ولا يُسمح بإنشاء جداول جديدة بهذا المسار. كما لا يُسمح أيضًا بالشرطات المائلة والنقطتين الرأسيتين في أسماء ZooKeeper الإضافية. [#30822](https://github.com/ClickHouse/ClickHouse/pull/30822) ([tavplubix](https://github.com/tavplubix)).
* تنظيف الدليل المؤقت عند فشل `localBackup` لأي سبب. [#30797](https://github.com/ClickHouse/ClickHouse/pull/30797) ([ianton-ru](https://github.com/ianton-ru)).
* أُصلحت حالة سباق بين `REPLACE/MOVE PARTITION` والدمج في الخلفية في `MergeTree` غير المُكرَّر، والتي كان قد تؤدي إلى بقاء جزء من البيانات المنقولة/المستبدلة في القسم. يُصلح [#29327](https://github.com/ClickHouse/ClickHouse/issues/29327). [#30717](https://github.com/ClickHouse/ClickHouse/pull/30717) ([tavplubix](https://github.com/tavplubix)).
* إصلاح PREWHERE مع WHERE في حالة PREWHERE التي تكون true دائمًا. [#30668](https://github.com/ClickHouse/ClickHouse/pull/30668) ([Azat Khuzhin](https://github.com/azat)).
* كان من الممكن أن يتسبب تحسين push down الخاص بـ Limit في حدوث خطأ `Cannot find column`. يُصلح [#30438](https://github.com/ClickHouse/ClickHouse/issues/30438). [#30562](https://github.com/ClickHouse/ClickHouse/pull/30562) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إضافة أقواس مفقودة عند إعادة كتابة `isNotNull`/`isNull` إلى `IS [NOT] NULL` (يُصلح الاستعلامات التي تحتوي على شيء مثل `isNotNull(1)+isNotNull(2)`). [#30520](https://github.com/ClickHouse/ClickHouse/pull/30520) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح حالة توقف متبادل في ALTER مع استعلام فرعي scalar على الجدول نفسه، وإغلاق [#30461](https://github.com/ClickHouse/ClickHouse/issues/30461). [#30492](https://github.com/ClickHouse/ClickHouse/pull/30492) ([Vladimir C](https://github.com/vdimir)).
* إصلاح تعطل segfault قد يحدث إذا انتهت صلاحية الجلسة أثناء تنفيذ REPLACE PARTITION. [#30432](https://github.com/ClickHouse/ClickHouse/pull/30432) ([tavplubix](https://github.com/tavplubix)).
* قد تُرجع الاستعلامات التي تحتوي على شرط مثل `IN (subquery)` نتيجة غير صحيحة عند تطبيق projection تجميعي. كما تم إصلاح إنشاء المجموعات الخاصة بـ projections. [#30310](https://github.com/ClickHouse/ClickHouse/pull/30310) ([Amos Bird](https://github.com/amosbird)).
* إصلاح حلّ الأسماء المستعارة للأعمدة في استعلامات JOIN عند تمكين projection. يُصلح هذا [#30146](https://github.com/ClickHouse/ClickHouse/issues/30146). [#30293](https://github.com/ClickHouse/ClickHouse/pull/30293) ([Amos Bird](https://github.com/amosbird)).
* إصلاح بعض أوجه القصور في الدالة `replaceRegexpAll`. [#30292](https://github.com/ClickHouse/ClickHouse/pull/30292) ([Memo](https://github.com/Joeywzr)).
* إصلاح تحليل الخيار `preallocate` من إعدادات layout في ComplexKeyHashedDictionary و ComplexKeySparseHashedDictionary. [#30246](https://github.com/ClickHouse/ClickHouse/pull/30246) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح الدالة `[I]LIKE`. إغلاق [#28661](https://github.com/ClickHouse/ClickHouse/issues/28661). [#30244](https://github.com/ClickHouse/ClickHouse/pull/30244) ([Nikolay Degterinsky](https://github.com/evillique)).
* إصلاح crash مع shortcircuit و lowcardinality في multiIf. [#30243](https://github.com/ClickHouse/ClickHouse/pull/30243) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح حساب bytes\_allocated في FlatDictionary و HashedDictionary للسمات Nullable. [#30238](https://github.com/ClickHouse/ClickHouse/pull/30238) ([Maksim Kita](https://github.com/kitaisreal)).
* السماح بالمُعرّفات التي تبدأ بأرقام في عمليات join متعددة. [#30230](https://github.com/ClickHouse/ClickHouse/pull/30230) ([Vladimir C](https://github.com/vdimir)).
* إصلاح القراءة من `MergeTree` مع `max_read_buffer_size = 0` (عندما يريد المستخدم أن يؤذي نفسه بنفسه) (قد يؤدي ذلك إلى ظهور الاستثناءات `Can't adjust last granule` و `LOGICAL_ERROR`، أو حتى فقدان البيانات). [#30192](https://github.com/ClickHouse/ClickHouse/pull/30192) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح `pread_fake_async`/`pread_threadpool` مع `min_bytes_to_use_direct_io`. [#30191](https://github.com/ClickHouse/ClickHouse/pull/30191) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح قيام INSERT SELECT بملء عمود MATERIALIZED بشكل غير صحيح استنادًا إلى عمود Nullable. [#30189](https://github.com/ClickHouse/ClickHouse/pull/30189) ([Azat Khuzhin](https://github.com/azat)).
* دعم معاملات Nullable في الدالة `initializeAggregation`. [#30177](https://github.com/ClickHouse/ClickHouse/pull/30177) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الخطأ `Port is already connected` في الاستعلامات التي تحتوي على `GLOBAL IN` و `WITH TOTALS`. فقط في الإصدارين 21.9 و21.10. [#30086](https://github.com/ClickHouse/ClickHouse/pull/30086) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح حالة تسابق بين MOVE PARTITION وعمليات الدمج/الـ mutations في MergeTree. [#30074](https://github.com/ClickHouse/ClickHouse/pull/30074) ([Azat Khuzhin](https://github.com/azat)).
* قد تعود قاعدة البيانات `Memory` المحذوفة إلى الظهور بعد إعادة تشغيل الخادم، وقد تم إصلاح ذلك ([#29795](https://github.com/ClickHouse/ClickHouse/issues/29795)). كما أُضيف الإعداد `force_remove_data_recursively_on_drop` كحل بديل لخطأ `Directory not empty` عند حذف قاعدة البيانات `Ordinary` (لأنه لا يمكن إزالة بقايا البيانات يدويًا في البيئة السحابية). [#30054](https://github.com/ClickHouse/ClickHouse/pull/30054) ([tavplubix](https://github.com/tavplubix)).
* إصلاح تعطل sample بسبب `tuple()`، وإغلاق [#30004](https://github.com/ClickHouse/ClickHouse/issues/30004). [#30016](https://github.com/ClickHouse/ClickHouse/pull/30016) ([flynn](https://github.com/ucasfl)).
* محاولة إغلاق المشكلة: [#29965](https://github.com/ClickHouse/ClickHouse/issues/29965). [#29976](https://github.com/ClickHouse/ClickHouse/pull/29976) ([hexiaoting](https://github.com/hexiaoting)).
* إصلاح احتمال حدوث سباق بيانات بين `FileChecker` و`StorageLog`/`StorageStripeLog`. [#29959](https://github.com/ClickHouse/ClickHouse/pull/29959) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح سباق بيانات بين `LogSink::writeMarks()` و`LogSource` في `StorageLog`. [#29946](https://github.com/ClickHouse/ClickHouse/pull/29946) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح احتمال تسرّب الموارد في حد الاستعلامات المتزامنة لجداول MergeTree، والذي أُدخل في [https://github.com/ClickHouse/ClickHouse/pull/19544](https://github.com/ClickHouse/ClickHouse/pull/19544). [#29879](https://github.com/ClickHouse/ClickHouse/pull/29879) ([Amos Bird](https://github.com/amosbird)).
* إصلاح فحص إعادة إنشاء جداول النظام (كان يفشل في اكتشاف التغييرات في قيم `enum`). [#29857](https://github.com/ClickHouse/ClickHouse/pull/29857) ([Azat Khuzhin](https://github.com/azat)).
* MaterializedMySQL: إصلاح مشكلة كان فيها فقدان الاتصال بـ MySQL يؤدي إلى معالجة أجزاء فقط من المعاملة. [#29837](https://github.com/ClickHouse/ClickHouse/pull/29837) ([Håvard Kvålen](https://github.com/havardk)).
* تجنّب خطأ `Timeout exceeded: elapsed 18446744073.709553 seconds` الذي قد يحدث في حالات نادرة للغاية، ويُفترض أن سببه خلل ما في النواة. إصلاح [#29154](https://github.com/ClickHouse/ClickHouse/issues/29154). [#29811](https://github.com/ClickHouse/ClickHouse/pull/29811) ([tavplubix](https://github.com/tavplubix)).
* إصلاح cast غير صحيح في الاستعلام `ATTACH TABLE ... FROM 'path'` عند استخدام literal غير نصي بدلًا من path. وقد يؤدي ذلك إلى قراءة ذاكرة غير مهيأة. [#29790](https://github.com/ClickHouse/ClickHouse/pull/29790) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح الوصول المتزامن إلى `LowCardinality` أثناء `GROUP BY` (وبالاقتران مع جداول `Buffer` قد يؤدي ذلك إلى مشكلات). [#29782](https://github.com/ClickHouse/ClickHouse/pull/29782) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح `GROUP BY` غير صحيح (ظهور صفوف متعددة بالمفاتيح نفسها في النتيجة) في حالة distributed query عندما كانت shards تعمل بإصدارات مختلطة `<= 21.3` و`>= 21.4`، وكان مفتاح `GROUP BY` يتكوّن من عدة columns كلها ذات حجم ثابت، وكانت two-level aggregation مفعّلة (انظر `group_by_two_level_threshold` و`group_by_two_level_threshold_bytes`). إصلاح [#29580](https://github.com/ClickHouse/ClickHouse/issues/29580). [#29735](https://github.com/ClickHouse/ClickHouse/pull/29735) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح السلوك غير الصحيح للإعداد `materialized_postgresql_tables_list` عند إعادة تشغيل الخادم. وُجدت المشكلة في [#28529](https://github.com/ClickHouse/ClickHouse/issues/28529). [#29686](https://github.com/ClickHouse/ClickHouse/pull/29686) ([Kseniia Sumarokova](https://github.com/kssenii)).
* قد يضيع الشرط في مسند التصفية بعد تحسين push-down. [#29625](https://github.com/ClickHouse/ClickHouse/pull/29625) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح ترجمة JIT للتعبيرات مع الأسماء المستعارة والتقييم المختصر للتعبيرات. يغلق [#29403](https://github.com/ClickHouse/ClickHouse/issues/29403). [#29574](https://github.com/ClickHouse/ClickHouse/pull/29574) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح segfault نادر في الاستعلام `ALTER MODIFY` عند استخدام معرّف table غير صحيح في تعبير `DEFAULT` مثل `x.y.z...`. يعالج [#29184](https://github.com/ClickHouse/ClickHouse/issues/29184). [#29573](https://github.com/ClickHouse/ClickHouse/pull/29573) ([alesapin](https://github.com/alesapin)).
* إصلاح إلغاء الإشارة إلى nullptr في `GROUP BY WITH TOTALS HAVING` (عندما لا يكون column المستخدم في `HAVING` محددًا). [#29553](https://github.com/ClickHouse/ClickHouse/pull/29553) ([Azat Khuzhin](https://github.com/azat)).
* تجنّب deadlocks عند القراءة والكتابة على جداول Join table engine في الوقت نفسه. [#29544](https://github.com/ClickHouse/ClickHouse/pull/29544) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح خلل في الفحص `pathStartsWith` بسبب خلل في استخدام `std::mismatch`: ` The behavior is undefined if the second range is shorter than the first range.`. [#29531](https://github.com/ClickHouse/ClickHouse/pull/29531) ([Kseniia Sumarokova](https://github.com/kssenii)).
* في ODBC bridge، تمت إضافة retries للخطأ Invalid cursor state. وهو خطأ قابل لإعادة المحاولة. يغلق [#29473](https://github.com/ClickHouse/ClickHouse/issues/29473). [#29518](https://github.com/ClickHouse/ClickHouse/pull/29518) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تم إصلاح parsing غير الصحيح لاسم table عند loading قاعدة البيانات `Lazy`. يعالج [#29456](https://github.com/ClickHouse/ClickHouse/issues/29456). [#29476](https://github.com/ClickHouse/ClickHouse/pull/29476) ([tavplubix](https://github.com/tavplubix)).
* إصلاح احتمال حدوث `Block structure mismatch` في subqueries ذات مسند `HAVING` المدفوع إلى الأسفل. يعالج [#29010](https://github.com/ClickHouse/ClickHouse/issues/29010). [#29475](https://github.com/ClickHouse/ClickHouse/pull/29475) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح الخطأ المنطقي `Cannot capture columns` في الدالتين greatest/least. يغلق [#29334](https://github.com/ClickHouse/ClickHouse/issues/29334). [#29454](https://github.com/ClickHouse/ClickHouse/pull/29454) ([Kruglov Pavel](https://github.com/Avogar)).
* RocksDB table engine: إصلاح race condition أثناء فتح عدة DB في الوقت نفسه (مع استعادة بعض الاختبارات التي تؤدي إلى ظهور المشكلة على CI). [#29393](https://github.com/ClickHouse/ClickHouse/pull/29393) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح عدم إيقاف replicated access storage بشكل سليم عند سوء الإعداد. [#29388](https://github.com/ClickHouse/ClickHouse/pull/29388) ([Kevin Michel](https://github.com/kmichel-aiven)).
* إزالة window function `nth_value` لأنها غير آمنة من ناحية الذاكرة. هذا يغلق [#29347](https://github.com/ClickHouse/ClickHouse/issues/29347). [#29348](https://github.com/ClickHouse/ClickHouse/pull/29348) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح عمليات الدمج العمودية لأجزاء الإسقاط. يُصلح هذا [#29253](https://github.com/ClickHouse/ClickHouse/issues/29253). كما يُصلح طلب السحب هذا أيضًا عدة مشكلات في دمج/تعديل الإسقاطات أُدخلت في [https://github.com/ClickHouse/ClickHouse/pull/25165](https://github.com/ClickHouse/ClickHouse/pull/25165). [#29337](https://github.com/ClickHouse/ClickHouse/pull/29337) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تعليق استعلامات DDL على قاعدة بيانات `Replicated` أثناء إضافة replica جديدة. [#29328](https://github.com/ClickHouse/ClickHouse/pull/29328) ([Kevin Michel](https://github.com/kmichel-aiven)).
* إصلاح مهلات الاتصال (`send_timeout`/`receive_timeout`). [#29282](https://github.com/ClickHouse/ClickHouse/pull/29282) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح احتمال حدوث الاستثناء `Table columns structure in ZooKeeper is different from local table structure` أثناء إعادة إنشاء replicas جديدة أو إنشائها لـ `ReplicatedMergeTree`، عندما يحتوي أحد أعمدة الجدول على تعبيرات `default` تتضمن دوال لا تراعي حالة الأحرف. [#29266](https://github.com/ClickHouse/ClickHouse/pull/29266) ([Anton Popov](https://github.com/CurtizJ)).
* إرسال الخطأ المعتاد `Database doesn't exist error` (`UNKNOWN_DATABASE`) إلى العميل (عبر TCP) بدلًا من `Attempt to read after eof` (`ATTEMPT_TO_READ_AFTER_EOF`). [#29229](https://github.com/ClickHouse/ClickHouse/pull/29229) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح segfault أثناء الإدراج في عمود من النوع LowCardinality(Nullable) في تنسيق الإدخال Avro. [#29132](https://github.com/ClickHouse/ClickHouse/pull/29132) ([Kruglov Pavel](https://github.com/Avogar)).
* عدم السماح بإعادة استخدام بيانات الاعتماد السابقة في حالة inter-server secret (قبل INSERT عبر Buffer/Kafka إلى جدول Distributed مع تهيئة inter-server secret لذلك cluster، قد يُعاد استخدام المستخدم الذي ضُبط سابقًا لذلك connection). [#29060](https://github.com/ClickHouse/ClickHouse/pull/29060) ([Azat Khuzhin](https://github.com/azat)).
* التعامل مع `any_join_distinct_right_table_keys` عند إجراء join مع Dictionary، وإغلاق [#29007](https://github.com/ClickHouse/ClickHouse/issues/29007). [#29014](https://github.com/ClickHouse/ClickHouse/pull/29014) ([Vladimir C](https://github.com/vdimir)).
* إصلاح الخطأ "Not found column ... in block" عند إجراء join على عمود alias، وإغلاق [#26980](https://github.com/ClickHouse/ClickHouse/issues/26980). [#29008](https://github.com/ClickHouse/ClickHouse/pull/29008) ([Vladimir C](https://github.com/vdimir)).
* إصلاح عدد الخيوط المستخدمة في الاستعلام الفرعي `GLOBAL IN` (إذ كان يُنفَّذ بخيط واحد منذ إصلاح الخطأ [#19414](https://github.com/ClickHouse/ClickHouse/issues/19414)). [#28997](https://github.com/ClickHouse/ClickHouse/pull/28997) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح التحسينات غير الصحيحة في ORDER BY إذا كان يتضمن WITH FILL. يُغلق هذا [#28908](https://github.com/ClickHouse/ClickHouse/issues/28908). ويُغلق أيضًا [#26049](https://github.com/ClickHouse/ClickHouse/issues/26049). [#28910](https://github.com/ClickHouse/ClickHouse/pull/28910) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح دوال المصفوفات عالية الرتبة (`SIGSEGV` لـ `arrayCompact`/`ILLEGAL_COLUMN` لـ `arrayDifference`/`arrayCumSumNonNegative`) عند استخدام الثوابت. [#28904](https://github.com/ClickHouse/ClickHouse/pull/28904) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح انتظار mutation مع `mutations_sync=2`. [#28889](https://github.com/ClickHouse/ClickHouse/pull/28889) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الاستعلامات إلى قواعد البيانات الخارجية (مثل MySQL) عند استخدام أعمدة متعددة في IN (مثل `(k,v) IN ((1, 2))`). [#28888](https://github.com/ClickHouse/ClickHouse/pull/28888) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح خلل في `LowCardinality` عند التقييم المختصر للدوال. إغلاق [#28884](https://github.com/ClickHouse/ClickHouse/issues/28884). [#28887](https://github.com/ClickHouse/ClickHouse/pull/28887) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح قراءة الأعمدة الفرعية من الأجزاء المدمجة. [#28873](https://github.com/ClickHouse/ClickHouse/pull/28873) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح حالة تسابق بين `DROP PART` و `REPLACE/MOVE PARTITION` قد تتسبب، في حالات نادرة، في تباعد النسخ المتماثلة. [#28864](https://github.com/ClickHouse/ClickHouse/pull/28864) ([tavplubix](https://github.com/tavplubix)).
* إصلاح تجميع التعبيرات مع التقييم المختصر. [#28821](https://github.com/ClickHouse/ClickHouse/pull/28821) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح حالة نادرة للغاية قد تتباعد فيها نسخ ReplicatedMergeTree المتماثلة بعد إعادة تشغيل قسرية لكل النسخ المتماثلة. يبدو الخطأ كما يلي: `Part ... intersects (previous|next) part ...`. [#28817](https://github.com/ClickHouse/ClickHouse/pull/28817) ([alesapin](https://github.com/alesapin)).
* تحسين التحقق من صلاحية الاتصال للاستخدام، وكذلك التقاط أي استثناء عند إيقاف `RabbitMQ` احتياطًا. [#28797](https://github.com/ClickHouse/ClickHouse/pull/28797) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح حالة تسابق غير مؤثرة في ReplicatedMergeTreeQueue. لا ينبغي أن تكون مرئية للمستخدم، لكنها قد تؤدي إلى أخطاء دقيقة. [#28734](https://github.com/ClickHouse/ClickHouse/pull/28734) ([alesapin](https://github.com/alesapin)).
* إصلاح احتمال حدوث تعطل في `SELECT` مع إسقاط تجميعي مُنشأ جزئيًا في حال وقوع استثناء. [#28700](https://github.com/ClickHouse/ClickHouse/pull/28700) ([Amos Bird](https://github.com/amosbird)).
* إصلاح حدوث coredump عند إنشاء الجداول الموزعة عندما تكون المعلمات المُمرَّرة غير صحيحة. [#28686](https://github.com/ClickHouse/ClickHouse/pull/28686) ([Zhiyong Wang](https://github.com/ljcui)).
* إضافة اسمين مستعارين لـ Settings.Names و Settings.Values في جدول system.processes. [#28685](https://github.com/ClickHouse/ClickHouse/pull/28685) ([Vitaly](https://github.com/orloffv)).
* دعم مكتبة S2 Geometry: إصلاح عدد الوسائط المطلوبة للدالتين `s2RectAdd` و `s2RectContains`. [#28663](https://github.com/ClickHouse/ClickHouse/pull/28663) ([Bharat Nallan](https://github.com/bharatnc)).
* إصلاح تحويل غير صالح لنوع الثابت عند استخدام مفتاح أساسي من نوع Nullable أو LowCardinality. [#28636](https://github.com/ClickHouse/ClickHouse/pull/28636) ([Amos Bird](https://github.com/amosbird)).
* إصلاح "Column is not under aggregate function and not in GROUP BY" مع PREWHERE (إصلاح: [#28461](https://github.com/ClickHouse/ClickHouse/issues/28461)). [#28502](https://github.com/ClickHouse/ClickHouse/pull/28502) ([Azat Khuzhin](https://github.com/azat)).

<div id="clickhouse-release-v2110-2021-10-16">
  ### إصدار ClickHouse ‏v21.10، 2021-10-16. [عرض تقديمي](https://presentations.clickhouse.com/2021-release-21.10/)، [فيديو](https://www.youtube.com/watch?v=b9MeoOtAivQ)
</div>

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

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

* لم تعد إعدادات MergeTree التالية على مستوى الجدول: `replicated_max_parallel_sends` و`replicated_max_parallel_sends_for_table` و`replicated_max_parallel_fetches` و`replicated_max_parallel_fetches_for_table` تؤدي أي وظيفة الآن. فهي لم تعمل جيدًا مطلقًا، واستُبدلت بـ `max_replicated_fetches_network_bandwidth` و`max_replicated_sends_network_bandwidth` و`background_fetches_pool_size`. [#28404](https://github.com/ClickHouse/ClickHouse/pull/28404) ([alesapin](https://github.com/alesapin)).

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

* إضافة ميزة لإنشاء وظائف معرّفة من قبل المستخدم (UDF) كتعبيرات لامبدا. الصياغة: `CREATE FUNCTION {function_name} as ({parameters}) -> {function core}`. مثال: `CREATE FUNCTION plus_one as (a) -> a + 1`. المؤلفون @Realist007. [#27796](https://github.com/ClickHouse/ClickHouse/pull/27796) ([Maksim Kita](https://github.com/kitaisreal)) [#23978](https://github.com/ClickHouse/ClickHouse/pull/23978) ([Realist007](https://github.com/Realist007)).
* تمت إضافة محرك التخزين `Executable` ودالة الجدول `executable`. يتيح ذلك معالجة البيانات باستخدام سكربتات خارجية بأسلوب متدفق. [#28102](https://github.com/ClickHouse/ClickHouse/pull/28102) ([Maksim Kita](https://github.com/kitaisreal)) ([ruct](https://github.com/ruct)).
* تمت إضافة محرك التخزين `ExecutablePool`. وهو مشابه لـ `Executable`، لكنه يستخدم مجموعة من العمليات طويلة التشغيل. [#28518](https://github.com/ClickHouse/ClickHouse/pull/28518) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة استعلام `ALTER TABLE ... MATERIALIZE COLUMN`. [#27038](https://github.com/ClickHouse/ClickHouse/pull/27038) ([Vladimir Chebotarev](https://github.com/excitoon)).
* دعم الكتابة المقسّمة إلى أقسام في دالة الجدول `s3`. [#23051](https://github.com/ClickHouse/ClickHouse/pull/23051) ([Vladimir Chebotarev](https://github.com/excitoon)).
* دعم تنسيق الضغط `lz4` (بالإضافة إلى `gz` و`bz2` و`xz` و`zstd`) لاستيراد البيانات وتصديرها. [#25310](https://github.com/ClickHouse/ClickHouse/pull/25310) ([Bharat Nallan](https://github.com/bharatnc)).
* السماح بالوسيطات الموضعية ضمن الإعداد `enable_positional_arguments`. يُغلق هذا [#2592](https://github.com/ClickHouse/ClickHouse/issues/2592). [#27530](https://github.com/ClickHouse/ClickHouse/pull/27530) ([Kseniia Sumarokova](https://github.com/kssenii)).
* قبول إعدادات المستخدم المرتبطة بتنسيقات الملفات في عبارة `SETTINGS` ضمن استعلام `CREATE` لجداول s3. يُغلق هذا [#27580](https://github.com/ClickHouse/ClickHouse/issues/27580). [#28037](https://github.com/ClickHouse/ClickHouse/pull/28037) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* السماح باتصال SSL لمحرك `RabbitMQ`. [#28365](https://github.com/ClickHouse/ClickHouse/pull/28365) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة الدالة `getServerPort` لإتاحة الحصول على منفذ الخادم. وعندما لا يكون المنفذ مستخدمًا من قِبل الخادم، يتم رفع استثناء. [#27900](https://github.com/ClickHouse/ClickHouse/pull/27900) ([Amos Bird](https://github.com/amosbird)).
* إضافة دوال تحويل بين "Snowflake ID" و`DateTime` و`DateTime64`. راجع [#27058](https://github.com/ClickHouse/ClickHouse/issues/27058). [#27704](https://github.com/ClickHouse/ClickHouse/pull/27704) ([jasine](https://github.com/jasine)).
* إضافة الدالة `SHA512`. [#27830](https://github.com/ClickHouse/ClickHouse/pull/27830) ([zhanglistar](https://github.com/zhanglistar)).
* إضافة الإعداد `log_queries_probability` الذي يتيح للمستخدم الكتابة إلى `query_log` لعينة فقط من الاستعلامات. يُغلق هذا [#16609](https://github.com/ClickHouse/ClickHouse/issues/16609). [#27527](https://github.com/ClickHouse/ClickHouse/pull/27527) ([Nikolay Degterinsky](https://github.com/evillique)).

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

* نوع الأقراص `web` لتخزين الجداول للقراءة فقط على خادم ويب على هيئة ملفات ثابتة. انظر [#23982](https://github.com/ClickHouse/ClickHouse/issues/23982). [#25251](https://github.com/ClickHouse/ClickHouse/pull/25251) ([Kseniia Sumarokova](https://github.com/kssenii)). يلزم هذا بشكل أساسي لتسهيل اختبار التشغيل على التخزين المشترك، وكذلك للاستيراد السهل لمجموعات البيانات. لا يُنصح باستخدامه قبل الإصدار 21.11.
* أُضيفت الأوامر الجديدة `BACKUP` و `RESTORE`. [#21945](https://github.com/ClickHouse/ClickHouse/pull/21945) ([Vitaly Baranov](https://github.com/vitlibar)). لا تزال هذه الميزة قيد التطوير وليست مخصّصة للاستخدام في الإصدار الحالي.

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

* تسريع دوال التجميع `sumIf` و`countIf`. [#28272](https://github.com/ClickHouse/ClickHouse/pull/28272) ([Raúl Marín](https://github.com/Algunenano)).
* إنشاء إسقاط افتراضي لفهارس `minmax`. والآن، عند تمكين `allow_experimental_projection_optimization`، ستستخدم الاستعلامات فهرس minmax بدلًا من قراءة البيانات متى أمكن ذلك. [#26286](https://github.com/ClickHouse/ClickHouse/pull/26286) ([Amos Bird](https://github.com/amosbird)).
* إضافة عمليتي تحقّق في `sequenceMatch` و`sequenceCount` تتيحان الخروج المبكر عندما يكون جزء حتمي من نمط التسلسل مفقودًا من قائمة الأحداث. يتيح هذا التغيير تنفيذ العديد من الاستعلامات التي كانت تفشل سابقًا بسبب بلوغ حد العمليات، كما يسرّع خط المعالجة عمومًا. [#27729](https://github.com/ClickHouse/ClickHouse/pull/27729) ([Jakub Kuklis](https://github.com/jkuklis)).
* تحسين تحليل المفتاح الأساسي بمعلومات الرتابة الدائمة للدوال الثنائية، ولا سيما القسمة على ثابت غير صفري. [#28302](https://github.com/ClickHouse/ClickHouse/pull/28302) ([Amos Bird](https://github.com/amosbird)).
* جعل شرط التصفية في `hasAll` يستفيد من فهارس bloom filter لتخطي البيانات. [#27984](https://github.com/ClickHouse/ClickHouse/pull/27984) ([Braulio Valdivielso Martínez](https://github.com/BraulioVM)).
* تسريع تحميل أجزاء البيانات من خلال تأخير عملية بدء تشغيل الجدول. [#28313](https://github.com/ClickHouse/ClickHouse/pull/28313) ([Amos Bird](https://github.com/amosbird)).
* إصلاح احتمال نقل عدد مفرط من الشروط من `WHERE` إلى `PREWHERE` (تحسين يتحكم فيه الإعداد `optimize_move_to_prewhere`). [#28139](https://github.com/ClickHouse/ClickHouse/pull/28139) ([lthaooo](https://github.com/lthaooo)).
* تمكين `optimize_distributed_group_by_sharding_key` افتراضيًا. [#28105](https://github.com/ClickHouse/ClickHouse/pull/28105) ([Azat Khuzhin](https://github.com/azat)).

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

* التحقّق من اسم العنقود قبل إنشاء جدول `Distributed`، وعدم السماح بإنشاء جدول باسم عنقود غير صحيح. يُصلح [#27832](https://github.com/ClickHouse/ClickHouse/issues/27832). [#27927](https://github.com/ClickHouse/ClickHouse/pull/27927) ([tavplubix](https://github.com/tavplubix)).
* إضافة الدالة التجميعية `quantileBFloat16Weighted` على غرار دوال quantile...Weighted الأخرى. هذا يُغلق [#27745](https://github.com/ClickHouse/ClickHouse/issues/27745). [#27758](https://github.com/ClickHouse/ClickHouse/pull/27758) ([Ivan Novitskiy](https://github.com/RedClusive)).
* السماح بإنشاء القواميس مع قائمة attributes فارغة. [#27905](https://github.com/ClickHouse/ClickHouse/pull/27905) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة توثيق تفاعلي في `clickhouse-client` يوضّح كيفية إعادة تعيين كلمة المرور. وهذا مفيد في الحالات التي يثبّت فيها المستخدم ClickHouse ويضبط كلمة المرور ثم ينساها فورًا. انظر [#27750](https://github.com/ClickHouse/ClickHouse/issues/27750). [#27903](https://github.com/ClickHouse/ClickHouse/pull/27903) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* دعم الحالة التي تكون فيها البيانات محاطة بمصفوفة في input format `JSONAsString`. يُغلق [#25517](https://github.com/ClickHouse/ClickHouse/issues/25517). [#25633](https://github.com/ClickHouse/ClickHouse/pull/25633) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة column جديدة باسم `last_queue_update_exception` إلى جدول `system.replicas`. [#26843](https://github.com/ClickHouse/ClickHouse/pull/26843) ([nvartolomei](https://github.com/nvartolomei)).
* دعم إعادة الاتصال عند حدوث failover لجداول `MaterializedPostgreSQL`. يُغلق [#28529](https://github.com/ClickHouse/ClickHouse/issues/28529). [#28614](https://github.com/ClickHouse/ClickHouse/pull/28614) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إنشاء UUID فريد للخادم عند أول تشغيل له. [#20089](https://github.com/ClickHouse/ClickHouse/pull/20089) ([Bharat Nallan](https://github.com/bharatnc)).
* تقديم الإعداد `connection_wait_timeout` (القيمة الافتراضية 5 ثوانٍ، و0 يعني عدم الانتظار) لمحرك `MySQL`. [#28474](https://github.com/ClickHouse/ClickHouse/pull/28474) ([Azat Khuzhin](https://github.com/azat)).
* عدم السماح بإنشاء `MaterializedPostgreSQL` باستخدام arguments غير صالحة. يُغلق [#28423](https://github.com/ClickHouse/ClickHouse/issues/28423). [#28430](https://github.com/ClickHouse/ClickHouse/pull/28430) ([Kseniia Sumarokova](https://github.com/kssenii)).
* استخدام ملف tmp فعلي بدلًا من "rows\_sources" المحدد مسبقًا في عمليات vertical merges. وهذا يمنع إنشاء أدلة غير ضرورية في أقراص tmp. [#28299](https://github.com/ClickHouse/ClickHouse/pull/28299) ([Amos Bird](https://github.com/amosbird)).
* إضافة `libhdfs3_conf` إلى config الخادم بدلًا من تصدير متغير البيئة `LIBHDFS3_CONF` في clickhouse-server.service. وهذا مخصّص لتهيئة التفاعل مع HDFS. [#28268](https://github.com/ClickHouse/ClickHouse/pull/28268) ([Zhichang Yu](https://github.com/yuzhichang)).
* إصلاح إزالة parts في حالة Temporary، وهو ما قد يؤدي إلى استثناء غير متوقع (`Part %name% doesn't exist`). يُصلح [#23661](https://github.com/ClickHouse/ClickHouse/issues/23661). [#28221](https://github.com/ClickHouse/ClickHouse/pull/28221) [#28221](https://github.com/ClickHouse/ClickHouse/issues/28221)) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح `zookeeper_log.address` (قبل أول patch في طلب السحب هذا كان العنوان دائمًا `::`) وتقليل عدد مرات استدعاء `getpeername(2)` لهذا العمود (إذ كان `getpeername()` يُستدعى في كل مرة يُضاف فيها سجل إلى `zookeeper_log`، لذلك أصبح هذا العنوان يُخزَّن مؤقتًا في عميل zookeeper لتجنّب ذلك). [#28212](https://github.com/ClickHouse/ClickHouse/pull/28212) ([Azat Khuzhin](https://github.com/azat)).
* دعم التحويلات الضمنية بين الفهرس في العامل `[]` والمفتاح من النوع `Map` (مثل أنواع `Int` المختلفة، و`String` و`FixedString`). [#28096](https://github.com/ClickHouse/ClickHouse/pull/28096) ([Anton Popov](https://github.com/CurtizJ)).
* دعم العبارة `ON CONFLICT` عند الإدراج في PostgreSQL table engine أو table function. يُغلق [#27727](https://github.com/ClickHouse/ClickHouse/issues/27727). [#28081](https://github.com/ClickHouse/ClickHouse/pull/28081) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تخفيف القيود على نوع البيانات `Enum` للسماح بإلحاق بيانات متوافقة. يُغلق [#26672](https://github.com/ClickHouse/ClickHouse/issues/26672). [#28028](https://github.com/ClickHouse/ClickHouse/pull/28028) ([Dmitry Novik](https://github.com/novikd)).
* إضافة الإعداد `empty_result_for_aggregation_by_constant_keys_on_empty_set` للتحكم في سلوك التجميع حسب مفاتيح ثابتة على مجموعة فارغة. وذلك لاستعادة السلوك القديم في [#6842](https://github.com/ClickHouse/ClickHouse/issues/6842). [#27932](https://github.com/ClickHouse/ClickHouse/pull/27932) ([Amos Bird](https://github.com/amosbird)).
* تمت إضافة الإعداد `replication_wait_for_inactive_replica_timeout`. ويتيح هذا الإعداد تحديد مدة انتظار النُسخ المتماثلة غير النشطة لتنفيذ استعلام `ALTER`/`OPTIMZE`/`TRUNCATE` (القيمة الافتراضية هي 120 ثانية). إذا كانت `replication_alter_partitions_sync` تساوي 2 وكانت بعض النُسخ المتماثلة غير نشطة لأكثر من `replication_wait_for_inactive_replica_timeout` ثانية، فسيتم إطلاق `UNFINISHED`. [#27931](https://github.com/ClickHouse/ClickHouse/pull/27931) ([tavplubix](https://github.com/tavplubix)).
* دعم وسيطة lambda لمحوّل الأعمدة `APPLY`، ما يتيح تطبيق دوال لها أكثر من وسيطة واحدة. هذا متعلق بـ [#27877](https://github.com/ClickHouse/ClickHouse/issues/27877). [#27901](https://github.com/ClickHouse/ClickHouse/pull/27901) ([Amos Bird](https://github.com/amosbird)).
* تفعيل `tcp_keep_alive_timeout` افتراضيًا. [#27882](https://github.com/ClickHouse/ClickHouse/pull/27882) ([Azat Khuzhin](https://github.com/azat)).
* تحسين إلغاء الاستعلامات البعيدة (في حال توقّف الخادم البعيد بشكل غير طبيعي). [#27881](https://github.com/ClickHouse/ClickHouse/pull/27881) ([Azat Khuzhin](https://github.com/azat)).
* استخدام الرفع عبر النسخ متعدد الأجزاء لكائنات S3 الكبيرة. [#27858](https://github.com/ClickHouse/ClickHouse/pull/27858) ([ianton-ru](https://github.com/ianton-ru)).
* السماح باجتياز الروابط الرمزية في مسار قاموس المكتبة. [#27815](https://github.com/ClickHouse/ClickHouse/pull/27815) ([Kseniia Sumarokova](https://github.com/kssenii)).
* الآن لا يتطلب `ALTER MODIFY COLUM` `T` إلى `Nullable(T)` أي mutation. [#27787](https://github.com/ClickHouse/ClickHouse/pull/27787) ([victorgao](https://github.com/kafka1991)).
* عدم تجاهل الأخطاء بصمت، وعدم احتساب التأخيرات في `ReadBufferFromS3`. [#27484](https://github.com/ClickHouse/ClickHouse/pull/27484) ([Vladimir Chebotarev](https://github.com/excitoon)).
* تحسين `ALTER ... MATERIALIZE TTL` عبر إعادة حساب metadata فقط، من دون تنفيذ إجراء TTL فعلي. [#27019](https://github.com/ClickHouse/ClickHouse/pull/27019) ([lthaooo](https://github.com/lthaooo)).
* السماح بقراءة قائمة نطاقات المستوى الأعلى المخصّصة من دون سطر جديد عند نهاية الملف. [#28213](https://github.com/ClickHouse/ClickHouse/pull/28213) ([Azat Khuzhin](https://github.com/azat)).

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

* إصلاح الحالات التي تفشل فيها قراءة البيانات المضغوطة من `carbon-clickhouse` مع ظهور الخطأ 'attempt to read after end of file'. يغلق [#26149](https://github.com/ClickHouse/ClickHouse/issues/26149). [#28150](https://github.com/ClickHouse/ClickHouse/pull/28150) ([FArthur-cmd](https://github.com/FArthur-cmd)).
* إصلاح التحقق من امتيازات الوصول عند تنفيذ عبارة `GRANT WITH REPLACE` مع البند `ON CLUSTER`. يحسّن طلب السحب هذا الإصلاح الوارد في [#27001](https://github.com/ClickHouse/ClickHouse/pull/27701). [#27983](https://github.com/ClickHouse/ClickHouse/pull/27983) ([Vitaly Baranov](https://github.com/vitlibar)).
* السماح بالتحديد مع `extremes = 1` من عمود من النوع `LowCardinality(UUID)`. [#27918](https://github.com/ClickHouse/ClickHouse/pull/27918) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح CAST بأسلوب PostgreSQL (المعامل `::`) مع الأرقام السالبة. [#27876](https://github.com/ClickHouse/ClickHouse/pull/27876) ([Anton Popov](https://github.com/CurtizJ)).
* بعد [#26864](https://github.com/ClickHouse/ClickHouse/pull/26864). إصلاح إيقاف `NamedSessionStorage`: أصبحت سياقات الجلسات المخزنة في `NamedSessionStorage` تُدمَّر الآن قبل تدمير الـ Context العام. [#27875](https://github.com/ClickHouse/ClickHouse/pull/27875) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح خلل في الوضع "strict" في `windowFunnel`. يُصلح هذا [#27469](https://github.com/ClickHouse/ClickHouse/issues/27469). [#27563](https://github.com/ClickHouse/ClickHouse/pull/27563) ([achimbab](https://github.com/achimbab)).
* إصلاح حلقة لا نهائية أثناء قراءة أرشيف `bzip2` مبتور. [#28543](https://github.com/ClickHouse/ClickHouse/pull/28543) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تداخل UUID في `DROP TABLE` الخاص بـ DDL الداخلي من `MaterializedMySQL`. ‏MaterializedMySQL ميزة تجريبية. [#28533](https://github.com/ClickHouse/ClickHouse/pull/28533) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الخطأ `There is no subcolumn` عند التحديد من جداول تحتوي على أعمدة من النوع `Nested` وأعمدة scalar تتضمن أسماؤها نقطة ولها البادئة نفسها مثل `Nested` (على سبيل المثال `n.id UInt32, n.arr1 Array(UInt64), n.arr2 Array(UInt64)`). [#28531](https://github.com/ClickHouse/ClickHouse/pull/28531) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح خلل قد يؤدي إلى الخطأ `Existing table metadata in ZooKeeper differs in sorting key expression.` بعد تنفيذ ALTER على `ReplicatedVersionedCollapsingMergeTree`. يُصلح [#28515](https://github.com/ClickHouse/ClickHouse/issues/28515). [#28528](https://github.com/ClickHouse/ClickHouse/pull/28528) ([alesapin](https://github.com/alesapin)).
* إصلاح احتمال تسرّب watches في ZooKeeper (مشكلة طفيفة) أثناء المعالجة الخلفية لـ distributed DDL queue. يغلق [#26036](https://github.com/ClickHouse/ClickHouse/issues/26036). [#28446](https://github.com/ClickHouse/ClickHouse/pull/28446) ([tavplubix](https://github.com/tavplubix)).
* إصلاح غياب وضع علامات الاقتباس حول أسماء الجداول في engine ‏`MaterializedPostgreSQL`. يغلق [#28316](https://github.com/ClickHouse/ClickHouse/issues/28316). [#28433](https://github.com/ClickHouse/ClickHouse/pull/28433) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح السلوك غير الصحيح للصفوف غير المنضمّة من عمود من النوع Nullable. يغلق [#27691](https://github.com/ClickHouse/ClickHouse/issues/27691). [#28349](https://github.com/ClickHouse/ClickHouse/pull/28349) ([vdimir](https://github.com/vdimir)).
* إصلاح تحسين فهرس NOT-IN عندما لا تُستخدم كل أعمدة المفتاح. يُصلح هذا [#28120](https://github.com/ClickHouse/ClickHouse/issues/28120). [#28315](https://github.com/ClickHouse/ClickHouse/pull/28315) ([Amos Bird](https://github.com/amosbird)).
* إصلاح الأجزاء المتقاطعة الناتجة عن استبدال الجزء الجديد بجزء فارغ. [#28310](https://github.com/ClickHouse/ClickHouse/pull/28310) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح النتائج غير المتسقة في الاستعلامات التي تستخدم `ORDER BY` وجداول `Merge` مع تمكين الإعداد `optimize_read_in_order`. [#28266](https://github.com/ClickHouse/ClickHouse/pull/28266) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح احتمال قراءة ذاكرة غير مهيأة في الاستعلامات ذات النوع `Nullable(LowCardinality)` عند ضبط الإعداد `extremes` على 1. يُصلح هذا [#28165](https://github.com/ClickHouse/ClickHouse/issues/28165). [#28205](https://github.com/ClickHouse/ClickHouse/pull/28205) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* عدة إصلاحات صغيرة للإسقاطات. راجع الوصف التفصيلي في طلب السحب. [#28178](https://github.com/ClickHouse/ClickHouse/pull/28178) ([Amos Bird](https://github.com/amosbird)).
* إصلاح أعطال `segfault` نادرة للغاية عند الإيقاف بسبب ترتيب غير صحيح لإيقاف مُعيد تحميل السياق/التهيئة. [#28088](https://github.com/ClickHouse/ClickHouse/pull/28088) ([nvartolomei](https://github.com/nvartolomei)).
* إصلاح التعامل مع القيمة NULL من النوع `Nullable(String)` في الدالة `JSONExtract`. يُصلح هذا [#27929](https://github.com/ClickHouse/ClickHouse/issues/27929) و[#27930](https://github.com/ClickHouse/ClickHouse/issues/27930). أُدخل هذا التغيير في [https://github.com/ClickHouse/ClickHouse/pull/25452](https://github.com/ClickHouse/ClickHouse/pull/25452) . [#27939](https://github.com/ClickHouse/ClickHouse/pull/27939) ([Amos Bird](https://github.com/amosbird)).
* عدة إصلاحات للأداة الجديدة `clickhouse-keeper`. إصلاح خطأ نادر في `clickhouse-keeper` قد يتلقى فيه العميل استجابة watch قبل اكتمال request-response. [#28197](https://github.com/ClickHouse/ClickHouse/pull/28197) ([alesapin](https://github.com/alesapin)). إصلاح سلوك غير صحيح في `clickhouse-keeper` عند تشغيل list watches (`getChildren`) بواسطة طلبات `set` للعناصر الفرعية. [#28190](https://github.com/ClickHouse/ClickHouse/pull/28190) ([alesapin](https://github.com/alesapin)). إصلاح حالة نادرة قد تؤدي فيها تغييرات إعدادات `clickhouse-keeper` إلى فقدان السجلات وتعليق الخادم. [#28360](https://github.com/ClickHouse/ClickHouse/pull/28360) ([alesapin](https://github.com/alesapin)). إصلاح خطأ في `clickhouse-keeper` قد يؤدي إلى سجلات لا نهائية عند تقليل `rotate_logs_interval`. [#28152](https://github.com/ClickHouse/ClickHouse/pull/28152) ([alesapin](https://github.com/alesapin)).

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

* تمكين Thread Fuzzer في اختبار الإجهاد. وThread Fuzzer هي ميزة في ClickHouse تتيح اختبار عدد أكبر من احتمالات جدولة الخيوط واكتشاف المزيد من المشكلات المحتملة. يؤدي هذا إلى إغلاق [#9813](https://github.com/ClickHouse/ClickHouse/issues/9813). يؤدي هذا إلى إغلاق [#9814](https://github.com/ClickHouse/ClickHouse/issues/9814). يؤدي هذا إلى إغلاق [#9515](https://github.com/ClickHouse/ClickHouse/issues/9515). يؤدي هذا إلى إغلاق [#9516](https://github.com/ClickHouse/ClickHouse/issues/9516). [#27538](https://github.com/ClickHouse/ClickHouse/pull/27538) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة مستوى سجل جديد `test` لبيئات الاختبار. وهو أكثر إسهابًا حتى من `trace` الافتراضي. [#28559](https://github.com/ClickHouse/ClickHouse/pull/28559) ([alesapin](https://github.com/alesapin)).
* طباعة معلومات حالة git في مرحلة تهيئة CMake. [#28047](https://github.com/ClickHouse/ClickHouse/pull/28047) ([Braulio Valdivielso Martínez](https://github.com/BraulioVM)).
* التبديل مؤقتًا في مستودع apt الخاص بـ Ubuntu إلى المرآة ru.archive.ubuntu.com لأن المستودع الافتراضي (archive.ubuntu.com) لا يستجيب من بيئة CI الخاصة بنا. [#28016](https://github.com/ClickHouse/ClickHouse/pull/28016) ([Ilya Yatsishin](https://github.com/qoega)).

<div id="clickhouse-release-v219-2021-09-09">
  ### إصدار ClickHouse v21.9، بتاريخ 2021-09-09
</div>

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

* لم يعد يتم إخراج الأصفار اللاحقة في التمثيل النصي لأنواع `Decimal`. مثال: ستُطبع `1.23` بدلًا من `1.230000` لقيمة decimal ذات scale مقداره 6. يُغلق هذا [#15794](https://github.com/ClickHouse/ClickHouse/issues/15794). وقد يؤدي ذلك إلى قدر طفيف من عدم التوافق إذا كانت تطبيقاتك تعتمد بشكل ما على الأصفار اللاحقة. يمكن التحكم في التسلسل في تنسيقات الإخراج عبر الإعداد `output_format_decimal_trailing_zeros`. كما تغير تنفيذ `toString` والتحويل إلى String بشكل غير مشروط. [#27680](https://github.com/ClickHouse/ClickHouse/pull/27680) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* لم يعد مسموحًا بتطبيق دالة تجميع وسيطية مع المُركِّب `-Merge` على حالة دالة تجميع إذا كانت هذه الحالة قد أُنتجت بواسطة دالة تجميع ذات معاملات مختلفة. على سبيل المثال، لا يمكن إنهاء حالة `fooState(42)(x)` باستخدام `fooMerge(s)` أو `fooMerge(123)(s)`؛ بل يجب تحديد المعاملات صراحةً مثل `fooMerge(42)(s)`، ويجب أن تكون متطابقة. لا يؤثر هذا في بعض دوال التجميع الخاصة مثل `quantile` و`sequence*` التي تستخدم المعاملات لأغراض الإنهاء فقط. [#26847](https://github.com/ClickHouse/ClickHouse/pull/26847) ([tavplubix](https://github.com/tavplubix)).
* في clickhouse-local، تُعامل العناوين المحلية التي تتضمن منفذًا دائمًا على أنها عناوين بعيدة. [#26736](https://github.com/ClickHouse/ClickHouse/pull/26736) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح مشكلة كان قد يحدث فيها CAST غير صحيح في بعض الاستعلامات المعقدة التي تحتوي على aliases للأعمدة مطابقة لأسماء expressions. يُصلح هذا [#25447](https://github.com/ClickHouse/ClickHouse/issues/25447). ويُصلح أيضًا [#26914](https://github.com/ClickHouse/ClickHouse/issues/26914). وقد يؤدي هذا الإصلاح إلى عدم توافق مع الإصدارات السابقة: إذا وُجدت expressions مختلفة تحمل الأسماء نفسها، فسيتم طرح exception. وقد يؤدي ذلك إلى تعطيل بعض الحالات النادرة عند ضبط `enable_optimize_predicate_expression`. [#26639](https://github.com/ClickHouse/ClickHouse/pull/26639) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* الآن، يعيد scalar subquery دائمًا نتيجة `Nullable` إذا كان نوعه يمكن أن يكون `Nullable`. وهذا مطلوب لأن النتيجة في حالة subquery فارغ يجب أن تكون `Null`. في السابق، كان من الممكن ظهور خطأ بشأن أنواع غير متوافقة (إذ إن استنتاج النوع لا ينفذ scalar subquery، وقد يستخدم نوعًا غير قابل لأن يكون null). أما scalar subquery ذو النتيجة الفارغة الذي لا يمكن تحويله إلى `Nullable` (مثل `Array` أو `Tuple`) فيطرح الآن خطأ. يُصلح هذا [#25411](https://github.com/ClickHouse/ClickHouse/issues/25411). [#26423](https://github.com/ClickHouse/ClickHouse/pull/26423) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* أُضيف بناء نحوي لمستندات here. مثال: `SELECT $doc$ VALUE $doc$`. [#26671](https://github.com/ClickHouse/ClickHouse/pull/26671) ([Maksim Kita](https://github.com/kitaisreal)). يكون هذا التغيير غير متوافق مع الإصدارات السابقة إذا كانت هناك في الاستعلام معرّفات تحتوي على `$` [#28768](https://github.com/ClickHouse/ClickHouse/issues/28768).
* يمكن للفهارس الآن التعامل مع أنواع Nullable، بما في ذلك `isNull` و`isNotNull`. [#12433](https://github.com/ClickHouse/ClickHouse/pull/12433) و[#12455](https://github.com/ClickHouse/ClickHouse/pull/12455) ([Amos Bird](https://github.com/amosbird)) و[#27250](https://github.com/ClickHouse/ClickHouse/pull/27250) ([Azat Khuzhin](https://github.com/azat)). لكن هذا أُنجز مع تغييرات في تنسيق التخزين على القرص، ولذلك، رغم أن الخادم الجديد يستطيع قراءة البيانات القديمة، فإن الخادم القديم لا يستطيع ذلك. كذلك، إذا كانت لديك فهارس `MINMAX` لتخطي البيانات، فقد يظهر الخطأ `Data after mutation/merge is not byte-identical`، لأن الفهرس الجديد سيستخدم الامتداد `.idx2` بينما كان سابقًا `.idx`. لذلك، ينبغي ألا تؤخر تحديث جميع النسخ المتماثلة الحالية في هذه الحالة؛ وإلا، فإذا قامت نسخة متماثلة قديمة (\<21.9) بتنزيل البيانات من نسخة متماثلة جديدة بإصدار 21.9+ فلن تتمكن من تطبيق الفهرس على الجزء الذي تم تنزيله.

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

* تنفيذ التقييم القصير للدوال، ويغلق [#12587](https://github.com/ClickHouse/ClickHouse/issues/12587). تمت إضافة الإعداد `short_circuit_function_evaluation` لتهيئة التقييم القصير للدوال. [#23367](https://github.com/ClickHouse/ClickHouse/pull/23367) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة دعم لعوامل INTERSECT و EXCEPT و ANY و ALL. [#24757](https://github.com/ClickHouse/ClickHouse/pull/24757) ([Kirill Ershov](https://github.com/zdikov)). ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة دعم للتشفير على مستوى نظام الملفات الافتراضي (تشفير البيانات أثناء التخزين) باستخدام خوارزمية AES-CTR. [#24206](https://github.com/ClickHouse/ClickHouse/pull/24206) ([Latysheva Alexandra](https://github.com/alexelex)). ([Vitaly Baranov](https://github.com/vitlibar)) [#26733](https://github.com/ClickHouse/ClickHouse/pull/26733) [#26377](https://github.com/ClickHouse/ClickHouse/pull/26377) [#26465](https://github.com/ClickHouse/ClickHouse/pull/26465).
* أُضيفت دوال معالجة اللغة الطبيعية (NLP) للتجزئة، واستخراج الجذور، والاختزال إلى الصيغة الأساسية، والبحث في امتدادات المرادفات. [#24997](https://github.com/ClickHouse/ClickHouse/pull/24997) ([Nikolay Degterinsky](https://github.com/evillique)).
* أُضيف تكامل مع مكتبة S2 Geometry. [#24980](https://github.com/ClickHouse/ClickHouse/pull/24980) ([Andr0901](https://github.com/Andr0901)). ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إضافة محرك جدول SQLite، ودالة جدول، ومحرك قاعدة بيانات. [#24194](https://github.com/ClickHouse/ClickHouse/pull/24194) ([Arslan Gumerov](https://github.com/g-arslan)). ([Kseniia Sumarokova](https://github.com/kssenii)).
* أُضيف دعم للاستعلامات المخصصة لمصدر القاموس `MySQL` و `PostgreSQL` و `ClickHouse` و `JDBC` و `Cassandra`. يغلق [#1270](https://github.com/ClickHouse/ClickHouse/issues/1270). [#26995](https://github.com/ClickHouse/ClickHouse/pull/26995) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة تخزين مشترك (مُكرَّر) للمستخدمين، والأدوار، وسياسات الصفوف، والحصص، وملفات تعريف الإعدادات عبر ZooKeeper. [#27426](https://github.com/ClickHouse/ClickHouse/pull/27426) ([Kevin Michel](https://github.com/kmichel-aiven)).
* إضافة ضغط لـ `INTO OUTFILE` يختار خوارزمية الضغط تلقائيًا. يغلق [#3473](https://github.com/ClickHouse/ClickHouse/issues/3473). [#27134](https://github.com/ClickHouse/ClickHouse/pull/27134) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* إضافة `INSERT ... FROM INFILE` على نحو مماثل لـ `SELECT ... INTO OUTFILE`. [#27655](https://github.com/ClickHouse/ClickHouse/pull/27655) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* أُضيف القاموس `complex_key_range_hashed`. يغلق [#22029](https://github.com/ClickHouse/ClickHouse/issues/22029). [#27629](https://github.com/ClickHouse/ClickHouse/pull/27629) ([Maksim Kita](https://github.com/kitaisreal)).
* دعم التعبيرات في قسم JOIN ON. يغلق [#21868](https://github.com/ClickHouse/ClickHouse/issues/21868). [#24420](https://github.com/ClickHouse/ClickHouse/pull/24420) ([Vladimir C](https://github.com/vdimir)).
* عندما يتصل العميل بالخادم، فإنه يتلقى معلومات عن جميع التحذيرات التي سبق أن جمعها الخادم. (يمكن تعطيل ذلك باستخدام الخيار `--no-warnings`). أُضيف جدول `system.warnings` لتجميع التحذيرات المتعلقة بتهيئة الخادم. [#26246](https://github.com/ClickHouse/ClickHouse/pull/26246) ([Filatenkov Artur](https://github.com/FArthur-cmd)). [#26282](https://github.com/ClickHouse/ClickHouse/pull/26282) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* السماح باستخدام التعبيرات الثابتة من `WITH` و`SELECT` في معاملات aggregate function. يُغلق [#10945](https://github.com/ClickHouse/ClickHouse/issues/10945). [#27531](https://github.com/ClickHouse/ClickHouse/pull/27531) ([abel-cheng](https://github.com/abel-cheng)).
* إضافة الدالة `tupleToNameValuePairs`، التي تحوّل named tuple إلى array من الأزواج. [#27505](https://github.com/ClickHouse/ClickHouse/pull/27505) ([Braulio Valdivielso Martínez](https://github.com/BraulioVM)).
* إضافة دعم Compression method ‏`bzip2` لعمليات الاستيراد والتصدير. يُغلق [#22428](https://github.com/ClickHouse/ClickHouse/issues/22428). [#27377](https://github.com/ClickHouse/ClickHouse/pull/27377) ([Nikolay Degterinsky](https://github.com/evillique)).
* تمت إضافة الدالة `bitmapSubsetOffsetLimit(bitmap, offset, cardinality_limit)`. تُنشئ subset من bitmap مع تقييد النتائج إلى `cardinality_limit` وإزاحة قدرها `offset`. [#27234](https://github.com/ClickHouse/ClickHouse/pull/27234) ([DHBin](https://github.com/DHBin)).
* إضافة column ‏`default_database` إلى `system.users`. [#27054](https://github.com/ClickHouse/ClickHouse/pull/27054) ([kevin wan](https://github.com/MaxWk)).
* دعم وحدات الماكرو `cluster` داخل table functions ‏'cluster' و'clusterAllReplicas'. [#26913](https://github.com/ClickHouse/ClickHouse/pull/26913) ([polyprogrammist](https://github.com/PolyProgrammist)).
* إضافة functions جديدة: `currentRoles()`, `enabledRoles()`, `defaultRoles()`. [#26780](https://github.com/ClickHouse/ClickHouse/pull/26780) ([Vitaly Baranov](https://github.com/vitlibar)).
* functions جديدة: `currentProfiles()`, `enabledProfiles()`, `defaultProfiles()`. [#26714](https://github.com/ClickHouse/ClickHouse/pull/26714) ([Vitaly Baranov](https://github.com/vitlibar)).
* إضافة functions تُرجع `query_id` و`initial_query_id` الخاصَّين بالـ query الحالية. هذا يُغلق [#23682](https://github.com/ClickHouse/ClickHouse/issues/23682). [#26410](https://github.com/ClickHouse/ClickHouse/pull/26410) ([Alexey Boykov](https://github.com/mathalex)).
* إضافة ميزة `REPLACE GRANT`. [#26384](https://github.com/ClickHouse/ClickHouse/pull/26384) ([Caspian](https://github.com/Cas-pian)).
* أصبح query ‏`EXPLAIN` يوفّر الآن وضع `EXPLAIN ESTIMATE ...` الذي يعرض معلومات عن الصفوف المقروءة، وmarks، وparts من MergeTree tables. يُغلق [#23941](https://github.com/ClickHouse/ClickHouse/issues/23941). [#26131](https://github.com/ClickHouse/ClickHouse/pull/26131) ([fastio](https://github.com/fastio)).
* تمت إضافة table ‏`system.zookeeper_log`. تُسجَّل جميع actions الخاصة بـ ZooKeeper client في هذه table. تنفيذًا لـ [#25449](https://github.com/ClickHouse/ClickHouse/issues/25449). [#26129](https://github.com/ClickHouse/ClickHouse/pull/26129) ([tavplubix](https://github.com/tavplubix)).
* zero-copy replication لـ `ReplicatedMergeTree` فوق storage ‏`HDFS`. [#25918](https://github.com/ClickHouse/ClickHouse/pull/25918) ([Zhichang Yu](https://github.com/yuzhichang)).
* السماح بإدراج Nested type على هيئة array من structs في input format ‏`Arrow` و`ORC` و`Parquet`. [#25902](https://github.com/ClickHouse/ClickHouse/pull/25902) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة datatype جديد `Date32` (يُخزّن data بصيغة Int32)، مع دعم date range كما في `DateTime64`، ودعم تحميل parquet date32 إلى `Date32` في ClickHouse، وإضافة function جديدة `toDate32` مثل `toDate`. [#25774](https://github.com/ClickHouse/ClickHouse/pull/25774) ([LiuNeng](https://github.com/liuneng1994)).
* السماح بتعيين قاعدة البيانات الافتراضية لك. [#25268](https://github.com/ClickHouse/ClickHouse/issues/25268). [#25687](https://github.com/ClickHouse/ClickHouse/pull/25687) ([kevin wan](https://github.com/MaxWk)).
* إضافة parameter اختياري إلى engine ‏`MongoDB` لقبول خيارات connection string ودعم اتصال SSL. إغلاق [#21189](https://github.com/ClickHouse/ClickHouse/issues/21189). إغلاق [#21041](https://github.com/ClickHouse/ClickHouse/issues/21041). [#22045](https://github.com/ClickHouse/ClickHouse/pull/22045) ([Omar Bazaraa](https://github.com/OmarBazaraa)).

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

* أُضيف codec ضغط باسم `AES_128_GCM_SIV` يقوم بتشفير الأعمدة بدلًا من ضغطها. [#19896](https://github.com/ClickHouse/ClickHouse/pull/19896) ([PHO](https://github.com/depressed-pho)). ستُعاد كتابته، لذا لا تستخدمه.
* أُعيدت تسمية `MaterializeMySQL` إلى `MaterializedMySQL`. [#26822](https://github.com/ClickHouse/ClickHouse/pull/26822) ([tavplubix](https://github.com/tavplubix)).

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

* تحسين أداء الاستعلامات السريعة عندما يكون `max_execution_time = 0` عبر تقليل عدد استدعاءات النظام `clock_gettime`. [#27325](https://github.com/ClickHouse/ClickHouse/pull/27325) ([filimonov](https://github.com/filimonov)).
* تخصيص المقارنات المتعلقة بالتاريخ والوقت لتحقيق أداء أفضل. يُصلح هذا [#27083](https://github.com/ClickHouse/ClickHouse/issues/27083). [#27122](https://github.com/ClickHouse/ClickHouse/pull/27122) ([Amos Bird](https://github.com/amosbird)).
* مشاركة واصفات الملفات في القراءات المتزامنة للملفات نفسها. لا يوجد فرق ملحوظ في الأداء على Linux، لكن عدد الملفات المفتوحة سيكون أقل بكثير (من 10 إلى 100 مرة) على الخوادم المعتادة، مما يجعل العمليات أسهل. انظر [#26214](https://github.com/ClickHouse/ClickHouse/issues/26214). [#26768](https://github.com/ClickHouse/ClickHouse/pull/26768) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين زمن الاستجابة للاستعلامات القصيرة التي تتطلب القراءة من جداول تحتوي على عدد كبير من الأعمدة. [#26371](https://github.com/ClickHouse/ClickHouse/pull/26371) ([Anton Popov](https://github.com/CurtizJ)).
* عدم إنشاء sets للفهارس عند تحليل الاستعلام. [#26365](https://github.com/ClickHouse/ClickHouse/pull/26365) ([Raúl Marín](https://github.com/Algunenano)).
* تنفيذ `SUM` بشكل متجهي لأنواع الأعداد الصحيحة Nullable ذات التمثيل native ([David Manzanares](https://github.com/davidmanzanares), [Raúl Marín](https://github.com/Algunenano)). [#26248](https://github.com/ClickHouse/ClickHouse/pull/26248) ([Raúl Marín](https://github.com/Algunenano)).
* تجميع expressions التي تتضمن أعمدة من أنواع `Enum`. [#26237](https://github.com/ClickHouse/ClickHouse/pull/26237) ([Maksim Kita](https://github.com/kitaisreal)).
* تجميع الدوال التجميعية ‏`groupBitOr` و`groupBitAnd` و`groupBitXor`. [#26161](https://github.com/ClickHouse/ClickHouse/pull/26161) ([Maksim Kita](https://github.com/kitaisreal)).
* تحسين استخدام الذاكرة عبر توقّع أفضل لحجم block عند قراءة أعمدة DEFAULT الفارغة. يُغلق هذا [#17317](https://github.com/ClickHouse/ClickHouse/issues/17317). [#25917](https://github.com/ClickHouse/ClickHouse/pull/25917) ([Vladimir Chebotarev](https://github.com/excitoon)).
* تقليل استخدام الذاكرة وعدد الصفوف المقروءة في الاستعلامات التي تتضمن `ORDER BY primary_key`. [#25721](https://github.com/ClickHouse/ClickHouse/pull/25721) ([Anton Popov](https://github.com/CurtizJ)).
* تفعيل `distributed_push_down_limit` افتراضيًا. [#27104](https://github.com/ClickHouse/ClickHouse/pull/27104) ([Azat Khuzhin](https://github.com/azat)).
* جعل `toTimeZone` رتيبة عندما تكون `timeZone` قيمة ثابتة، لدعم pruning للتقسيمات عند استخدام SQL مثل:. [#26261](https://github.com/ClickHouse/ClickHouse/pull/26261) ([huangzhaowei](https://github.com/SaintBacchus)).

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

* اعتبار دوال النافذة جاهزة للاستخدام العام. إزالة الإعداد `allow_experimental_window_functions`. [#27184](https://github.com/ClickHouse/ClickHouse/pull/27184) ([Alexander Kuzmenkov](https://github.com/akuzm)).
* تحسين التوافق مع إزاحات المنطقة الزمنية التي لا تمثل عددًا صحيحًا من الدقائق. [#27080](https://github.com/ClickHouse/ClickHouse/pull/27080) ([Raúl Marín](https://github.com/Algunenano)).
* إذا كان واصف الملف في جدول `File` ملفًا عاديًا، فسيُسمح بقراءته عدة مرات. يتيح ذلك لـ `clickhouse-local` القراءة عدة مرات من stdin (مع استعلامات SELECT متعددة أو استعلامات فرعية متعددة) إذا كان stdin ملفًا عاديًا، مثل `clickhouse-local --query "SELECT * FROM table UNION ALL SELECT * FROM table" ... < file`. يغلق هذا [#11124](https://github.com/ClickHouse/ClickHouse/issues/11124). بمشاركة في التأليف مع ([alexey-milovidov](https://github.com/alexey-milovidov)). [#25960](https://github.com/ClickHouse/ClickHouse/pull/25960) ([BoloniniD](https://github.com/BoloniniD)).
* إزالة التكرار في تحليل الفهرس وتجنب عمليات التحقق غير الصالحة المحتملة لـ limit أثناء تحليل projection. [#27742](https://github.com/ClickHouse/ClickHouse/pull/27742) ([Amos Bird](https://github.com/amosbird)).
* تمكين تمرير معلمات الاستعلام في متن طلبات HTTP. [#27706](https://github.com/ClickHouse/ClickHouse/pull/27706) ([Hermano Lustosa](https://github.com/hllustosa)).
* منع استخدام `arrayJoin` على تعبيرات partition. [#27648](https://github.com/ClickHouse/ClickHouse/pull/27648) ([Raúl Marín](https://github.com/Algunenano)).
* تسجيل عنوان IP الخاص بالعميل إذا فشلت المصادقة. [#27514](https://github.com/ClickHouse/ClickHouse/pull/27514) ([Misko Lee](https://github.com/imiskolee)).
* استخدام bytes بدلًا من strings للبيانات الثنائية في بروتوكول gRPC. [#27431](https://github.com/ClickHouse/ClickHouse/pull/27431) ([Vitaly Baranov](https://github.com/vitlibar)).
* إرسال استجابة تتضمن رسالة خطأ إذا لم يتم تعيين منفذ HTTP وحاول المستخدم إرسال طلب HTTP إلى منفذ TCP. [#27385](https://github.com/ClickHouse/ClickHouse/pull/27385) ([Braulio Valdivielso Martínez](https://github.com/BraulioVM)).
* إضافة الدالة `_CAST` للاستخدام الداخلي، وهي لا تحافظ على قابلية النوع لأن يكون NULL، بينما يحافظ cast غير الداخلي عليها وفقًا للإعداد `cast_keep_nullable`. يغلق هذا [#12636](https://github.com/ClickHouse/ClickHouse/issues/12636). [#27382](https://github.com/ClickHouse/ClickHouse/pull/27382) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة الإعداد `log_formatted_queries` لتسجيل استعلام منسق إضافي في `system.query_log`. وهذا مفيد لتحليل الاستعلامات المُطبَّعة لأن دوالًا مثل `normalizeQuery` و `normalizeQueryKeepNames` لا تقوم بتحليل الاستعلامات أو تنسيقها من أجل تحقيق أداء أفضل. [#27380](https://github.com/ClickHouse/ClickHouse/pull/27380) ([Amos Bird](https://github.com/amosbird)).
* إضافة الإعدادين `max_hyperscan_regexp_length` و `max_hyperscan_regexp_total_length` لمنع استخدام تعبيرات نمطية ضخمة في الدوال المرتبطة بـ hyperscan، مثل `multiMatchAny`. [#27378](https://github.com/ClickHouse/ClickHouse/pull/27378) ([Amos Bird](https://github.com/amosbird)).
* أصبحت الذاكرة التي تستهلكها دوال التجميع الخاصة بـ bitmap تُحتسب الآن ضمن حدود الذاكرة. يغلق هذا [#26555](https://github.com/ClickHouse/ClickHouse/issues/26555). [#27252](https://github.com/ClickHouse/ClickHouse/pull/27252) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة cache لمدة 10 seconds إلى S3 proxy resolver. [#27216](https://github.com/ClickHouse/ClickHouse/pull/27216) ([ianton-ru](https://github.com/ianton-ru)).
* تقسيم mutex العام إلى عمليات إنشاء regexp منفصلة. يساعد ذلك على تجنب أن يؤدي إنشاء regexp ضخم إلى حظر الخيوط الأخرى ذات الصلة. [#27211](https://github.com/ClickHouse/ClickHouse/pull/27211) ([Amos Bird](https://github.com/amosbird)).
* دعم المخطط لمحرك قاعدة بيانات PostgreSQL. يُغلق [#27166](https://github.com/ClickHouse/ClickHouse/issues/27166). [#27198](https://github.com/ClickHouse/ClickHouse/pull/27198) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تتبّع استخدام الذاكرة في clickhouse-client. [#27191](https://github.com/ClickHouse/ClickHouse/pull/27191) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* تسجيل `query_kind` في `system.query_log` حتى عند تعذّر بدء الاستعلام. [#27182](https://github.com/ClickHouse/ClickHouse/pull/27182) ([Amos Bird](https://github.com/amosbird)).
* أُضيف العمود `replica_is_active` الذي يربط اسم النسخة المتماثلة بحالة نشاطها إلى الجدول `system.replicas`. يُغلق [#27138](https://github.com/ClickHouse/ClickHouse/issues/27138). [#27180](https://github.com/ClickHouse/ClickHouse/pull/27180) ([Maksim Kita](https://github.com/kitaisreal)).
* السماح بتمرير إعدادات الاستعلام عبر URI الخادم في واجهة الويب. [#27177](https://github.com/ClickHouse/ClickHouse/pull/27177) ([kolsys](https://github.com/kolsys)).
* إضافة مقياس جديد باسم `MaxPushedDDLEntryID`، وهو يمثّل أكبر معرّف لإدخال DDL تدفعه العقدة الحالية إلى ZooKeeper. [#27174](https://github.com/ClickHouse/ClickHouse/pull/27174) ([Fuwang Hu](https://github.com/fuwhu)).
* تحسين التحقق من شرط الوجود ومن العقدة ذات السلسلة الفارغة عند إنشاء `clickhouse-keeper` لعقدة znode. [#27125](https://github.com/ClickHouse/ClickHouse/pull/27125) ([小路](https://github.com/nicelulu)).
* يتعامل Merge JOIN بشكل صحيح مع المجموعة الفارغة في الطرف الأيمن. [#27078](https://github.com/ClickHouse/ClickHouse/pull/27078) ([Vladimir C](https://github.com/vdimir)).
* يمكن الآن أن تكون الدوال ثوابت على مستوى shard، ما يعني أنه إذا نُفِّذت في سياق جدول موزّع، فإنها تُنتج عمودًا عاديًا، وإلا فإنها تُنتج قيمة ثابتة. ومن أبرز هذه الدوال: `hostName()`, `tcpPort()`, `version()`, `buildId()`, `uptime()`, إلخ. [#27020](https://github.com/ClickHouse/ClickHouse/pull/27020) ([Amos Bird](https://github.com/amosbird)).
* تحديث `extractAllGroupsHorizontal` - يمكن تعيين الحد الأقصى لعدد المطابقات لكل صف عبر الوسيط الثالث الاختياري. [#26961](https://github.com/ClickHouse/ClickHouse/pull/26961) ([Vasily Nemkov](https://github.com/Enmk)).
* إتاحة إحصاءات `RocksDB` عبر الجدول system.rocksdb. وقراءة خيارات rocksdb من إعدادات ClickHouse (مفاتيح `rocksdb...`). ملاحظة: لا يعتمد ClickHouse على RocksDB، وإنما هو مجرد أحد محركات تخزين التكامل الإضافية. [#26821](https://github.com/ClickHouse/ClickHouse/pull/26821) ([Azat Khuzhin](https://github.com/azat)).
* أصبحت سجلات RocksDB الداخلية أقل إسهابًا. ملاحظة: لا يعتمد ClickHouse على RocksDB، وإنما هو مجرد أحد محركات تخزين التكامل الإضافية. هذا يُغلق [#26252](https://github.com/ClickHouse/ClickHouse/issues/26252). [#26789](https://github.com/ClickHouse/ClickHouse/pull/26789) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* يؤثر تغيير الأدوار الافتراضية على الجلسات الجديدة فقط. [#26759](https://github.com/ClickHouse/ClickHouse/pull/26759) ([Vitaly Baranov](https://github.com/vitlibar)).
* تكون Watchdog معطّلة في docker افتراضيًا. إصلاح لمشكلة عدم التعامل مع ctrl+c. [#26757](https://github.com/ClickHouse/ClickHouse/pull/26757) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* يطبّق `SET PROFILE` الآن القيود أيضًا إذا كانت معيّنة للملف التعريفي المُمرَّر. [#26730](https://github.com/ClickHouse/ClickHouse/pull/26730) ([Vitaly Baranov](https://github.com/vitlibar)).
* تحسين التعامل مع طلبات `KILL QUERY`. [#26675](https://github.com/ClickHouse/ClickHouse/pull/26675) ([Raúl Marín](https://github.com/Algunenano)).
* تدعم الدالة `mapPopulatesSeries` النوع `Map`. [#26663](https://github.com/ClickHouse/ClickHouse/pull/26663) ([Ildus Kurbangaliev](https://github.com/ildus)).
* إصلاح محاولات الاتصال الزائدة (x2) مع `skip_unavailable_shards`. [#26658](https://github.com/ClickHouse/ClickHouse/pull/26658) ([Azat Khuzhin](https://github.com/azat)).
* تجنّب تعليق `clickhouse-benchmark` إذا فشل الاتصال (أي عند حدوث EMFILE). [#26656](https://github.com/ClickHouse/ClickHouse/pull/26656) ([Azat Khuzhin](https://github.com/azat)).
* السماح لمحرك Kafka باستخدام المزيد من الخيوط. [#26642](https://github.com/ClickHouse/ClickHouse/pull/26642) ([feihengye](https://github.com/feihengye)).
* إضافة دعم round-robin إلى `clickhouse-benchmark` (وهو لا يختلف عن التشغيل العادي متعدد المضيفين/المنافذ إلا في تقرير الإحصاءات). [#26607](https://github.com/ClickHouse/ClickHouse/pull/26607) ([Azat Khuzhin](https://github.com/azat)).
* تمكين إنشاء القواميس التنفيذية (`executable`, `executable_pool`) باستخدام استعلام DDL عبر `clickhouse-local`. يغلق هذا [#22355](https://github.com/ClickHouse/ClickHouse/issues/22355). [#26510](https://github.com/ClickHouse/ClickHouse/pull/26510) ([Maksim Kita](https://github.com/kitaisreal)).
* تعيين نوع Query الخاص بالعميل لمعالجات بروتوكول التوافق لـ `mysql` و`postgresql`. [#26498](https://github.com/ClickHouse/ClickHouse/pull/26498) ([anneji-dev](https://github.com/anneji-dev)).
* تطبيق `LIMIT` على الشظايا في استعلامات مثل `SELECT * FROM dist ORDER BY key LIMIT 10` مع `distributed_push_down_limit=1`. وتجنّب تنفيذ خطوات `Distinct`/`LIMIT BY` في استعلامات مثل `SELECT DISTINCT shading_key FROM dist ORDER BY key`. وأصبح `distributed_push_down_limit` الآن مُطبَّقًا بشكل صحيح في تحسين `optimize_distributed_group_by_sharding_key`. [#26466](https://github.com/ClickHouse/ClickHouse/pull/26466) ([Azat Khuzhin](https://github.com/azat)).
* تم تحديث Protobuf إلى 3.17.3. سجلات التغييرات متاحة على [https://github.com/protocolbuffers/protobuf/releases](https://github.com/protocolbuffers/protobuf/releases). [#26424](https://github.com/ClickHouse/ClickHouse/pull/26424) ([Ilya Yatsishin](https://github.com/qoega)).
* تمكين الإعداد `use_hedged_requests` الذي يساعد على الحد من زمن الاستجابة في الطرف المتأخر على المجموعات الكبيرة. [#26380](https://github.com/ClickHouse/ClickHouse/pull/26380) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين السلوك عند وجود مضيف غير موجود في قائمة المضيفين المسموح بهم للمستخدم. [#26368](https://github.com/ClickHouse/ClickHouse/pull/26368) ([ianton-ru](https://github.com/ianton-ru)).
* إضافة إمكانية تعيين إعدادات مراقبة الدليل لمحرك `Distributed` عبر CREATE TABLE (أي `CREATE TABLE dist (key Int) Engine=Distributed(cluster, db, table) SETTINGS monitor_batch_inserts=1` وما شابه ذلك). [#26336](https://github.com/ClickHouse/ClickHouse/pull/26336) ([Azat Khuzhin](https://github.com/azat)).
* حفظ عنوان الخادم في عناوين URL الخاصة بالسجلّات في واجهة الويب إذا كان مختلفًا عن مصدر واجهة الويب. يغلق هذا [#26044](https://github.com/ClickHouse/ClickHouse/issues/26044). [#26322](https://github.com/ClickHouse/ClickHouse/pull/26322) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة أحداث إلى profile لاستدعاءات `sleep` / `sleepEachRow`. [#26320](https://github.com/ClickHouse/ClickHouse/pull/26320) ([Raúl Marín](https://github.com/Algunenano)).
* السماح بإعادة استخدام اتصالات الشظايا بين المجموعات المختلفة. كما يجنّب ذلك إنشاء اتصالات جديدة عند استخدام table function `cluster`. [#26318](https://github.com/ClickHouse/ClickHouse/pull/26318) ([Amos Bird](https://github.com/amosbird)).
* التحكّم في الفترة الزمنية لتنفيذ تنظيف الدلائل المؤقتة القديمة عبر مُعامِل ذي قيمة افتراضية. [#26212](https://github.com/ClickHouse/ClickHouse/issues/26212). [#26313](https://github.com/ClickHouse/ClickHouse/pull/26313) ([fastio](https://github.com/fastio)).
* إضافة setting باسم `function_range_max_elements_in_block` لضبط حد الأمان لحجم البيانات الذي تولّده الدالة `range`. يُغلق هذا [#26303](https://github.com/ClickHouse/ClickHouse/issues/26303). [#26305](https://github.com/ClickHouse/ClickHouse/pull/26305) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* التحقّق من hash function عند إنشاء table، وليس عند sampling. وإضافة settings لـ MergeTree، بحيث إذا أنشأ أحدٌ table بعمود sampling غير صحيح ولكن لم يُستخدم sampling مطلقًا، يمكن تعطيل هذه settings لبدء server بدون Exception. [#26256](https://github.com/ClickHouse/ClickHouse/pull/26256) ([zhaoyu](https://github.com/zxc111)).
* تمت إضافة setting ‏`output_format_avro_string_column_pattern` لوضع columns المحددة من نوع String في Avro كسلاسل نصية بدلًا من bytes الافتراضية. يطبّق هذا [#22414](https://github.com/ClickHouse/ClickHouse/issues/22414). [#26245](https://github.com/ClickHouse/ClickHouse/pull/26245) ([Ilya Golshtein](https://github.com/ilejn)).
* إضافة معلومات عن أحجام الأعمدة في table ‏`system.columns` لجدولي `Log` و`TinyLog`. يُغلق هذا [#9001](https://github.com/ClickHouse/ClickHouse/issues/9001). [#26241](https://github.com/ClickHouse/ClickHouse/pull/26241) ([Nikolay Degterinsky](https://github.com/evillique)).
* عدم إصدار Exception عند الاستعلام عن table ‏`system.detached_parts` إذا كان هناك disk configuration مخصص وكان directory ‏`detached` غير موجود على بعض disks. يُغلق هذا [#26078](https://github.com/ClickHouse/ClickHouse/issues/26078). [#26236](https://github.com/ClickHouse/ClickHouse/pull/26236) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* التحقّق من الدوال غير deterministic في keys، بما في ذلك expressions الثابتة مثل `now()` و`today()`. يُغلق هذا [#25875](https://github.com/ClickHouse/ClickHouse/issues/25875). ويُغلق أيضًا [#11333](https://github.com/ClickHouse/ClickHouse/issues/11333). [#26235](https://github.com/ClickHouse/ClickHouse/pull/26235) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحويل data types ‏timestamp وtimestamptz إلى `DateTime64` في PostgreSQL table engine. [#26234](https://github.com/ClickHouse/ClickHouse/pull/26234) ([jasine](https://github.com/jasine)).
* تطبيق index analysis أكثر صرامة لعبارة IN على projections بحيث يمكن اختيار projection أنسب. [#26218](https://github.com/ClickHouse/ClickHouse/pull/26218) ([Amos Bird](https://github.com/amosbird)).
* إزالة keyword ‏GLOBAL من IN عند تمرير دالة scalar. في الإصدارات السابقة، إذا حدّد المستخدم `GLOBAL IN f(x)`، كان يتم إصدار Exception. [#26217](https://github.com/ClickHouse/ClickHouse/pull/26217) ([Amos Bird](https://github.com/amosbird)).
* إضافة معرّف error (مثل `BAD_ARGUMENTS`) إلى رسائل Exception. يُغلق هذا [#25862](https://github.com/ClickHouse/ClickHouse/issues/25862). [#26172](https://github.com/ClickHouse/ClickHouse/pull/26172) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح المخرجات غير الصحيحة مع الخيار --progress في clickhouse-local. سيُمسح شريط Progress بمجرد وصوله إلى 100%، تمامًا كما يحدث في clickhouse-client. يُغلق [#17484](https://github.com/ClickHouse/ClickHouse/issues/17484). [#26128](https://github.com/ClickHouse/ClickHouse/pull/26128) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة setting ‏`merge_selecting_sleep_ms`. [#26120](https://github.com/ClickHouse/ClickHouse/pull/26120) ([lthaooo](https://github.com/lthaooo)).
* أزل الاستخدام المعقّد لـ Linux AIO مع القراءة الاستباقية لكتلة واحدة، واستبدله بـ IO متزامن مباشر وبسيط باستخدام O\_DIRECT. في الإصدارات السابقة، قد لا يعمل الإعداد `min_bytes_to_use_direct_io` بشكل صحيح إذا كانت قيمة `max_threads` أكبر من واحد. وستعمل القراءة باستخدام direct IO (وهو معطّل افتراضيًا للاستعلامات ومفعّل افتراضيًا لعمليات الدمج الكبيرة) بكفاءة أقل. يُغلق هذا [#25997](https://github.com/ClickHouse/ClickHouse/issues/25997). [#26003](https://github.com/ClickHouse/ClickHouse/pull/26003) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* نفّذ flush لجدول `Distributed` عند استعلام `REPLACE TABLE`. يحل [#24566](https://github.com/ClickHouse/ClickHouse/issues/24566) - لا تستبدل الجدول (أو تنشئه) في استعلام `[CREATE OR] REPLACE TABLE ... AS SELECT` إذا فشل الإدراج في الجدول الجديد. يحل [#23175](https://github.com/ClickHouse/ClickHouse/issues/23175). [#25895](https://github.com/ClickHouse/ClickHouse/pull/25895) ([tavplubix](https://github.com/tavplubix)).
* أضف العمود `views` إلى system.query\_log ليحتوي على أسماء الـ views (المادة أو الحية) التي ينفذها الاستعلام. ويضيف أيضًا جدول سجل جديدًا (`system.query_views_log`) يتضمن معلومات عن كل view نُفِّذ أثناء الاستعلام. كما يعدّل تنفيذ الـ view على النحو التالي: عند حدوث استثناء أثناء تنفيذ view، فإن أي view بدأ بالفعل سيستمر في العمل حتى يكتمل. كان هذا هو السلوك عند parallel\_view\_processing=true، والآن أصبح هذا هو السلوك دائمًا. - أصبحت الـ views التابعة الآن تُبلّغ عن تقدّم القراءة إلى السياق. [#25714](https://github.com/ClickHouse/ClickHouse/pull/25714) ([Raúl Marín](https://github.com/Algunenano)).
* نفّذ تصريف الاتصالات بشكل غير متزامن عند الانتهاء من تنفيذ distributed queries. أُضيف إعداد server جديد هو `max_threads_for_connection_collector` يحدّد عدد الـ workers لإعادة تدوير الاتصالات في الخلفية. وإذا كانت الـ pool ممتلئة، فسيُصرَّف الاتصال بشكل متزامن ولكن بطريقة مختلفة قليلًا عن السابق: إذ يُصرَّف بعد إرسال EOS إلى client، وينجح الاستعلام فور تلقّي قدر كافٍ من البيانات، ويُسجَّل أي استثناء بدلًا من تمريره إلى client. وأُضيف أيضًا الإعداد `drain_timeout` (3 ثوانٍ افتراضيًا). وسيؤدي تصريف الاتصال إلى قطع الاتصال عند انتهاء المهلة. [#25674](https://github.com/ClickHouse/ClickHouse/pull/25674) ([Amos Bird](https://github.com/amosbird)).
* دعم تعدد التضمينات في configuration. أصبح من الممكن تضمين إعدادات المستخدمين وإعدادات الخوادم البعيدة من مصادر متعددة. ما عليك سوى وضع العنصر `<include />` مع الخاصية `from_zk` أو `from_env` أو `incl`، وسيُستبدل بالقيمة الناتجة عن substitution. [#24404](https://github.com/ClickHouse/ClickHouse/pull/24404) ([nvartolomei](https://github.com/nvartolomei)).
* أصلح إدراج عدة blocks في distributed table مع `insert_distributed_one_random_shard = 1`. هذه ميزة هامشية. صُنّفت كتحسين. [#23140](https://github.com/ClickHouse/ClickHouse/pull/23140) ([Amos Bird](https://github.com/amosbird)).
* دعم مفاتيح وقيم `LowCardinality` و`FixedString` لنوع `Map`. [#21543](https://github.com/ClickHouse/ClickHouse/pull/21543) ([hexiaoting](https://github.com/hexiaoting)).
* فعّل إعادة تحميل إعدادات القرص المحلي. [#19526](https://github.com/ClickHouse/ClickHouse/pull/19526) ([taiyang-li](https://github.com/taiyang-li)).

<div id="bug-fix-2">
  #### إصلاح خلل
</div>

* إصلاح خطأين قد يؤديان إلى تباعد النسخ المتماثلة. [#27808](https://github.com/ClickHouse/ClickHouse/pull/27808) ([tavplubix](https://github.com/tavplubix)).
* إصلاح خطأ نادر في `DROP PART` قد يؤدي إلى ظهور الخطأ `Unexpected merged part intersects drop range`. [#27807](https://github.com/ClickHouse/ClickHouse/pull/27807) ([alesapin](https://github.com/alesapin)).
* منع الأعطال في بعض التنسيقات عند ورود رسالة NULL (tombstone) من Kafka. يُغلق [#19255](https://github.com/ClickHouse/ClickHouse/issues/19255). [#27794](https://github.com/ClickHouse/ClickHouse/pull/27794) ([filimonov](https://github.com/filimonov)).
* إصلاح تصفية الأعمدة مع `union distinct` في استعلام فرعي. يُغلق [#27578](https://github.com/ClickHouse/ClickHouse/issues/27578). [#27689](https://github.com/ClickHouse/ClickHouse/pull/27689) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح تحويل أنواع غير صحيح عند تطبيق دوال مثل `arrayHas` على مصفوفات من LowCardinality من Nullable لأنواع غير رقمية مختلفة مثل `DateTime` و`DateTime64`. في الإصدارات السابقة كان يحدث تحويل غير صحيح، أما في الإصدار الجديد فسيؤدي ذلك إلى استثناء. يُغلق هذا [#26330](https://github.com/ClickHouse/ClickHouse/issues/26330). [#27682](https://github.com/ClickHouse/ClickHouse/pull/27682) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح دالة الجدول الخاصة بـ PostgreSQL التي كانت تؤدي إلى اتصالات لا تُغلَق. يُغلق [#26088](https://github.com/ClickHouse/ClickHouse/issues/26088). [#27662](https://github.com/ClickHouse/ClickHouse/pull/27662) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح حالة أخرى من الخطأ `Unexpected merged part ... intersecting drop range ...`. [#27656](https://github.com/ClickHouse/ClickHouse/pull/27656) ([tavplubix](https://github.com/tavplubix)).
* إصلاح خطأ في عمود ذي اسم مستعار في جدول `Distributed`. [#27652](https://github.com/ClickHouse/ClickHouse/pull/27652) ([Vladimir C](https://github.com/vdimir)).
* بعد ضبط `max_memory_usage*` على قيمة غير صفرية، لم يكن من الممكن إعادته إلى 0 (غير محدود). تم إصلاح ذلك. [#27638](https://github.com/ClickHouse/ClickHouse/pull/27638) ([tavplubix](https://github.com/tavplubix)).
* إصلاح حدوث underflow في قيمة الوقت عند إنشائها من المكوّنات. يُغلق [#27193](https://github.com/ClickHouse/ClickHouse/issues/27193). [#27605](https://github.com/ClickHouse/ClickHouse/pull/27605) ([Vasily Nemkov](https://github.com/Enmk)).
* إصلاح تعطل أثناء materialization للـ projection عندما تحتوي بعض الأجزاء على أعمدة مفقودة. يُصلح هذا [#27512](https://github.com/ClickHouse/ClickHouse/issues/27512). [#27528](https://github.com/ClickHouse/ClickHouse/pull/27528) ([Amos Bird](https://github.com/amosbird)).
* إصلاح المقياس `BackgroundMessageBrokerSchedulePoolTask`، وربما كان الاسم مكتوبًا خطأً. [#27452](https://github.com/ClickHouse/ClickHouse/pull/27452) ([Ben](https://github.com/benbiti)).
* إصلاح الاستعلامات الموزعة مع صفر shards وعمليات التجميع. [#27427](https://github.com/ClickHouse/ClickHouse/pull/27427) ([Azat Khuzhin](https://github.com/azat)).
* تحسين التوافق عندما لا يحتوي `/proc/meminfo` على اللاحقة KB. [#27361](https://github.com/ClickHouse/ClickHouse/pull/27361) ([Mike Kot](https://github.com/myrrc)).
* إصلاح نتيجة غير صحيحة لاستعلام يحتوي على أمان على مستوى الصفوف وPREWHERE ومرشح LowCardinality. يُصلح [#27179](https://github.com/ClickHouse/ClickHouse/issues/27179). [#27329](https://github.com/ClickHouse/ClickHouse/pull/27329) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح التحقق غير الصحيح من معرّف partition في جداول MergeTree التي أُنشئت باستخدام الصياغة القديمة. [#27328](https://github.com/ClickHouse/ClickHouse/pull/27328) ([tavplubix](https://github.com/tavplubix)).
* إصلاح protocol الخاص بـ MySQL عند استخدام formats المتوازية (CSV / TSV). [#27326](https://github.com/ClickHouse/ClickHouse/pull/27326) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح الخطأ `Cannot find column` في queries التي تستخدم sampling. وقد أُدخل هذا الخطأ في [#24574](https://github.com/ClickHouse/ClickHouse/issues/24574). ويعالج [#26522](https://github.com/ClickHouse/ClickHouse/issues/26522). [#27301](https://github.com/ClickHouse/ClickHouse/pull/27301) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح أخطاء مثل `Expected ColumnLowCardinality, gotUInt8` أو `Bad cast from type DB::ColumnVector<char8_t> to DB::ColumnLowCardinality` لبعض queries التي تتضمن `LowCardinality` في `PREWHERE`. والأهم من ذلك، إصلاح غياب المسافة في رسالة الخطأ. ويعالج [#23515](https://github.com/ClickHouse/ClickHouse/issues/23515). [#27298](https://github.com/ClickHouse/ClickHouse/pull/27298) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح `distributed_group_by_no_merge = 2` مع `distributed_push_down_limit = 1` أو `optimize_distributed_group_by_sharding_key = 1` مع `LIMIT BY` و `LIMIT OFFSET`. [#27249](https://github.com/ClickHouse/ClickHouse/pull/27249) ([Azat Khuzhin](https://github.com/azat)). هذا مزيج نادر من الإعدادات لا يكاد أحد يستخدمه.
* إصلاح mutation العالقة على partitions غير الصالحة في MergeTree غير المكررة. [#27248](https://github.com/ClickHouse/ClickHouse/pull/27248) ([Azat Khuzhin](https://github.com/azat)).
* في حال الالتباس، تفضّل lambda functions وسيطاتها على aliases أو المعرّفات الأخرى. [#27235](https://github.com/ClickHouse/ClickHouse/pull/27235) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح بنية الأعمدة في merge join، وإغلاق [#27091](https://github.com/ClickHouse/ClickHouse/issues/27091). [#27217](https://github.com/ClickHouse/ClickHouse/pull/27217) ([Vladimir C](https://github.com/vdimir)).
* في حالات نادرة، قد يحتوي جدول `system.detached_parts` على معلومات غير صحيحة لبعض parts، وقد تم إصلاح ذلك. ويعالج [#27114](https://github.com/ClickHouse/ClickHouse/issues/27114). [#27183](https://github.com/ClickHouse/ClickHouse/pull/27183) ([tavplubix](https://github.com/tavplubix)).
* إصلاح memory غير المهيأة في الدوال `multiSearch*` عند وجود Array فارغة، وإغلاق [#27169](https://github.com/ClickHouse/ClickHouse/issues/27169). [#27181](https://github.com/ClickHouse/ClickHouse/pull/27181) ([Vladimir C](https://github.com/vdimir)).
* إصلاح التزامن في GRPCServer. يعالج طلب السحب هذا [#27024](https://github.com/ClickHouse/ClickHouse/issues/27024). [#27064](https://github.com/ClickHouse/ClickHouse/pull/27064) ([Vitaly Baranov](https://github.com/vitlibar)).
* تم إصلاح parsing الخاص بإعدادات `cache` و `complex_key_cache` و `ssd_cache` و `complex_key_ssd_cache`. لم تكن الخيارات `allow_read_expired_keys` و `max_update_queue_size` و `update_queue_push_timeout_milliseconds` و `query_wait_timeout_milliseconds` تُحلَّل للقواميس التي لا يكون نوعها `cache`. [#27032](https://github.com/ClickHouse/ClickHouse/pull/27032) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح احتمال تعطل stack الخاص بـ mutation بسبب تسابق مع DROP\_RANGE. [#27002](https://github.com/ClickHouse/ClickHouse/pull/27002) ([Azat Khuzhin](https://github.com/azat)).
* أصبح الآن يتم التحقق من صحة معرّف القسم في استعلامات مثل `ALTER TABLE ... PARTITION ID xxx`. يُصلح [#25718](https://github.com/ClickHouse/ClickHouse/issues/25718). [#26963](https://github.com/ClickHouse/ClickHouse/pull/26963) ([alesapin](https://github.com/alesapin)).
* إصلاح الخطأ "اسم العمود غير معروف" عند وجود عدة عمليات JOIN في بعض الحالات، وإغلاق [#26899](https://github.com/ClickHouse/ClickHouse/issues/26899). [#26957](https://github.com/ClickHouse/ClickHouse/pull/26957) ([Vladimir C](https://github.com/vdimir)).
* إصلاح قراءة نطاقات TLD المخصصة (كانت المعالجة تتوقف عند استخدام buffer أصغر أو file أكبر). [#26948](https://github.com/ClickHouse/ClickHouse/pull/26948) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الخطأ `Missing columns: 'xxx'` عندما يشير عمود `DEFAULT` إلى عمود آخر غير materialized ولا يحتوي على تعبير `DEFAULT`. يُصلح [#26591](https://github.com/ClickHouse/ClickHouse/issues/26591). [#26900](https://github.com/ClickHouse/ClickHouse/pull/26900) ([alesapin](https://github.com/alesapin)).
* إصلاح تحميل مفاتيح Dictionary في `library-bridge` لمصدر Dictionary من نوع `library`. [#26834](https://github.com/ClickHouse/ClickHouse/pull/26834) ([Kseniia Sumarokova](https://github.com/kssenii)).
* قد تُفقد Parameters الخاصة بـ aggregate function عند تطبيق بعض combinators، مما يؤدي إلى ظهور استثناءات مثل `Conversion from AggregateFunction(topKArray, Array(String)) to AggregateFunction(topKArray(10), Array(String)) is not supported`. تم إصلاح ذلك. يُصلح [#26196](https://github.com/ClickHouse/ClickHouse/issues/26196) و[#26433](https://github.com/ClickHouse/ClickHouse/issues/26433). [#26814](https://github.com/ClickHouse/ClickHouse/pull/26814) ([tavplubix](https://github.com/tavplubix)).
* إضافة القيمة `event_time_microseconds` إلى `REMOVE_PART` في `system.part_log`. في الإصدارات السابقة، لم تكن هذه القيمة تُضبط. [#26720](https://github.com/ClickHouse/ClickHouse/pull/26720) ([Azat Khuzhin](https://github.com/azat)).
* عدم إزالة البيانات عند إيقاف جدول ReplicatedMergeTree لتجنّب حدوث عدم اتساق بين البيانات وmetadata. [#26716](https://github.com/ClickHouse/ClickHouse/pull/26716) ([nvartolomei](https://github.com/nvartolomei)).
* أحيانًا كان `SET ROLE` يعمل بشكل غير صحيح، ويُصلح هذا التغيير ذلك. [#26707](https://github.com/ClickHouse/ClickHouse/pull/26707) ([Vitaly Baranov](https://github.com/vitlibar)).
* بعض الإصلاحات المتعلقة بـ formatting المتوازي ([https://github.com/ClickHouse/ClickHouse/issues/26694](https://github.com/ClickHouse/ClickHouse/issues/26694)). [#26703](https://github.com/ClickHouse/ClickHouse/pull/26703) ([Raúl Marín](https://github.com/Algunenano)).
* إصلاح احتمال فك مرجع nullptr في window functions. يُصلح هذا [#25276](https://github.com/ClickHouse/ClickHouse/issues/25276). [#26668](https://github.com/ClickHouse/ClickHouse/pull/26668) ([Alexander Kuzmenkov](https://github.com/akuzm)).
* إصلاح تحويل ملف history في clickhouse-client (عند الترقية من format إصدار clickhouse-client يعود إلى 3 سنوات) إذا كان الملف فارغًا. [#26589](https://github.com/ClickHouse/ClickHouse/pull/26589) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح أسماء الدوال غير الصحيحة لـ groupBitmapAnd/Or/Xor (قد تظهر في بعض الحالات). تم الإصلاح. [#26557](https://github.com/ClickHouse/ClickHouse/pull/26557) ([Amos Bird](https://github.com/amosbird)).
* تحديث فحص أمر `chown` في نقطة دخول Docker الخاصة بـ clickhouse-server. يُصلح هذا الخلل الذي كان يتسبب في فشل إعادة تشغيل pod في cluster (أو حدوث timeout) على Kubernetes. [#26545](https://github.com/ClickHouse/ClickHouse/pull/26545) ([Ky Li](https://github.com/Kylinrix)).
* إصلاح تعطل عند إيقاف تشغيل `RabbitMQ` إذا لم يكن إعداد `RabbitMQ` قد بدأ. يُغلق [#26504](https://github.com/ClickHouse/ClickHouse/issues/26504). [#26529](https://github.com/ClickHouse/ClickHouse/pull/26529) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح مشكلات في الاستعلام `CREATE DICTIONARY` إذا كان اسم Dictionary أو اسم قاعدة البيانات موضوعًا بين علامتَي اقتباس. يُغلق [#26491](https://github.com/ClickHouse/ClickHouse/issues/26491). [#26508](https://github.com/ClickHouse/ClickHouse/pull/26508) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح تعطل تحليل أسماء الأعمدة بعد إعادة كتابة الأسماء المستعارة للأعمدة. يُصلح هذا [#26432](https://github.com/ClickHouse/ClickHouse/issues/26432). [#26475](https://github.com/ClickHouse/ClickHouse/pull/26475) ([Amos Bird](https://github.com/amosbird)).
* إصلاح بعض حالات تعطل msan الناتجة عن الاختبار العشوائي. يُصلح [#22517](https://github.com/ClickHouse/ClickHouse/issues/22517). [#26428](https://github.com/ClickHouse/ClickHouse/pull/26428) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح تدفق block غير المنضم اللامتناهي في `partial_merge_join`. يُغلق [#26325](https://github.com/ClickHouse/ClickHouse/issues/26325). [#26374](https://github.com/ClickHouse/ClickHouse/pull/26374) ([Vladimir C](https://github.com/vdimir)).
* إصلاح احتمال حدوث تعطل عند تسجيل الدخول كمستخدم محذوف. يُصلح طلب السحب هذا [#26073](https://github.com/ClickHouse/ClickHouse/issues/26073). [#26363](https://github.com/ClickHouse/ClickHouse/pull/26363) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح `optimize_distributed_group_by_sharding_key` لعدة أعمدة (إذ كان يؤدي إلى نتيجة غير صحيحة مع `optimize_skip_unused_shards=1`/`allow_nondeterministic_optimize_skip_unused_shards=1` ومع وجود عدة أعمدة في تعبير مفتاح sharding). [#26353](https://github.com/ClickHouse/ClickHouse/pull/26353) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح خطأ نادر أثناء recovery للنسخة المتماثلة المفقودة قد يتسبب في تباعد replicas. [#26321](https://github.com/ClickHouse/ClickHouse/pull/26321) ([tavplubix](https://github.com/tavplubix)).
* إصلاح فك ضغط zstd (للاستيراد/التصدير بتنسيق zstd framing غير المرتبط ببيانات الجداول) في حال وجود محارف هروب في نهاية المخزن المؤقت الداخلي. يُغلق [#26013](https://github.com/ClickHouse/ClickHouse/issues/26013). [#26314](https://github.com/ClickHouse/ClickHouse/pull/26314) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح logical error عند إجراء join مع totals. يُغلق [#26017](https://github.com/ClickHouse/ClickHouse/issues/26017). [#26250](https://github.com/ClickHouse/ClickHouse/pull/26250) ([Vladimir C](https://github.com/vdimir)).
* إزالة سطر جديد زائد في العمود `thread_name` في جدول `system.stack_trace`. يُصلح هذا [#24124](https://github.com/ClickHouse/ClickHouse/issues/24124). [#26210](https://github.com/ClickHouse/ClickHouse/pull/26210) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح احتمال حدوث تعطل إذا استُخدم أكثر من تعبير `untuple`. [#26179](https://github.com/ClickHouse/ClickHouse/pull/26179) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* عدم رمي Exception في `toString` لـ Nullable Enum إذا لم تكن لدى Enum قيمة للصفر. يُغلق [#25806](https://github.com/ClickHouse/ClickHouse/issues/25806). [#26123](https://github.com/ClickHouse/ClickHouse/pull/26123) ([Vladimir C](https://github.com/vdimir)).
* تم إصلاح `sequence_id` غير الصحيح في حزم بروتوكول MySQL التي يرسلها ClickHouse عند حدوث استثناء أثناء تنفيذ الاستعلام. وقد يتسبب ذلك في أن يعيد عميل MySQL ضبط الاتصال بخادم ClickHouse. يعالج [#21184](https://github.com/ClickHouse/ClickHouse/issues/21184). [#26051](https://github.com/ClickHouse/ClickHouse/pull/26051) ([tavplubix](https://github.com/tavplubix)).
* إصلاح للحالة التي تُرجِع فيها `cutToFirstSignificantSubdomainCustom()`/`cutToFirstSignificantSubdomainCustomWithWWW()`/`firstSignificantSubdomainCustom()` نوعًا غير صحيح للثوابت، وبالتالي لا يعمل `optimize_skip_unused_shards`:. [#26041](https://github.com/ClickHouse/ClickHouse/pull/26041) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح احتمال عدم تطابق الترويسة عند استخدام projection عادي مع prewhere. يعالج هذا [#26020](https://github.com/ClickHouse/ClickHouse/issues/26020). [#26038](https://github.com/ClickHouse/ClickHouse/pull/26038) ([Amos Bird](https://github.com/amosbird)).
* إصلاح `sharding&#95;key` من عمود بلا دالة في `remote()` (إذ كان `select * from remote('127.1', system.one, dummy)` يؤدي سابقًا إلى الخطأ `Unknown column: dummy, there are only columns .`). [#25824](https://github.com/ClickHouse/ClickHouse/pull/25824) ([Azat Khuzhin](https://github.com/azat)).
* تم إصلاح الخطأين `Not found column ...` و`Missing column ...` عند التحديد من `MaterializeMySQL`. يعالج [#23708](https://github.com/ClickHouse/ClickHouse/issues/23708)، [#24830](https://github.com/ClickHouse/ClickHouse/issues/24830)، [#25794](https://github.com/ClickHouse/ClickHouse/issues/25794). [#25822](https://github.com/ClickHouse/ClickHouse/pull/25822) ([tavplubix](https://github.com/tavplubix)).
* إصلاح `optimize_skip_unused_shards_rewrite_in` للأنواع غير `UInt64` (إذ قد يختار في النهاية أجزاءً موزعة غير صحيحة أو يطلق `Cannot infer type of an empty tuple` أو `Function tuple requires at least one argument`). [#25798](https://github.com/ClickHouse/ClickHouse/pull/25798) ([Azat Khuzhin](https://github.com/azat)).

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

* أصبحنا الآن نشغّل الاختبارات ذات الحالة والاختبارات عديمة الحالة في مناطق زمنية عشوائية. يُصلح [#12439](https://github.com/ClickHouse/ClickHouse/issues/12439). وأصبحت قراءة String على أنه DateTime وكتابة DateTime على أنه String في Protobuf format تراعيان الآن المنطقة الزمنية. كما أصبحت قراءة UInt16 على أنه DateTime في تنسيقات Arrow وParquet تتعامل معه على أنه Date أولًا، ثم تحوّله إلى DateTime مع مراعاة المنطقة الزمنية الخاصة بـ DateTime، لأن Date يُسلسَل في Arrow وParquet على أنه UInt16. وأصبح GraphiteMergeTree يراعي الآن المنطقة الزمنية عند تقريب الأوقات. يُصلح [#5098](https://github.com/ClickHouse/ClickHouse/issues/5098). المؤلف: @alexey-milovidov. [#15408](https://github.com/ClickHouse/ClickHouse/pull/15408) ([alesapin](https://github.com/alesapin)).
* يدعم `clickhouse-test` اختبارات SQL باستخدام قوالب [Jinja2](https://jinja.palletsprojects.com/en/3.0.x/templates/#synopsis). [#26579](https://github.com/ClickHouse/ClickHouse/pull/26579) ([Vladimir C](https://github.com/vdimir)).
* أُضيف دعم للبناء باستخدام `clang-13`. هذا يغلق [#27705](https://github.com/ClickHouse/ClickHouse/issues/27705). [#27714](https://github.com/ClickHouse/ClickHouse/pull/27714) ([alexey-milovidov](https://github.com/alexey-milovidov)). [#27777](https://github.com/ClickHouse/ClickHouse/pull/27777) ([Sergei Semin](https://github.com/syominsergey))
* أُضيفت خيارات CMake للبناء مع مجموعة تعليمات CPU محددة أو بدونها. هذا متعلق بـ [#17469](https://github.com/ClickHouse/ClickHouse/issues/17469) و[#27509](https://github.com/ClickHouse/ClickHouse/issues/27509). [#27508](https://github.com/ClickHouse/ClickHouse/pull/27508) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أُصلح ربط البرامج المساعدة عند استخدام المكتبات الديناميكية. [#26958](https://github.com/ClickHouse/ClickHouse/pull/26958) ([Raúl Marín](https://github.com/Algunenano)).
* جرى تحديث RocksDB إلى نسخة master بتاريخ `2021-07-16`. [#26411](https://github.com/ClickHouse/ClickHouse/pull/26411) ([alexey-milovidov](https://github.com/alexey-milovidov)).

<div id="clickhouse-release-v218-2021-08-12">
  ### إصدار ClickHouse v21.8، 2021-08-12
</div>

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

* يستخدم الإصدار الجديد نوع البيانات `Map` في جداول سجلات النظام (`system.query_log`, `system.query_thread_log`, `system.processes`, `system.opentelemetry_span_log`). ستُنشأ هذه الجداول تلقائيًا بأنواع البيانات الجديدة. كما تُنشأ أعمدة افتراضية لدعم الاستعلامات القديمة. أُغلقت في [#18698](https://github.com/ClickHouse/ClickHouse/issues/18698). [#23934](https://github.com/ClickHouse/ClickHouse/pull/23934), [#25773](https://github.com/ClickHouse/ClickHouse/pull/25773) ([hexiaoting](https://github.com/hexiaoting), [sundy-li](https://github.com/sundy-li), [Maksim Kita](https://github.com/kitaisreal)). إذا كنت تريد *الرجوع إلى إصدار أقدم* من الإصدار 21.8 إلى إصدارات أقدم، فستحتاج إلى تنظيف جداول النظام الخاصة بالسجلات يدويًا. راجع `/var/lib/clickhouse/data/system/*_log`.

<div id="new-features">
  #### الميزات الجديدة
</div>

* إضافة دعم لجزء من معيار SQL/JSON. [#24148](https://github.com/ClickHouse/ClickHouse/pull/24148) ([l1tsolaiki](https://github.com/l1tsolaiki)، [Kseniia Sumarokova](https://github.com/kssenii)).
* جمع مقاييس النظام الشائعة (في `system.asynchronous_metrics` و`system.asynchronous_metric_log`) مثل استخدام CPU، واستخدام القرص، واستخدام الذاكرة، وIO، والشبكة، والملفات، ومتوسط الحمل، وترددات CPU، والمستشعرات الحرارية، وعدادات EDAC، ومدة التشغيل؛ كما أُضيفت مقاييس عن تفاوت scheduling والزمن المستغرَق في جمع المقاييس. يعمل ذلك بصورة مشابهة لأداة `atop` في ClickHouse، ويتيح الوصول إلى بيانات Monitoring حتى في حال عدم تثبيت أدوات إضافية. إغلاق [#9430](https://github.com/ClickHouse/ClickHouse/issues/9430). [#24416](https://github.com/ClickHouse/ClickHouse/pull/24416) ([alexey-milovidov](https://github.com/alexey-milovidov)، [Yegor Levankov](https://github.com/elevankoff)).
* إضافة محرك الجدول وdatabase engine باسم MaterializedPostgreSQL. يتيح هذا database engine استنساخ database كاملة أو أي subset من database tables. [#20470](https://github.com/ClickHouse/ClickHouse/pull/20470) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة الدوال الجديدة `leftPad()`, `rightPad()`, `leftPadUTF8()`, `rightPadUTF8()`. [#26075](https://github.com/ClickHouse/ClickHouse/pull/26075) ([Vitaly Baranov](https://github.com/vitlibar)).
* إضافة الكلمة المفتاحية `FIRST` إلى الأمر `ADD INDEX` بحيث يمكن إضافة الـ index في بداية قائمة الـ فهارس. [#25904](https://github.com/ClickHouse/ClickHouse/pull/25904) ([xjewer](https://github.com/xjewer)).
* تقديم table باسم `system.data_skipping_indices` تحتوي على معلومات حول data skipping فهارس الموجودة. إغلاق [#7659](https://github.com/ClickHouse/ClickHouse/issues/7659). [#25693](https://github.com/ClickHouse/ClickHouse/pull/25693) ([Dmitry Novik](https://github.com/novikd)).
* إضافة دالتي `bin`/`unbin`. [#25609](https://github.com/ClickHouse/ClickHouse/pull/25609) ([zhaoyu](https://github.com/zxc111)).
* دعم النوع `Map` والأنواع `UInt128`, `Int128`, `UInt256`, `Int256` في الدالتين `mapAdd` و`mapSubtract`. [#25596](https://github.com/ClickHouse/ClickHouse/pull/25596) ([Ildus Kurbangaliev](https://github.com/ildus)).
* دعم expression ‏`DISTINCT ON (columns)`، مع إغلاق [#25404](https://github.com/ClickHouse/ClickHouse/issues/25404). [#25589](https://github.com/ClickHouse/ClickHouse/pull/25589) ([Zijie Lu](https://github.com/TszKitLo40)).
* إضافة إمكانية إعادة تعيين custom setting إلى default وإزالته من metadata الخاصة بالـ table. يتيح ذلك التراجع عن التغيير من دون معرفة القيمة الافتراضية للنظام/الـ config. إغلاق [#14449](https://github.com/ClickHouse/ClickHouse/issues/14449). [#17769](https://github.com/ClickHouse/ClickHouse/pull/17769) ([xjewer](https://github.com/xjewer)).
* عرض pipelines على شكل graphs في web UI إذا تم إرسال query ‏`EXPLAIN PIPELINE graph = 1`. [#26067](https://github.com/ClickHouse/ClickHouse/pull/26067) ([alexey-milovidov](https://github.com/alexey-milovidov)).

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

* دعم ترجمة الدوال التجميعية برمجيًا. استخدم الخيار `compile_aggregate_expressions` لتمكين ذلك. [#24789](https://github.com/ClickHouse/ClickHouse/pull/24789) ([Maksim Kita](https://github.com/kitaisreal)).
* تقليل زمن استجابة الاستعلامات القصيرة التي تتطلب القراءة من جداول تحتوي على عدد كبير من الأعمدة. [#26371](https://github.com/ClickHouse/ClickHouse/pull/26371) ([Anton Popov](https://github.com/CurtizJ)).

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

* استخدام نوع البيانات `Map` لجداول سجلات النظام (`system.query_log`, `system.query_thread_log`, `system.processes`, `system.opentelemetry_span_log`). ستُنشأ هذه الجداول تلقائيًا باستخدام أنواع البيانات الجديدة. وتُنشأ أعمدة افتراضية لدعم الاستعلامات القديمة. يغلق [#18698](https://github.com/ClickHouse/ClickHouse/issues/18698). [#23934](https://github.com/ClickHouse/ClickHouse/pull/23934)، [#25773](https://github.com/ClickHouse/ClickHouse/pull/25773) ([hexiaoting](https://github.com/hexiaoting)، [sundy-li](https://github.com/sundy-li)، [Maksim Kita](https://github.com/kitaisreal)).
* بالنسبة إلى قاموس ذي مفتاح مركب يحتوي على سمة واحدة فقط، يُسمح بعدم تغليف تعبير المفتاح داخل tuple للدالتين `dictGet` و`dictHas`. [#26130](https://github.com/ClickHouse/ClickHouse/pull/26130) ([Maksim Kita](https://github.com/kitaisreal)).
* تنفيذ الدالتين `bin` و`hex` انطلاقًا من حالات `AggregateFunction`. [#26094](https://github.com/ClickHouse/ClickHouse/pull/26094) ([zhaoyu](https://github.com/zxc111)).
* دعم الوسائط من النوع `UUID` للدالتين `empty` و`notEmpty`. ويُعد `UUID` فارغًا إذا كان كله أصفارًا (nil UUID). يغلق [#3446](https://github.com/ClickHouse/ClickHouse/issues/3446). [#25974](https://github.com/ClickHouse/ClickHouse/pull/25974) ([zhaoyu](https://github.com/zxc111)).
* إضافة دعم `SET SQL_SELECT_LIMIT` في بروتوكول MySQL. يغلق [#17115](https://github.com/ClickHouse/ClickHouse/issues/17115). [#25972](https://github.com/ClickHouse/ClickHouse/pull/25972) ([Kseniia Sumarokova](https://github.com/kssenii)).
* المزيد من instrumentation لتفاعل الشبكة: إضافة counters لعدد بايتات recv/send، وإضافة gauges لعمليات recvs/sends. أُضيف التوثيق الناقص. يغلق [#5897](https://github.com/ClickHouse/ClickHouse/issues/5897). [#25962](https://github.com/ClickHouse/ClickHouse/pull/25962) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة setting ‏`optimize_move_to_prewhere_if_final`. إذا كان الاستعلام يحتوي على `FINAL`، فلن يُفعَّل التحسين `move_to_prewhere` إلا إذا كان كلٌّ من `optimize_move_to_prewhere` و`optimize_move_to_prewhere_if_final` مفعّلًا. يغلق [#8684](https://github.com/ClickHouse/ClickHouse/issues/8684). [#25940](https://github.com/ClickHouse/ClickHouse/pull/25940) ([Kseniia Sumarokova](https://github.com/kssenii)).
* السماح بالمُعرّفات المركبة الموضوعة بين علامتَي اقتباس للجداول المُستخدمة في JOIN. يغلق [#17861](https://github.com/ClickHouse/ClickHouse/issues/17861). [#25924](https://github.com/ClickHouse/ClickHouse/pull/25924) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة دعم لمكوّنات Unicode (مثل الصينية والسيريلية) في أنواع البيانات `Nested`. يغلق [#25594](https://github.com/ClickHouse/ClickHouse/issues/25594). [#25923](https://github.com/ClickHouse/ClickHouse/pull/25923) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح لدوال `quantiles*` بالعمل مع `aggregate_functions_null_for_empty`. يغلق [#25892](https://github.com/ClickHouse/ClickHouse/issues/25892). [#25919](https://github.com/ClickHouse/ClickHouse/pull/25919) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح بأن تكون المعلمات الخاصة بالدوال التجميعية البارامترية تعبيرات ثابتة اعتباطية (مثل `1 + 2`)، لا مجرد قيم حرفية. كما يتيح ذلك استخدام معلمات الاستعلام (في الاستعلامات المعلّمة مثل `{param:UInt8}`) داخل الدوال التجميعية البارامترية. يغلق [#11607](https://github.com/ClickHouse/ClickHouse/issues/11607). [#25910](https://github.com/ClickHouse/ClickHouse/pull/25910) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* طرح الاستثناء بشكل صحيح عند محاولة تحليل قيمة `Date` غير صالحة. يُغلق [#6481](https://github.com/ClickHouse/ClickHouse/issues/6481). [#25909](https://github.com/ClickHouse/ClickHouse/pull/25909) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* دعم تضمينات متعددة في الإعدادات. يمكن تضمين إعدادات المستخدمين وإعدادات الخادم البعيد من مصادر متعددة. ما عليك سوى وضع العنصر `<include />` مع السمة `from_zk` أو `from_env` أو `incl`، وسيُستبدل عبر الاستبدال. [#24404](https://github.com/ClickHouse/ClickHouse/pull/24404) ([nvartolomei](https://github.com/nvartolomei)).
* دعم الاستعلامات التي تحتوي على عمود باسم `"null"` (يجب تحديده بين علامتَي backtick أو علامتَي اقتباس مزدوجتين) ومع `ON CLUSTER`. يُغلق [#24035](https://github.com/ClickHouse/ClickHouse/issues/24035). [#25907](https://github.com/ClickHouse/ClickHouse/pull/25907) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* دعم `LowCardinality` و`Decimal` و`UUID` في `JSONExtract`. يُغلق [#24606](https://github.com/ClickHouse/ClickHouse/issues/24606). [#25900](https://github.com/ClickHouse/ClickHouse/pull/25900) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تحويل ملف السجل من تنسيق `readline` إلى تنسيق `replxx`. [#25888](https://github.com/ClickHouse/ClickHouse/pull/25888) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح مشكلة قد تؤدي إلى أجزاء متقاطعة بعد `DROP PART` أو الحذف في الخلفية لجزء فارغ. [#25884](https://github.com/ClickHouse/ClickHouse/pull/25884) ([alesapin](https://github.com/alesapin)).
* تحسين التعامل مع الأجزاء المفقودة في جداول `ReplicatedMergeTree`. إصلاح حالات نادرة من عدم الاتساق في `ReplicationQueue`. يُصلح [#10368](https://github.com/ClickHouse/ClickHouse/issues/10368). [#25820](https://github.com/ClickHouse/ClickHouse/pull/25820) ([alesapin](https://github.com/alesapin)).
* السماح ببدء `clickhouse-client` مع دليل عمل غير قابل للقراءة. [#25817](https://github.com/ClickHouse/ClickHouse/pull/25817) ([ianton-ru](https://github.com/ianton-ru)).
* إصلاح خطأ "لا توجد أعمدة متاحة" في محرك التخزين `Merge`. [#25801](https://github.com/ClickHouse/ClickHouse/pull/25801) ([Azat Khuzhin](https://github.com/azat)).
* يدعم محرك MySQL الآن تبادل تعليقات الأعمدة بين MySQL وClickHouse. [#25795](https://github.com/ClickHouse/ClickHouse/pull/25795) ([Storozhuk Kostiantyn](https://github.com/sand6255)).
* إصلاح السلوك غير المتسق للثابت `GROUP BY` على مجموعة فارغة. يُغلق [#6842](https://github.com/ClickHouse/ClickHouse/issues/6842). [#25786](https://github.com/ClickHouse/ClickHouse/pull/25786) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إلغاء عمليات الدمج الجارية بالفعل في partition عند `DROP PARTITION` و`TRUNCATE` لـ `ReplicatedMergeTree`. يحل [#17151](https://github.com/ClickHouse/ClickHouse/issues/17151). [#25684](https://github.com/ClickHouse/ClickHouse/pull/25684) ([tavplubix](https://github.com/tavplubix)).
* دعم نوع البيانات ENUM\` في MaterializeMySQL. [#25676](https://github.com/ClickHouse/ClickHouse/pull/25676) ([Storozhuk Kostiantyn](https://github.com/sand6255)).
* دعم الأعمدة materialized وذات الأسماء المستعارة في JOIN، يُغلق [#13274](https://github.com/ClickHouse/ClickHouse/issues/13274). [#25634](https://github.com/ClickHouse/ClickHouse/pull/25634) ([Vladimir C](https://github.com/vdimir)).
* إصلاح حالة تسابق منطقية محتملة بين `ALTER TABLE ... DETACH` وعمليات الدمج في الخلفية. [#25605](https://github.com/ClickHouse/ClickHouse/pull/25605) ([Azat Khuzhin](https://github.com/azat)).
* جعل المقياس `NetworkReceiveElapsedMicroseconds` يتضمن بشكل صحيح الوقت المستغرق في انتظار البيانات من العميل قبل `INSERT`. أُغلِق [#9958](https://github.com/ClickHouse/ClickHouse/issues/9958). [#25602](https://github.com/ClickHouse/ClickHouse/pull/25602) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* دعم `TRUNCATE TABLE` لـ S3 وHDFS. أُغلِق [#25530](https://github.com/ClickHouse/ClickHouse/issues/25530). [#25550](https://github.com/ClickHouse/ClickHouse/pull/25550) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم إعادة تحميل الإعدادات ديناميكيًا لتغيير عدد خيوط التنفيذ في مجمع تنفيذ المهام في الخلفية (عمليات الدمج، وmutations، وfetches). [#25548](https://github.com/ClickHouse/ClickHouse/pull/25548) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* السماح باستخراج عنصر غير نصي كسلسلة نصية باستخدام `JSONExtract`. هذا يخص [#25414](https://github.com/ClickHouse/ClickHouse/issues/25414). [#25452](https://github.com/ClickHouse/ClickHouse/pull/25452) ([Amos Bird](https://github.com/amosbird)).
* دعم التعبيرات النمطية في وسيطة `Database` الخاصة بـ `StorageMerge`. أُغلِق [#776](https://github.com/ClickHouse/ClickHouse/issues/776). [#25064](https://github.com/ClickHouse/ClickHouse/pull/25064) ([flynn](https://github.com/ucasfl)).
* واجهة الويب: إذا كانت القيمة تبدو كعنوان URL، فأنشئ رابطًا تلقائيًا. [#25965](https://github.com/ClickHouse/ClickHouse/pull/25965) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* جعل `sudo service clickhouse-server start` يعمل على الأنظمة التي تستخدم `systemd` مثل Centos 8. أُغلِق [#14298](https://github.com/ClickHouse/ClickHouse/issues/14298). أُغلِق [#17799](https://github.com/ClickHouse/ClickHouse/issues/17799). [#25921](https://github.com/ClickHouse/ClickHouse/pull/25921) ([alexey-milovidov](https://github.com/alexey-milovidov)).

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

* إصلاح `SET ROLE` غير الصحيح في بعض الحالات. [#26707](https://github.com/ClickHouse/ClickHouse/pull/26707) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح احتمال فكّ الإشارة إلى `nullptr` في دوال النوافذ. إصلاح [#25276](https://github.com/ClickHouse/ClickHouse/issues/25276). [#26668](https://github.com/ClickHouse/ClickHouse/pull/26668) ([Alexander Kuzmenkov](https://github.com/akuzm)).
* إصلاح أسماء الدوال غير الصحيحة لـ `groupBitmapAnd/Or/Xor`. إصلاح [#26557](https://github.com/ClickHouse/ClickHouse/pull/26557) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تعطل عند إيقاف RabbitMQ في حال لم يبدأ إعداد RabbitMQ. إغلاق [#26504](https://github.com/ClickHouse/ClickHouse/issues/26504). [#26529](https://github.com/ClickHouse/ClickHouse/pull/26529) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح مشكلات في استعلام `CREATE DICTIONARY` إذا كان اسم القاموس أو اسم قاعدة البيانات موضوعًا بين علامتي اقتباس. إغلاق [#26491](https://github.com/ClickHouse/ClickHouse/issues/26491). [#26508](https://github.com/ClickHouse/ClickHouse/pull/26508) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح تعذّر تحليل الأسماء بعد إعادة كتابة الأسماء المستعارة للأعمدة. إصلاح [#26432](https://github.com/ClickHouse/ClickHouse/issues/26432). [#26475](https://github.com/ClickHouse/ClickHouse/pull/26475) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تدفق غير منتهٍ للكتل غير المنضمّة في `partial_merge_join`. إغلاق [#26325](https://github.com/ClickHouse/ClickHouse/issues/26325). [#26374](https://github.com/ClickHouse/ClickHouse/pull/26374) ([Vladimir C](https://github.com/vdimir)).
* إصلاح احتمال حدوث تعطل عند تسجيل الدخول كمستخدم محذوف. إصلاح [#26073](https://github.com/ClickHouse/ClickHouse/issues/26073). [#26363](https://github.com/ClickHouse/ClickHouse/pull/26363) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح `optimize_distributed_group_by_sharding_key` في حالة وجود أعمدة متعددة (إذ يؤدي ذلك إلى نتيجة غير صحيحة مع `optimize_skip_unused_shards=1`/`allow_nondeterministic_optimize_skip_unused_shards=1` ومع وجود أعمدة متعددة في تعبير مفتاح التجزئة). [#26353](https://github.com/ClickHouse/ClickHouse/pull/26353) ([Azat Khuzhin](https://github.com/azat)).
* لم يكن `CAST` من `Date` إلى `DateTime` (أو `DateTime64`) يستخدم المنطقة الزمنية الخاصة بنوع `DateTime`. وقد يؤثر ذلك أيضًا في المقارنة بين `Date` و`DateTime`. كذلك، لم يكن استنتاج النوع المشترك لـ `Date` و`DateTime` يستخدم المنطقة الزمنية المقابلة. وقد أثّر ذلك في نتائج الدالة `if` وإنشاء `Array`. إغلاق [#24128](https://github.com/ClickHouse/ClickHouse/issues/24128). [#24129](https://github.com/ClickHouse/ClickHouse/pull/24129) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح خطأ نادر في استعادة replica مفقودة قد يؤدي إلى تباعد النسخ المتماثلة. [#26321](https://github.com/ClickHouse/ClickHouse/pull/26321) ([tavplubix](https://github.com/tavplubix)).
* إصلاح فك ضغط zstd في حال وجود محارف هروب في نهاية المخزن المؤقت الداخلي. إغلاق [#26013](https://github.com/ClickHouse/ClickHouse/issues/26013). [#26314](https://github.com/ClickHouse/ClickHouse/pull/26314) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح logical error عند تنفيذ join مع totals. إغلاق [#26017](https://github.com/ClickHouse/ClickHouse/issues/26017). [#26250](https://github.com/ClickHouse/ClickHouse/pull/26250) ([Vladimir C](https://github.com/vdimir)).
* إزالة فاصل سطر زائد في العمود `thread_name` في جدول `system.stack_trace`. إصلاح [#24124](https://github.com/ClickHouse/ClickHouse/issues/24124). [#26210](https://github.com/ClickHouse/ClickHouse/pull/26210) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح `joinGet` مع الأعمدة `LowCarinality`، وإغلاق [#25993](https://github.com/ClickHouse/ClickHouse/issues/25993). [#26118](https://github.com/ClickHouse/ClickHouse/pull/26118) ([Vladimir C](https://github.com/vdimir)).
* إصلاح احتمال حدوث crash في `pointInPolygon` إذا كان الإعداد `validate_polygons` معطّلًا. [#26113](https://github.com/ClickHouse/ClickHouse/pull/26113) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح رفع استثناء عند التكرار على directory بعيد غير موجود. [#26087](https://github.com/ClickHouse/ClickHouse/pull/26087) ([ianton-ru](https://github.com/ianton-ru)).
* إصلاح crash نادر في الخادم بسبب `abort` في عميل ZooKeeper. إصلاح [#25813](https://github.com/ClickHouse/ClickHouse/issues/25813). [#26079](https://github.com/ClickHouse/ClickHouse/pull/26079) ([alesapin](https://github.com/alesapin)).
* إصلاح تقدير غير صحيح لعدد الـ thread لعملية join الخاصة بالـ subquery اليمنى في بعض الحالات. إغلاق [#24075](https://github.com/ClickHouse/ClickHouse/issues/24075). [#26052](https://github.com/ClickHouse/ClickHouse/pull/26052) ([Vladimir C](https://github.com/vdimir)).
* إصلاح `sequence_id` غير الصحيح في حزم بروتوكول MySQL التي يرسلها ClickHouse عند حدوث Exception أثناء تنفيذ query. وقد يتسبب ذلك في أن يعيد عميل MySQL تعيين connection إلى ClickHouse server. إصلاح [#21184](https://github.com/ClickHouse/ClickHouse/issues/21184). [#26051](https://github.com/ClickHouse/ClickHouse/pull/26051) ([tavplubix](https://github.com/tavplubix)).
* إصلاح احتمال عدم تطابق header عند استخدام projection عادي مع `PREWHERE`. إصلاح [#26020](https://github.com/ClickHouse/ClickHouse/issues/26020). [#26038](https://github.com/ClickHouse/ClickHouse/pull/26038) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تنسيق النوع `Map` ذي المفاتيح الصحيحة إلى `JSON`. [#25982](https://github.com/ClickHouse/ClickHouse/pull/25982) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح احتمال حدوث deadlock أثناء فك تكدس query profiler. إصلاح [#25968](https://github.com/ClickHouse/ClickHouse/issues/25968). [#25970](https://github.com/ClickHouse/ClickHouse/pull/25970) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح crash عند استدعاء `dictGet()` باستخدام arguments غير صحيحة. [#25913](https://github.com/ClickHouse/ClickHouse/pull/25913) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح authentication من نوع `scram-sha-256` لمحركات PostgreSQL. إغلاق [#24516](https://github.com/ClickHouse/ClickHouse/issues/24516). [#25906](https://github.com/ClickHouse/ClickHouse/pull/25906) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح backoff طويل للغاية للـ tasks الخلفية عندما يكون background pool ممتلئًا. إصلاح [#25836](https://github.com/ClickHouse/ClickHouse/issues/25836). [#25893](https://github.com/ClickHouse/ClickHouse/pull/25893) ([alesapin](https://github.com/alesapin)).
* إصلاح معالجة الاستثناءات على ARM مع حجم صفحة غير `default`. يُصلح [#25512](https://github.com/ClickHouse/ClickHouse/issues/25512)، [#25044](https://github.com/ClickHouse/ClickHouse/issues/25044)، [#24901](https://github.com/ClickHouse/ClickHouse/issues/24901)، [#23183](https://github.com/ClickHouse/ClickHouse/issues/23183)، [#20221](https://github.com/ClickHouse/ClickHouse/issues/20221)، [#19703](https://github.com/ClickHouse/ClickHouse/issues/19703)، [#19028](https://github.com/ClickHouse/ClickHouse/issues/19028)، [#18391](https://github.com/ClickHouse/ClickHouse/issues/18391)، [#18121](https://github.com/ClickHouse/ClickHouse/issues/18121)، [#17994](https://github.com/ClickHouse/ClickHouse/issues/17994)، [#12483](https://github.com/ClickHouse/ClickHouse/issues/12483). [#25854](https://github.com/ClickHouse/ClickHouse/pull/25854) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح `sharding_key` من عمود من دون دالة في `remote()` (إذ كان `select * from remote('127.1', system.one, dummy)` يؤدي سابقًا إلى الخطأ `Unknown column: dummy, there are only columns .`). [#25824](https://github.com/ClickHouse/ClickHouse/pull/25824) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح أخطاء `Not found column ...` و `Missing column ...` عند الاستعلام من `MaterializeMySQL`. يُصلح [#23708](https://github.com/ClickHouse/ClickHouse/issues/23708)، [#24830](https://github.com/ClickHouse/ClickHouse/issues/24830)، [#25794](https://github.com/ClickHouse/ClickHouse/issues/25794). [#25822](https://github.com/ClickHouse/ClickHouse/pull/25822) ([tavplubix](https://github.com/tavplubix)).
* إصلاح `optimize_skip_unused_shards_rewrite_in` للأنواع غير `UInt64` (إذ قد يختار `shards` غير صحيحة في النهاية أو يطلق `Cannot infer type of an empty tuple` أو `Function tuple requires at least one argument`). [#25798](https://github.com/ClickHouse/ClickHouse/pull/25798) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح خلل نادر في الاستعلام `DROP PART` لجدول `ReplicatedMergeTree` يمكن أن يؤدي إلى رسالة الخطأ `Unexpected merged part intersecting drop range`. [#25783](https://github.com/ClickHouse/ClickHouse/pull/25783) ([alesapin](https://github.com/alesapin)).
* إصلاح خلل في `TTL` مع تعبير `GROUP BY` يمنع تنفيذ `TTL` بعد أول تنفيذ داخل الـ `part`. [#25743](https://github.com/ClickHouse/ClickHouse/pull/25743) ([alesapin](https://github.com/alesapin)).
* السماح لـ StorageMerge بالوصول إلى الجداول ذات الأسماء المستعارة. يُغلق [#6051](https://github.com/ClickHouse/ClickHouse/issues/6051). [#25694](https://github.com/ClickHouse/ClickHouse/pull/25694) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح بطء `join` مع القواميس في بعض الحالات، يُغلق [#24209](https://github.com/ClickHouse/ClickHouse/issues/24209). [#25618](https://github.com/ClickHouse/ClickHouse/pull/25618) ([Vladimir C](https://github.com/vdimir)).
* إصلاح `ALTER MODIFY COLUMN` للأعمدة التي تدخل في تعبيرات `TTL`. [#25554](https://github.com/ClickHouse/ClickHouse/pull/25554) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح فشل تحقق في `PREWHERE` مع نوع غير `UInt8`، يُغلق [#19589](https://github.com/ClickHouse/ClickHouse/issues/19589). [#25484](https://github.com/ClickHouse/ClickHouse/pull/25484) ([Vladimir C](https://github.com/vdimir)).
* إصلاح بعض أعطال `msan` الناتجة عن الاختبار العشوائي. يُصلح [#22517](https://github.com/ClickHouse/ClickHouse/issues/22517). [#26428](https://github.com/ClickHouse/ClickHouse/pull/26428) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تحديث التحقق من أمر `chown` في نقطة بدء Docker الخاصة بـ `clickhouse-server`. يُصلح ذلك الخطأ 'فشلت إعادة تشغيل كبسولة العنقود (أو انتهت المهلة)' على Kubernetes. [#26545](https://github.com/ClickHouse/ClickHouse/pull/26545) ([Ky Li](https://github.com/Kylinrix)).

<div id="clickhouse-release-v217-2021-07-09">
  ### إصدار ClickHouse v21.7، 2021-07-09
</div>

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

* تم تحسين أداء الاستعلامات التي تستخدم مجموعات كبيرة معرّفة صراحةً. وأُضيف إعداد التوافق `legacy_column_name_of_tuple_literal`. ويُستحسن ضبطه على `true` عند إجراء تحديث متدرّج للعنقود من إصدار أقدم من 21.7 إلى أي إصدار أحدث. وإلا فقد تفشل الاستعلامات الموزعة التي تستخدم مجموعات معرّفة صراحةً في عبارة `IN` أثناء التحديث. [#25371](https://github.com/ClickHouse/ClickHouse/pull/25371) ([Anton Popov](https://github.com/CurtizJ)).
* تغيير غير متوافق مع الإصدارات السابقة واللاحقة في الحد الأقصى لحجم المخزن المؤقت في clickhouse-keeper (وهو بديل تجريبي لـ ZooKeeper). من الأفضل تنفيذ ذلك الآن (قبل الدخول إلى بيئة الإنتاج) بدلًا من تأجيله إلى وقت لاحق. [#25421](https://github.com/ClickHouse/ClickHouse/pull/25421) ([alesapin](https://github.com/alesapin)).

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

* دعم التهيئة بتنسيق YAML كبديل لـ XML. هذا يغلق [#3607](https://github.com/ClickHouse/ClickHouse/issues/3607). [#21858](https://github.com/ClickHouse/ClickHouse/pull/21858) ([BoloniniD](https://github.com/BoloniniD)).
* يوفّر طريقة لاستعادة الجدول المُكرَّر عندما تكون البيانات موجودة (على الأرجح)، لكن البيانات الوصفية لـ ZooKeeper مفقودة. يحل [#13458](https://github.com/ClickHouse/ClickHouse/issues/13458). [#13652](https://github.com/ClickHouse/ClickHouse/pull/13652) ([Mike Kot](https://github.com/myrrc)).
* دعم البُنى والخرائط في Arrow/Parquet/ORC، ودعم القواميس في تنسيقات الإدخال/الإخراج Arrow. ويقدّم الإعداد الجديد `output_format_arrow_low_cardinality_as_dictionary`. [#24341](https://github.com/ClickHouse/ClickHouse/pull/24341) ([Kruglov Pavel](https://github.com/Avogar)).
* أُضيف دعم النوع `Array` في القواميس. [#25119](https://github.com/ClickHouse/ClickHouse/pull/25119) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيفت الدالة `bitPositionsToArray`. هذا يغلق [#23792](https://github.com/ClickHouse/ClickHouse/issues/23792). المؤلف \[Kevin Wan] (@MaxWk). [#25394](https://github.com/ClickHouse/ClickHouse/pull/25394) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيفت الدالة `dateName` لإرجاع أسماء مثل 'Friday' أو 'April'. المؤلف \[Daniil Kondratyev] (@dankondr). [#25372](https://github.com/ClickHouse/ClickHouse/pull/25372) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيفت الدالة `toJSONString` لتحويل الأعمدة إلى تمثيلاتها بصيغة JSON. [#25164](https://github.com/ClickHouse/ClickHouse/pull/25164) ([Amos Bird](https://github.com/amosbird)).
* يحتوي `query_log` الآن على عمودين جديدين: `initial_query_start_time` و`initial_query_start_time_microsecond` يسجّلان وقت بدء الاستعلام الموزّع، إن وجد. [#25022](https://github.com/ClickHouse/ClickHouse/pull/25022) ([Amos Bird](https://github.com/amosbird)).
* أُضيفت الدالة التجميعية `segmentLengthSum`. [#24250](https://github.com/ClickHouse/ClickHouse/pull/24250) ([flynn](https://github.com/ucasfl)).
* أُضيف إعداد Boolean جديد `prefer_global_in_and_join` يجعل جميع IN/JOIN افتراضيًا GLOBAL IN/JOIN. [#23434](https://github.com/ClickHouse/ClickHouse/pull/23434) ([Amos Bird](https://github.com/amosbird)).
* دعم استعلامات `ALTER DELETE` لمحرك الجدول `Join`. [#23260](https://github.com/ClickHouse/ClickHouse/pull/23260) ([foolchi](https://github.com/foolchi)).
* أُضيفت الدالة التجميعية `quantileBFloat16` وكذلك `quantilesBFloat16` و`medianBFloat16` المقابلتان لها. وهو مُقدِّر quantile بسيط وسريع جدًا بخطأ نسبي لا يزيد على 0.390625%. هذا يغلق [#16641](https://github.com/ClickHouse/ClickHouse/issues/16641). [#23204](https://github.com/ClickHouse/ClickHouse/pull/23204) ([Ivan Novitskiy](https://github.com/RedClusive)).
* تنفيذ الدالة `sequenceNextNode()` المفيدة في `تحليل التدفق`. [#19766](https://github.com/ClickHouse/ClickHouse/pull/19766) ([achimbab](https://github.com/achimbab)).

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

* إضافة دعم نظام ملفات افتراضي عبر HDFS. [#11058](https://github.com/ClickHouse/ClickHouse/pull/11058) ([overshov](https://github.com/overshov)) ([Kseniia Sumarokova](https://github.com/kssenii)).
* يدعم clickhouse-keeper الآن (وهو بديل تجريبي لـ ZooKeeper) قوائم التحكم بالوصول (ACL) من نوع `digest` على غرار ZooKeeper. [#24448](https://github.com/ClickHouse/ClickHouse/pull/24448) ([alesapin](https://github.com/alesapin)).

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

* أُضيف تحسين يحوّل بعض الدوال إلى قراءة الأعمدة الفرعية لتقليل كمية البيانات المقروءة. على سبيل المثال، تتحول العبارة `col IS NULL` إلى قراءة العمود الفرعي `col.null`. يمكن تمكين هذا التحسين عبر الإعداد `optimize_functions_to_subcolumns`، وهو معطّل افتراضيًا حاليًا. [#24406](https://github.com/ClickHouse/ClickHouse/pull/24406) ([Anton Popov](https://github.com/CurtizJ)).
* أُعيدت كتابة مزيد من الأعمدة إلى تعبيرات الأسماء المستعارة حيث أمكن. وقد يتيح ذلك تحسينًا أفضل، مثل الإسقاطات. [#24405](https://github.com/ClickHouse/ClickHouse/pull/24405) ([Amos Bird](https://github.com/amosbird)).
* يمكن استخدام فهرس من النوع `bloom_filter` مع التعبيرات التي تستخدم الدالة `hasAny` مع المصفوفات الثابتة. ويغلق هذا: [#24291](https://github.com/ClickHouse/ClickHouse/issues/24291). [#24900](https://github.com/ClickHouse/ClickHouse/pull/24900) ([Vasily Nemkov](https://github.com/Enmk)).
* أُضيف backoff أسي لإعادة جدولة محاولة القراءة في حال كانت قوائم انتظار RabbitMQ فارغة. (يدعم ClickHouse استيراد البيانات من RabbitMQ). يغلق [#24340](https://github.com/ClickHouse/ClickHouse/issues/24340). [#24415](https://github.com/ClickHouse/ClickHouse/pull/24415) ([Kseniia Sumarokova](https://github.com/kssenii)).

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

* إتاحة تقييد عرض النطاق الترددي للنسخ المتماثل. تمت إضافة إعدادَي Replicated\*MergeTree التاليين: `max_replicated_fetches_network_bandwidth` و`max_replicated_sends_network_bandwidth`، وهما يتيحان تقييد السرعة القصوى لعمليات fetches/الإرسال المتماثلة للجدول. كما أُضيف إعدادان على مستوى الخادم (ضمن profile المستخدم `default`): `max_replicated_fetches_network_bandwidth_for_server` و`max_replicated_sends_network_bandwidth_for_server`، وهما يقيّدان السرعة القصوى للنسخ المتماثل لجميع الجداول. لا تُطبَّق هذه الإعدادات بدقة كاملة. وهي معطّلة افتراضيًا. يُصلح [#1821](https://github.com/ClickHouse/ClickHouse/issues/1821). [#24573](https://github.com/ClickHouse/ClickHouse/pull/24573) ([alesapin](https://github.com/alesapin)).
* قيود الموارد والعزل لجسور ODBC وLibrary. استخدام مجموعة ومستخدم `clickhouse-bridge` منفصلين لعمليات الجسر. تعيين oom\_score\_adj بحيث تكون الجسور أول ما يستهدفه OOM killer. وتعيين الحد الأقصى لـ RSS إلى 1 GiB. يُغلق [#23861](https://github.com/ClickHouse/ClickHouse/issues/23861). [#25280](https://github.com/ClickHouse/ClickHouse/pull/25280) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة رابط رمزي مستقل `clickhouse-keeper` إلى ملف `clickhouse` binary الرئيسي. أصبح من الممكن الآن تشغيل coordination من دون خادم ClickHouse الرئيسي. [#24059](https://github.com/ClickHouse/ClickHouse/pull/24059) ([alesapin](https://github.com/alesapin)).
* استخدام الإعدادات العامة للاستعلامات إلى `VIEW`. تم إصلاح السلوك الذي كانت فيه الاستعلامات إلى `VIEW` تستخدم إعدادات محلية، ما يؤدي إلى أخطاء إذا كانت الإعدادات في `CREATE VIEW` و`SELECT` مختلفة. واعتبارًا من الآن، لن يستخدم `VIEW` هذه الإعدادات المعدّلة، لكن لا يزال بإمكانك تمرير إعدادات إضافية في قسم `SETTINGS` من استعلام `CREATE VIEW`. يُغلق [#20551](https://github.com/ClickHouse/ClickHouse/issues/20551). [#24095](https://github.com/ClickHouse/ClickHouse/pull/24095) ([Vladimir](https://github.com/vdimir)).
* عند بدء تشغيل الخادم، لن تُزال الأجزاء ذات معرّف partition غير الصحيح أبدًا، بل ستُفصل دائمًا. [#25070](https://github.com/ClickHouse/ClickHouse/issues/25070). [#25166](https://github.com/ClickHouse/ClickHouse/pull/25166) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* زيادة حجم background schedule pool إلى 128 (الإعداد `background_schedule_pool_size`). يتيح ذلك تجنّب تعطّل replication queue عند بطء اتصال ZooKeeper. [#25072](https://github.com/ClickHouse/ClickHouse/pull/25072) ([alesapin](https://github.com/alesapin)).
* إضافة MergeTree setting باسم `max_parts_to_merge_at_once`، الذي يقيّد عدد الأجزاء التي يمكن دمجها في الخلفية دفعة واحدة. لا يؤثر ذلك في استعلام `OPTIMIZE FINAL`. يُصلح [#1820](https://github.com/ClickHouse/ClickHouse/issues/1820). [#24496](https://github.com/ClickHouse/ClickHouse/pull/24496) ([alesapin](https://github.com/alesapin)).
* السماح باستخدام العامل `NOT IN` في partition pruning. [#24894](https://github.com/ClickHouse/ClickHouse/pull/24894) ([Amos Bird](https://github.com/amosbird)).
* التعرّف على عناوين IPv4 مثل `127.0.1.1` على أنها محلية. هذا تغيير محل جدل ويُغلق [#23504](https://github.com/ClickHouse/ClickHouse/issues/23504). وسيختبر Michael Filimonov هذه الميزة. [#24316](https://github.com/ClickHouse/ClickHouse/pull/24316) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أصبحت قاعدة بيانات ClickHouse المُنشأة باستخدام MaterializeMySQL (وهي ميزة تجريبية) تحتوي الآن على جميع تعليقات الأعمدة من MySQL database التي تمت materialize لها. [#25199](https://github.com/ClickHouse/ClickHouse/pull/25199) ([Storozhuk Kostiantyn](https://github.com/sand6255)).
* إضافة إعدادات (`connection_auto_close`/`connection_max_tries`/`connection_pool_size`) لمحرك تخزين MySQL. [#24146](https://github.com/ClickHouse/ClickHouse/pull/24146) ([Azat Khuzhin](https://github.com/azat)).
* تحسين وقت بدء التشغيل لمحرك Distributed. [#25663](https://github.com/ClickHouse/ClickHouse/pull/25663) ([Azat Khuzhin](https://github.com/azat)).
* تحسين لجداول Distributed: إزالة أسماء النسخ المتماثلة من dirname عند `internal&#95;replication=true` (ما يتيح تنفيذ INSERT إلى Distributed مع cluster بأي عدد من النسخ المتماثلة؛ إذ كان الدعم سابقًا يقتصر على 15 نسخة متماثلة فقط، وأي عدد أكبر من ذلك كان يفشل مع ENAMETOOLONG أثناء إنشاء الدليل الخاص بـ async blocks). [#25513](https://github.com/ClickHouse/ClickHouse/pull/25513) ([Azat Khuzhin](https://github.com/azat)).
* أُضيف دعم النوع `Interval` إلى `LowCardinality`. وهو مطلوب للقيم الوسيطة لبعض التعبيرات. يُغلق [#21730](https://github.com/ClickHouse/ClickHouse/issues/21730). [#25410](https://github.com/ClickHouse/ClickHouse/pull/25410) ([Vladimir](https://github.com/vdimir)).
* إضافة العامل `==` إلى شروط الوقت في الدالتين `sequenceMatch` و`sequenceCount`. على سبيل المثال: sequenceMatch('(?1)(?t==1)(?2)')(time, data = 1, data = 2). [#25299](https://github.com/ClickHouse/ClickHouse/pull/25299) ([Christophe Kalenzaga](https://github.com/mga-chka)).
* إضافة الإعدادات `http_max_fields`, `http_max_field_name_size`, `http_max_field_value_size`. [#25296](https://github.com/ClickHouse/ClickHouse/pull/25296) ([Ivan](https://github.com/abyss7)).
* إضافة دعم للدالة `if` مع النوعين `Decimal` و`Int` في فروعها. يُغلق هذا [#20549](https://github.com/ClickHouse/ClickHouse/issues/20549). ويُغلق أيضًا [#10142](https://github.com/ClickHouse/ClickHouse/issues/10142). [#25283](https://github.com/ClickHouse/ClickHouse/pull/25283) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحديث موجّه الأوامر في `clickhouse-client` وعرض رسالة عند إعادة الاتصال. يُغلق هذا [#10577](https://github.com/ClickHouse/ClickHouse/issues/10577). [#25281](https://github.com/ClickHouse/ClickHouse/pull/25281) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تصحيح تتبّع الذاكرة في الدالة التجميعية `topK`. يُغلق هذا [#25259](https://github.com/ClickHouse/ClickHouse/issues/25259). [#25260](https://github.com/ClickHouse/ClickHouse/pull/25260) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح `topLevelDomain` للمضيفات ذات IDN (مثل `example.рф`)؛ إذ كان يُرجِع سابقًا سلسلة فارغة لهذه المضيفات. [#25103](https://github.com/ClickHouse/ClickHouse/pull/25103) ([Azat Khuzhin](https://github.com/azat)).
* اكتشاف إصدار نواة Linux في وقت التشغيل (لتمكين عمل epoll المتداخل، وهو مطلوب لـ `async_socket_for_remote`/`use_hedged_requests`، وإلا فقد تتعطل الاستعلامات البعيدة). [#25067](https://github.com/ClickHouse/ClickHouse/pull/25067) ([Azat Khuzhin](https://github.com/azat)).
* في الاستعلام الموزّع، عند ضبط `optimize_skip_unused_shards=1`، يُسمح بتخطي shard مع شرط مثل `(sharding key) IN (one-element-tuple)`. (كانت Tuples متعددة العناصر مدعومة. أما Tuple أحادي العنصر فلم يكن يعمل لأنه كان يُحلَّل على أنه literal). [#24930](https://github.com/ClickHouse/ClickHouse/pull/24930) ([Amos Bird](https://github.com/amosbird)).
* تحسين log messages الخاصة بأخطاء S3، بحيث لم تعد هناك مسافات بيضاء مزدوجة عند وجود keys وbuckets فارغة. [#24897](https://github.com/ClickHouse/ClickHouse/pull/24897) ([Vladimir Chebotarev](https://github.com/excitoon)).
* تتطلب بعض queries تحليلًا دلاليًا متعدد المراحل. محاولة إعادة استخدام sets المُنشأة لـ `IN` في هذه الحالة. [#24874](https://github.com/ClickHouse/ClickHouse/pull/24874) ([Amos Bird](https://github.com/amosbird)).
* مراعاة `max_distributed_connections` عند استخدام `insert_distributed_sync` (وإلا فقد يؤدي ذلك، في العناقيد الكبيرة جدًا ومع الإدراج المتزامن، إلى استنفاد `max_thread_pool_size`). [#24754](https://github.com/ClickHouse/ClickHouse/pull/24754) ([Azat Khuzhin](https://github.com/azat)).
* تجنب إخفاء الأخطاء مثل `Limit for rows or bytes to read exceeded` في الاستعلامات الفرعية القيَمية. [#24545](https://github.com/ClickHouse/ClickHouse/pull/24545) ([nvartolomei](https://github.com/nvartolomei)).
* جعل محلل String-to-Int أكثر صرامة بحيث إن `toInt64('+')` سيطرح استثناءً. [#24475](https://github.com/ClickHouse/ClickHouse/pull/24475) ([Amos Bird](https://github.com/amosbird)).
* إذا أُنشئ `SSD_CACHE` باستخدام استعلام DDL، فلا يمكن إنشاؤه إلا داخل الدليل `user_files`. [#24466](https://github.com/ClickHouse/ClickHouse/pull/24466) ([Maksim Kita](https://github.com/kitaisreal)).
* دعم PostgreSQL لتحديد مخطط غير افتراضي لاستعلامات الإدراج. يُغلق [#24149](https://github.com/ClickHouse/ClickHouse/issues/24149). [#24413](https://github.com/ClickHouse/ClickHouse/pull/24413) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح تحليل عناوين IPv6 (أي إصلاح `select * from remote('[::1]', system.one)`). [#24319](https://github.com/ClickHouse/ClickHouse/pull/24319) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح المسافات البيضاء اللاحقة في عبارة FROM مع الاستعلامات الفرعية في وضع متعدد الأسطر، مع تعديل طفيف أيضًا على مخرجات الاستعلامات لتصبح أكثر سهولة للفهم. [#24151](https://github.com/ClickHouse/ClickHouse/pull/24151) ([Azat Khuzhin](https://github.com/azat)).
* تحسين للجداول الموزعة. إضافة إمكانية تقسيم الدفعة الموزعة عند حدوث إخفاقات (مثلًا بسبب حدود الذاكرة أو التلف)، عبر `distributed_directory_monitor_split_batch_on_failure` (معطّل افتراضيًا). [#23864](https://github.com/ClickHouse/ClickHouse/pull/23864) ([Azat Khuzhin](https://github.com/azat)).
* معالجة تعارض أسماء الأعمدة في محرك الجداول `Join`. يُغلق [#20309](https://github.com/ClickHouse/ClickHouse/issues/20309). [#23769](https://github.com/ClickHouse/ClickHouse/pull/23769) ([Vladimir](https://github.com/vdimir)).
* عرض التقدم لمحرك الجداول `File` في `clickhouse-local` وعند تنفيذ استعلام INSERT في `clickhouse-client` عندما تُمرَّر البيانات إلى stdin. يُغلق [#18209](https://github.com/ClickHouse/ClickHouse/issues/18209). [#23656](https://github.com/ClickHouse/ClickHouse/pull/23656) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاحات للأخطاء وتحسينات في `clickhouse-copier`. أصبح من الممكن نسخ الجداول ذات المخططات المختلفة ولكن المتوافقة. يغلق [#9159](https://github.com/ClickHouse/ClickHouse/issues/9159). أُضيف اختبار لنسخ ReplacingMergeTree. يغلق [#22711](https://github.com/ClickHouse/ClickHouse/issues/22711). دعم TTL على الأعمدة وفهارس تخطي البيانات. إذ تُزال هذه العناصر ببساطة عند إنشاء جدول `Distributed` داخلي (وسيحتفظ الجدول الأساسي بـ TTL وفهارس التخطي). يغلق [#19384](https://github.com/ClickHouse/ClickHouse/issues/19384). أصبح نسخ الأعمدة MATERIALIZED وALIAS ممكنًا. وقد يكون ذلك مفيدًا في بعض الحالات (مثلًا إذا كان هذا العمود ضمن PRIMARY KEY). ويمكن الآن السماح بذلك عبر ضبط الخاصية `allow_to_copy_alias_and_materialized_columns` على true في إعدادات المهمة. يغلق [#9177](https://github.com/ClickHouse/ClickHouse/issues/9177). يغلق \[#11007] ([https://github.com/ClickHouse/ClickHouse/issues/11007](https://github.com/ClickHouse/ClickHouse/issues/11007)). يغلق [#9514](https://github.com/ClickHouse/ClickHouse/issues/9514). أُضيفت الخاصية `allow_to_drop_target_partitions` إلى إعدادات المهمة لتنفيذ drop partition في الجدول الأصلي قبل نقل الجداول المساعدة. يغلق [#20957](https://github.com/ClickHouse/ClickHouse/issues/20957). تم الاستغناء عن الاستعلام `OPTIMIZE DEDUPLICATE`. كانت هذه الحيلة مطلوبة لأن `ALTER TABLE MOVE PARTITION` كان يُعاد عدة مرات، ولأن جداول MergeTree العادية لا تدعم deduplication. يغلق [#17966](https://github.com/ClickHouse/ClickHouse/issues/17966). كتابة Progress إلى عقدة ZooKeeper على المسار `task_path + /status` بصيغة JSON. يغلق [#20955](https://github.com/ClickHouse/ClickHouse/issues/20955). دعم ReplicatedTables بدون arguments. يغلق [#24834](https://github.com/ClickHouse/ClickHouse/issues/24834) .[#23518](https://github.com/ClickHouse/ClickHouse/pull/23518) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* أُضيفت فترة sleep مع backoff بين retries القراءة من S3. [#23461](https://github.com/ClickHouse/ClickHouse/pull/23461) ([Vladimir Chebotarev](https://github.com/excitoon)).
* مراعاة `insert_allow_materialized_columns` (يسمح بالأعمدة materialized) عند تنفيذ INSERT في جدول `Distributed`. [#23349](https://github.com/ClickHouse/ClickHouse/pull/23349) ([Azat Khuzhin](https://github.com/azat)).
* إضافة إمكانية push down لـ LIMIT في distributed queries. [#23027](https://github.com/ClickHouse/ClickHouse/pull/23027) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح zero-copy replication مع عدة وحدات تخزين S3 (إصلاح [#22679](https://github.com/ClickHouse/ClickHouse/issues/22679)). [#22864](https://github.com/ClickHouse/ClickHouse/pull/22864) ([ianton-ru](https://github.com/ianton-ru)).
* تحديد رقم المنفذ الفعلي المرتبط عندما يطلب المستخدم أي منفذ متاح من نظام التشغيل، لإظهاره في رسالة السجل. [#25569](https://github.com/ClickHouse/ClickHouse/pull/25569) ([bnaecker](https://github.com/bnaecker)).
* إصلاح حالة كانت فيها عملية تحويل مصفوفات Postgres تؤدي أحيانًا إلى نوع البيانات String بدلًا من مصفوفة متعددة الأبعاد، لأن `attndims` يعمل بشكل غير صحيح في بعض الحالات. يغلق [#24804](https://github.com/ClickHouse/ClickHouse/issues/24804). [#25538](https://github.com/ClickHouse/ClickHouse/pull/25538) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح تحويل DateTime مع timezone لكل من MySQL وPostgreSQL وODBC. يغلق [#5057](https://github.com/ClickHouse/ClickHouse/issues/5057). [#25528](https://github.com/ClickHouse/ClickHouse/pull/25528) ([Kseniia Sumarokova](https://github.com/kssenii)).
* التمييز بين أوامر KILL MUTATION الخاصة بالجداول المختلفة (إصلاح الخطأ غير المتوقع `Cancelled mutating parts`). [#25025](https://github.com/ClickHouse/ClickHouse/pull/25025) ([Azat Khuzhin](https://github.com/azat)).
* السماح بتعريف قرص S3 في جذر الـbucket (نظام الملفات الافتراضي لـS3 ميزة تجريبية لا تزال قيد التطوير). [#24898](https://github.com/ClickHouse/ClickHouse/pull/24898) ([Vladimir Chebotarev](https://github.com/excitoon)).
* تمكين قراءة الأعمدة الفرعية (مثل مكوّنات Tuples) للجداول الموزعة. [#24472](https://github.com/ClickHouse/ClickHouse/pull/24472) ([Anton Popov](https://github.com/CurtizJ)).
* ميزة لبروتوكول التوافق مع MySQL: جعل الدالة `user` تُرجع المخرجات الصحيحة. إغلاق [#25697](https://github.com/ClickHouse/ClickHouse/pull/25697). [#25697](https://github.com/ClickHouse/ClickHouse/pull/25697) ([sundyli](https://github.com/sundy-li)).

<div id="bug-fix-2">
  #### إصلاح خلل
</div>

* تحسين للتوافق مع الإصدارات السابقة. استخدم الإصدار القديم من دالة modulo عند استخدامها في مفتاح التقسيم. يُغلق [#23508](https://github.com/ClickHouse/ClickHouse/issues/23508). [#24157](https://github.com/ClickHouse/ClickHouse/pull/24157) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح خطأ نادر للغاية على الخوادم ذات الذاكرة المنخفضة قد يؤدي إلى تعذر إجراء عمليات الدمج دون إعادة التشغيل. ربما يُصلح [#24603](https://github.com/ClickHouse/ClickHouse/issues/24603). [#24872](https://github.com/ClickHouse/ClickHouse/pull/24872) ([alesapin](https://github.com/alesapin)).
* إصلاح الخطأ النادر للغاية `Tagging already tagged part` في قائمة انتظار النسخ المتماثل أثناء تنفيذ `alter move/replace partition` بشكل متزامن. ربما يُصلح [#22142](https://github.com/ClickHouse/ClickHouse/issues/22142). [#24961](https://github.com/ClickHouse/ClickHouse/pull/24961) ([alesapin](https://github.com/alesapin)).
* إصلاح تعطل محتمل عند حساب حالات دوال التجميع عبر تجميع حالات دوال تجميع لدوال تجميع أخرى (ليست حالة استخدام عملية). راجع [#24523](https://github.com/ClickHouse/ClickHouse/issues/24523). [#25015](https://github.com/ClickHouse/ClickHouse/pull/25015) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تم إصلاح السلوك في الحالات التي لا ينتهي فيها الاستعلام `SYSTEM RESTART REPLICA` أو `SYSTEM SYNC REPLICA`. وقد اكتُشف ذلك على خادم ذي مقدار منخفض للغاية من RAM. [#24457](https://github.com/ClickHouse/ClickHouse/pull/24457) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح خطأ قد يؤدي إلى تعليق عميل ZooKeeper داخل clickhouse-server. [#24721](https://github.com/ClickHouse/ClickHouse/pull/24721) ([alesapin](https://github.com/alesapin)).
* إذا فُقد اتصال ZooKeeper وتم استنساخ replica بعد استعادة الاتصال، فقد تحتوي قائمة انتظار النسخ المتماثل الخاصة بها على إدخالات قديمة. وتم إصلاح assertion فاشل عند احتواء قائمة انتظار النسخ المتماثل على virtual parts متقاطعة. وقد يحدث ذلك نادرًا إذا فُقد بعض data part. وتُسجَّل الآن رسالة error في السجل بدلًا من إنهاء العملية. [#24777](https://github.com/ClickHouse/ClickHouse/pull/24777) ([tavplubix](https://github.com/tavplubix)).
* إصلاح فقدان الشرط `WHERE` في تحسين expression-push-down ضمن query plan (الإعداد `query_plan_filter_push_down = 1` مفعّل افتراضيًا). يُصلح [#25368](https://github.com/ClickHouse/ClickHouse/issues/25368). [#25370](https://github.com/ClickHouse/ClickHouse/pull/25370) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خطأ قد يؤدي إلى intersecting parts بعد عمليات الدمج مع TTL: `Part all_40_40_0 is covered by all_40_40_1 but should be merged into all_40_41_1. This shouldn't happen often.`. [#25549](https://github.com/ClickHouse/ClickHouse/pull/25549) ([alesapin](https://github.com/alesapin)).
* عند فقدان اتصال ZooKeeper، قد ينتظر جدول `ReplicatedMergeTree` اكتمال العمليات الخلفية قبل محاولة إعادة الاتصال. تم إصلاح ذلك، وأصبحت العمليات الخلفية الآن تتوقف قسرًا. [#25306](https://github.com/ClickHouse/ClickHouse/pull/25306) ([tavplubix](https://github.com/tavplubix)).
* إصلاح الخطأ `Key expression contains comparison between inconvertible types` في الاستعلامات التي تحتوي على `ARRAY JOIN` إذا كانت المصفوفة مستخدمة في المفتاح الأساسي. يُصلح [#8247](https://github.com/ClickHouse/ClickHouse/issues/8247). [#25546](https://github.com/ClickHouse/ClickHouse/pull/25546) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح totals غير الصحيحة للاستعلام `WITH TOTALS` و `WITH FILL`. يُصلح [#20872](https://github.com/ClickHouse/ClickHouse/issues/20872). [#25539](https://github.com/ClickHouse/ClickHouse/pull/25539) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح data race عند الاستعلام عن `system.clusters` بالتزامن مع إعادة تحميل إعدادات cluster. [#25737](https://github.com/ClickHouse/ClickHouse/pull/25737) ([Amos Bird](https://github.com/amosbird)).
* تم إصلاح الخطأ `No such file or directory` عند نقل جدول `Distributed` بين قواعد البيانات. يعالج [#24971](https://github.com/ClickHouse/ClickHouse/issues/24971). [#25667](https://github.com/ClickHouse/ClickHouse/pull/25667) ([tavplubix](https://github.com/tavplubix)).
* قد يتم تجاهل `REPLACE PARTITION` في حالات نادرة إذا كان partition المصدر فارغًا. تم إصلاح ذلك. يعالج [#24869](https://github.com/ClickHouse/ClickHouse/issues/24869). [#25665](https://github.com/ClickHouse/ClickHouse/pull/25665) ([tavplubix](https://github.com/tavplubix)).
* تم إصلاح خطأ في محرك قاعدة البيانات `Replicated` كان قد يتسبب، في حالات نادرة، في تخطي بعض النسخ المتماثلة لاستعلام DDL الموضوع في قائمة الانتظار. [#24805](https://github.com/ClickHouse/ClickHouse/pull/24805) ([tavplubix](https://github.com/tavplubix)).
* تم إصلاح فك إشارة المؤشر الفارغ في `EXPLAIN AST` عند عدم وجود استعلام. [#25631](https://github.com/ClickHouse/ClickHouse/pull/25631) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح انتظار الحذف التلقائي للأجزاء الفارغة. وكان ذلك قد يؤدي إلى امتلاء background pool بالكامل وتعطل replication. [#23315](https://github.com/ClickHouse/ClickHouse/pull/23315) ([Anton Popov](https://github.com/CurtizJ)).
* تم إصلاح استعادة جدول مخزَّن في virtual filesystem الخاصة بـ S3 (وهي ميزة تجريبية غير جاهزة لبيئات production). [#25601](https://github.com/ClickHouse/ClickHouse/pull/25601) ([ianton-ru](https://github.com/ianton-ru)).
* تم إصلاح فك إشارة nullptr في format ‏`Arrow` عند استخدام `Decimal256`. وأُضيف أيضًا دعم `Decimal256` إلى format ‏`Arrow`. [#25531](https://github.com/ClickHouse/ClickHouse/pull/25531) ([Kruglov Pavel](https://github.com/Avogar)).
* تم إصلاح الشرطة السفلية الزائدة قبل أسماء configuration files المُعالجة مسبقًا. [#25431](https://github.com/ClickHouse/ClickHouse/pull/25431) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح لأداة `clickhouse-copier`: تم إصلاح segfault عند غياب `sharding_key` في task config الخاصة بأداة copier. [#25419](https://github.com/ClickHouse/ClickHouse/pull/25419) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تم إصلاح مُحوِّل الأعمدة `REPLACE` عند استخدامه في DDL، وذلك عبر وضع علامات اقتباس صحيحة حول الاستعلام المنسّق. هذا يعالج [#23925](https://github.com/ClickHouse/ClickHouse/issues/23925). [#25391](https://github.com/ClickHouse/ClickHouse/pull/25391) ([Amos Bird](https://github.com/amosbird)).
* تم إصلاح احتمال السلوك غير الحتمي للدالة `quantileDeterministic` والدوال المشابهة. هذا يغلق [#20480](https://github.com/ClickHouse/ClickHouse/issues/20480). [#25313](https://github.com/ClickHouse/ClickHouse/pull/25313) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تمت إضافة دعم `SimpleAggregateFunction(LowCardinality)` إلى `SummingMergeTree`. يعالج [#25134](https://github.com/ClickHouse/ClickHouse/issues/25134). [#25300](https://github.com/ClickHouse/ClickHouse/pull/25300) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح خطأ منطقي مع رسالة الاستثناء "Cannot sum Array/Tuple in min/maxMap". [#25298](https://github.com/ClickHouse/ClickHouse/pull/25298) ([Kruglov Pavel](https://github.com/Avogar)).
* تم إصلاح الخطأ `Bad cast from type DB::ColumnLowCardinality to DB::ColumnVector<char8_t>` في الاستعلامات التي استُخدمت فيها الوسيطة `LowCardinality` مع IN (ظهر هذا الخطأ في 21.6). يعالج [#25187](https://github.com/ClickHouse/ClickHouse/issues/25187). [#25290](https://github.com/ClickHouse/ClickHouse/pull/25290) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح السلوك غير الصحيح لـ `joinGetOrNull` مع الأعمدة غير القابلة لأن تكون `NULL`. يُصلح هذا [#24261](https://github.com/ClickHouse/ClickHouse/issues/24261). [#25288](https://github.com/ClickHouse/ClickHouse/pull/25288) ([Amos Bird](https://github.com/amosbird)).
* إصلاح السلوك غير الصحيح وتقرير UBSan في الأعداد الصحيحة الكبيرة. في الإصدارات السابقة، كان `CAST(1e19 AS UInt128)` يعيد الصفر. [#25279](https://github.com/ClickHouse/ClickHouse/pull/25279) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تم إصلاح خطأ كان يحدث أثناء إدراج مجموعة فرعية من الأعمدة باستخدام تنسيق CSVWithNames. يُصلح [#25129](https://github.com/ClickHouse/ClickHouse/issues/25129). [#25169](https://github.com/ClickHouse/ClickHouse/pull/25169) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* لا تستخدم إسقاط table من أجل `SELECT` مع `FINAL`. هذا غير مدعوم بعد. [#25163](https://github.com/ClickHouse/ClickHouse/pull/25163) ([Amos Bird](https://github.com/amosbird)).
* إصلاح احتمال فقدان الأجزاء بعد التحديث إلى 21.5 أو أحدث في حال كان الجدول يستخدم `UUID` في مفتاح التقسيم. (لا يُنصح باستخدام `UUID` في مفتاح التقسيم). يُصلح [#25070](https://github.com/ClickHouse/ClickHouse/issues/25070). [#25127](https://github.com/ClickHouse/ClickHouse/pull/25127) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح تعطل في query مع ربط تبادلي و `joined_subquery_requires_alias = 0`. يُصلح [#24011](https://github.com/ClickHouse/ClickHouse/issues/24011). [#25082](https://github.com/ClickHouse/ClickHouse/pull/25082) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خلل في قيم maps الثابتة في الدالة mapContains كان يؤدي إلى الخطأ `empty column was returned by function mapContains`. يُغلق [#25077](https://github.com/ClickHouse/ClickHouse/issues/25077). [#25080](https://github.com/ClickHouse/ClickHouse/pull/25080) ([Kruglov Pavel](https://github.com/Avogar)).
* إزالة إمكانية إنشاء جداول بأعمدة تشير إلى نفسها مثل `a UInt32 ALIAS a + 1` أو `b UInt32 MATERIALIZED b`. يُصلح [#24910](https://github.com/ClickHouse/ClickHouse/issues/24910), [#24292](https://github.com/ClickHouse/ClickHouse/issues/24292). [#25059](https://github.com/ClickHouse/ClickHouse/pull/25059) ([alesapin](https://github.com/alesapin)).
* إصلاح النتيجة الخاطئة عند استخدام الإسقاط التجميعي مع مفتاح `GROUP BY` *غير فارغ* لتنفيذ query تحتوي على `GROUP BY` بمفتاح *فارغ*. [#25055](https://github.com/ClickHouse/ClickHouse/pull/25055) ([Amos Bird](https://github.com/amosbird)).
* إصلاح تسلسل الرسائل المتداخلة المُقسّمة في تنسيق Protobuf. يُصلح طلب السحب هذا [#24647](https://github.com/ClickHouse/ClickHouse/issues/24647). [#25000](https://github.com/ClickHouse/ClickHouse/pull/25000) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح إعدادات limit/offset للاستعلامات الموزعة (تُتجاهل على العُقد البعيدة). [#24940](https://github.com/ClickHouse/ClickHouse/pull/24940) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح احتمال حدوث heap-buffer-overflow في تنسيق `Arrow`. [#24922](https://github.com/ClickHouse/ClickHouse/pull/24922) ([Kruglov Pavel](https://github.com/Avogar)).
* تم إصلاح الخطأ المحتمل 'Cannot read from istream at offset 0' عند قراءة ملف من DiskS3 (إن نظام الملفات الافتراضي S3 ميزة تجريبية قيد التطوير، ويجب عدم استخدامه في بيئة الإنتاج). [#24885](https://github.com/ClickHouse/ClickHouse/pull/24885) ([Pavel Kovalenko](https://github.com/Jokser)).
* إصلاح استثناء "Missing columns" عند ربط عرض متجسد موزع. [#24870](https://github.com/ClickHouse/ClickHouse/pull/24870) ([Azat Khuzhin](https://github.com/azat)).
* السماح بقيم `NULL` في بروتوكول التوافق مع PostgreSQL. يُغلق [#22622](https://github.com/ClickHouse/ClickHouse/issues/22622). [#24857](https://github.com/ClickHouse/ClickHouse/pull/24857) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح خلل كان قد يؤدي إلى تمرير الاستثناء `Mutation was killed` إلى العميل عند انتظار mutation، عندما لا تكون mutation قد حُمّلت إلى الذاكرة بعد. [#24809](https://github.com/ClickHouse/ClickHouse/pull/24809) ([alesapin](https://github.com/alesapin)).
* إصلاح خلل في إلغاء تسلسل حالة مولّد الأعداد العشوائية، كان قد يتسبب في أن تتصرف بعض أنواع البيانات مثل `AggregateFunction(groupArraySample(N), T))` بطريقة غير حتمية. [#24538](https://github.com/ClickHouse/ClickHouse/pull/24538) ([tavplubix](https://github.com/tavplubix)).
* منع بناء uniqXXXXStates من حالات aggregation أخرى. [#24523](https://github.com/ClickHouse/ClickHouse/pull/24523) ([Raúl Marín](https://github.com/Algunenano)). ثم أُعيد السماح بذلك بعد إزالة السبب الجذري للمشكلة ذات الصلة فعليًا. ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح استخدام Tuples في استعلامات `CREATE .. AS SELECT`. [#24464](https://github.com/ClickHouse/ClickHouse/pull/24464) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح احتساب إجمالي البايتات في جدول `Buffer`. في إصدار ClickHouse الحالي، ينخفض العداد total\_writes.bytes أكثر من اللازم أثناء flush للمخزن المؤقت. ويؤدي ذلك إلى تجاوز سعة العداد، ما يجعل totalBytes يعيد قيمة تقارب 17.44 EB بعد فترة من الـ flush. [#24450](https://github.com/ClickHouse/ClickHouse/pull/24450) ([DimasKovas](https://github.com/DimasKovas)).
* إصلاح معلومات غير صحيحة حول الرتابة في الدالة toWeek. يُصلح هذا [#24422](https://github.com/ClickHouse/ClickHouse/issues/24422). أُدخل هذا الخلل في [https://github.com/ClickHouse/ClickHouse/pull/5212،](https://github.com/ClickHouse/ClickHouse/pull/5212،) ثم انكشف لاحقًا بفضل مُهذِّب partition أكثر ذكاءً. [#24446](https://github.com/ClickHouse/ClickHouse/pull/24446) ([Amos Bird](https://github.com/amosbird)).
* عندما تكون authentication المستخدم مُدارة عبر LDAP، تم إصلاح احتمال حدوث توقف متبادل أثناء (إعادة) تعيين دور LDAP، وذلك عندما تُربط مجموعة LDAP بدور محلي غير موجود. [#24431](https://github.com/ClickHouse/ClickHouse/pull/24431) ([Denis Glazachev](https://github.com/traceon)).
* في رسالة "multipart/form-data"، اعتُبر CRLF السابق للـ boundary جزءًا منه. يُصلح [#23905](https://github.com/ClickHouse/ClickHouse/issues/23905). [#24399](https://github.com/ClickHouse/ClickHouse/pull/24399) ([Ivan](https://github.com/abyss7)).
* إصلاح عملية Drop partition مع الأجزاء الوهمية المتقاطعة. في حالات نادرة، قد توجد parts بإصدار mutation أكبر من رقم block الحالي. [#24321](https://github.com/ClickHouse/ClickHouse/pull/24321) ([Amos Bird](https://github.com/amosbird)).
* إصلاح خلل في نقل materialized view من قاعدة بيانات Ordinary إلى قاعدة بيانات Atomic (استعلام `RENAME TABLE`). الآن يُنقل الجدول الداخلي إلى قاعدة البيانات الجديدة مع materialized view. يُصلح [#23926](https://github.com/ClickHouse/ClickHouse/issues/23926). [#24309](https://github.com/ClickHouse/ClickHouse/pull/24309) ([tavplubix](https://github.com/tavplubix)).
* السماح برؤوس HTTP فارغة. يُصلح [#23901](https://github.com/ClickHouse/ClickHouse/issues/23901). [#24285](https://github.com/ClickHouse/ClickHouse/pull/24285) ([Ivan](https://github.com/abyss7)).
* تصحيح معالجة mutations ‏(ALTER UPDATE/DELETE) في جداول Memory. يُغلق [#24274](https://github.com/ClickHouse/ClickHouse/issues/24274). [#24275](https://github.com/ClickHouse/ClickHouse/pull/24275) ([flynn](https://github.com/ucasfl)).
* جعل خاصية LowCardinality للعمود في ناتج JOIN مماثلة لما هي عليه في الإدخال، إغلاق [#23351](https://github.com/ClickHouse/ClickHouse/issues/23351) وإغلاق [#20315](https://github.com/ClickHouse/ClickHouse/issues/20315). [#24061](https://github.com/ClickHouse/ClickHouse/pull/24061) ([Vladimir](https://github.com/vdimir)).
* إصلاح لجداول Kafka. إصلاح خلل في سلوك failover، إذ كان Engine = Kafka غير قادر على بدء استهلاك البيانات إذا كان لدى consumer نفسه تعيين فارغ سابقًا. إغلاق [#21118](https://github.com/ClickHouse/ClickHouse/issues/21118). [#21267](https://github.com/ClickHouse/ClickHouse/pull/21267) ([filimonov](https://github.com/filimonov)).

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

* إضافة إصدارات `darwin-aarch64` ‏(Mac M1 / Apple Silicon) إلى CI [#25560](https://github.com/ClickHouse/ClickHouse/pull/25560) ([Ivan](https://github.com/abyss7))، وإضافة الروابط إلى الوثائق والموقع الإلكتروني ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة تضمين متعدد المنصات للموارد الثنائية داخل الملفات التنفيذية. ويعمل ذلك على Illumos. [#25146](https://github.com/ClickHouse/ClickHouse/pull/25146) ([bnaecker](https://github.com/bnaecker)).
* إضافة خيارات متعلقة بـ `join` إلى اختبارات الضغط لتحسين الاختبار العشوائي. [#25200](https://github.com/ClickHouse/ClickHouse/pull/25200) ([Vladimir](https://github.com/vdimir)).
* تمكين البناء باستخدام وحدة S3 في osx [#25217](https://github.com/ClickHouse/ClickHouse/issues/25217). [#25218](https://github.com/ClickHouse/ClickHouse/pull/25218) ([kevin wan](https://github.com/MaxWk)).
* إضافة حالات من اختبارات التكامل لتغطية JDBC bridge. [#25047](https://github.com/ClickHouse/ClickHouse/pull/25047) ([Zhichun Wu](https://github.com/zhicwu)).
* أصبح إعداد اختبارات التكامل يتضمن معالجة خاصة لـ القواميس. وأُزيل ما تبقى من الإعداد اليدوي لـ القواميس. [#24728](https://github.com/ClickHouse/ClickHouse/pull/24728) ([Ilya Yatsishin](https://github.com/qoega)).
* إضافة اختبارات libfuzzer للفئة YAMLParser. [#24480](https://github.com/ClickHouse/ClickHouse/pull/24480) ([BoloniniD](https://github.com/BoloniniD)).
* يُستخدم Ubuntu 20.04 الآن لتشغيل اختبارات التكامل، كما تم تحديث إصدار docker-compose المستخدم لتشغيل اختبارات التكامل إلى 1.28.2. وأصبحت متغيرات البيئة تُطبَّق الآن على docker-compose. وأُعيدت صياغة test\_dictionaries\_all\_layouts\_separate\_sources للسماح بالتشغيل المتوازي. [#20393](https://github.com/ClickHouse/ClickHouse/pull/20393) ([Ilya Yatsishin](https://github.com/qoega)).
* إصلاح خطأ TOCTOU في برنامج التثبيت النصي. [#25277](https://github.com/ClickHouse/ClickHouse/pull/25277) ([alexey-milovidov](https://github.com/alexey-milovidov)).

<div id="clickhouse-release-216-2021-06-05">
  ### إصدار ClickHouse 21.6، 2021-06-05
</div>

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

* تُنتِج `uniqState` / `uniqHLL12State` / `uniqCombinedState` / `uniqCombined64State` حالاتٍ غير متوافقة مع النوع `UUID`. [#33607](https://github.com/ClickHouse/ClickHouse/issues/33607).

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

* تم تحديث مكتبة الضغط `zstd` إلى الإصدار v1.5.0. قد تظهر لك رسائل تفيد بأن "checksum does not match" في النسخ المتماثل. هذه الرسائل متوقعة بسبب تحديث خوارزمية الضغط، ويمكنك تجاهلها. وهي رسائل إعلامية ولا تشير إلى أي سلوك غير مرغوب فيه.
* الإعداد `compile_expressions` مفعّل افتراضيًا. ورغم أنه خضع لاختبارات مكثفة في مجموعة متنوعة من السيناريوهات، فإذا لاحظت أي سلوك غير مرغوب فيه على خوادمك، يمكنك تجربة تعطيل هذا الإعداد.
* لا يمكن مقارنة القيم من النوع `UUID` بعدد صحيح. على سبيل المثال، بدلًا من كتابة `uuid != 0` اكتب `uuid != '00000000-0000-0000-0000-000000000000'`.

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

* أضف معامل CAST الشبيه بـ Postgres (`::`). مثال: `[1, 2]::Array(UInt8)`, `0.1::Decimal(4, 4)`, `number::UInt16`. [#23871](https://github.com/ClickHouse/ClickHouse/pull/23871) ([Anton Popov](https://github.com/CurtizJ)).
* اجعل الأعداد الصحيحة الكبيرة جاهزة للاستخدام في production. أضف دعم نوع البيانات `UInt128`. أصلِح المشكلات المعروفة في نوع البيانات `Decimal256`. ادعم الأعداد الصحيحة الكبيرة في القواميس. ادعم الدالتين `gcd`/`lcm` للأعداد الصحيحة الكبيرة. ادعم الأعداد الصحيحة الكبيرة في دوال البحث في المصفوفات والدوال الشرطية. ادعم `LowCardinality(UUID)`. ادعم الأعداد الصحيحة الكبيرة في دالة الجدول `generateRandom` و`clickhouse-obfuscator`. أصلِح الخطأ عند إرجاع `UUID` من الاستعلامات الفرعية scalar. هذا يُصلح [#7834](https://github.com/ClickHouse/ClickHouse/issues/7834). وهذا يُصلح [#23936](https://github.com/ClickHouse/ClickHouse/issues/23936). وهذا يُصلح [#4176](https://github.com/ClickHouse/ClickHouse/issues/4176). وهذا يُصلح [#24018](https://github.com/ClickHouse/ClickHouse/issues/24018). تغيير غير متوافق مع الإصدارات السابقة: لا يمكن مقارنة القيم من النوع `UUID` بعدد صحيح. على سبيل المثال، بدلًا من كتابة `uuid != 0` اكتب `uuid != '00000000-0000-0000-0000-000000000000'`. [#23631](https://github.com/ClickHouse/ClickHouse/pull/23631) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* ادعم نوع البيانات `Array` لإدراج البيانات واختيارها في تنسيقات `Arrow` و`Parquet` و`ORC`. [#21770](https://github.com/ClickHouse/ClickHouse/pull/21770) ([taylor12805](https://github.com/taylor12805)).
* نفّذ ميزة تعليقات الجداول. يُغلق [#23225](https://github.com/ClickHouse/ClickHouse/issues/23225). [#23548](https://github.com/ClickHouse/ClickHouse/pull/23548) ([flynn](https://github.com/ucasFL)).
* ادعم إنشاء القواميس باستخدام استعلامات DDL في `clickhouse-local`. يُغلق [#22354](https://github.com/ClickHouse/ClickHouse/issues/22354). أُضيف دعم `DETACH DICTIONARY PERMANENTLY`. وأُضيف دعم `EXCHANGE DICTIONARIES` لمحرك قاعدة البيانات `Atomic`. وأُضيف دعم نقل القواميس بين قواعد البيانات باستخدام `RENAME DICTIONARY`. [#23436](https://github.com/ClickHouse/ClickHouse/pull/23436) ([Maksim Kita](https://github.com/kitaisreal)).
* أضف الدالة التجميعية `uniqTheta` لدعم [Theta Sketch](https://datasketches.apache.org/docs/Theta/ThetaSketchFramework.html) في ClickHouse. [#23894](https://github.com/ClickHouse/ClickHouse/pull/23894). [#22609](https://github.com/ClickHouse/ClickHouse/pull/22609) ([Ping Yu](https://github.com/pingyu)).
* أضف الدالة `splitByRegexp`. [#24077](https://github.com/ClickHouse/ClickHouse/pull/24077) ([abel-cheng](https://github.com/abel-cheng)).
* أضف الدالة `arrayProduct` التي تقبل مصفوفة كمعامل وتُرجع حاصل ضرب جميع عناصر المصفوفة. يُغلق [#21613](https://github.com/ClickHouse/ClickHouse/issues/21613). [#23782](https://github.com/ClickHouse/ClickHouse/pull/23782) ([Maksim Kita](https://github.com/kitaisreal)).
* أضف العمود `thread_name` إلى `system.stack_trace`. هذا يُغلق [#23256](https://github.com/ClickHouse/ClickHouse/issues/23256). [#24124](https://github.com/ClickHouse/ClickHouse/pull/24124) ([abel-cheng](https://github.com/abel-cheng)).
* إذا كانت `insert_null_as_default` = 1، فأدرِج القيم الافتراضية بدلًا من NULL في استعلامات `INSERT ... SELECT` و`INSERT ... SELECT ... UNION ALL ...`. يُغلق [#22832](https://github.com/ClickHouse/ClickHouse/issues/22832). [#23524](https://github.com/ClickHouse/ClickHouse/pull/23524) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة دعم لمؤشر التقدّم في `clickhouse-local` باستخدام الخيار `--progress`. [#23196](https://github.com/ClickHouse/ClickHouse/pull/23196) ([Egor Savin](https://github.com/Amesaru)).
* إضافة دعم ضغط HTTP (يُحدَّد عبر ترويسة HTTP ‏`Content-Encoding`) في dictionary source من نوع `http`. يُصلح هذا [#8912](https://github.com/ClickHouse/ClickHouse/issues/8912). [#23946](https://github.com/ClickHouse/ClickHouse/pull/23946) ([FArthur-cmd](https://github.com/FArthur-cmd)).
* تمت إضافة `SYSTEM QUERY RELOAD MODEL` و`SYSTEM QUERY RELOAD MODELS`. يُغلق هذا [#18722](https://github.com/ClickHouse/ClickHouse/issues/18722). [#23182](https://github.com/ClickHouse/ClickHouse/pull/23182) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة الإعداد `json` (Boolean، والقيمة الافتراضية 0) إلى استعلام `EXPLAIN PLAN`. عند تمكينه، سيكون خرج الاستعلام صفًا واحدًا بصيغة `JSON`. ويُنصح باستخدام التنسيق `TSVRaw` لتجنّب استخدام محارف الهروب دون داعٍ. [#23082](https://github.com/ClickHouse/ClickHouse/pull/23082) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إضافة الإعداد `indexes` (Boolean، وهو معطّل افتراضيًا) إلى استعلام `EXPLAIN PIPELINE`. عند تمكينه، يعرض الفهارس المستخدمة، وعدد الأجزاء وgranules المُصفّاة لكل فهرس مُطبَّق. وهو مدعوم في جداول `MergeTree*`. [#22352](https://github.com/ClickHouse/ClickHouse/pull/22352) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* LDAP: تنفيذ وظيفة اكتشاف user DN لاستخدامها عند ربط مجموعات Active Directory بـ roles في ClickHouse. [#22228](https://github.com/ClickHouse/ClickHouse/pull/22228) ([Denis Glazachev](https://github.com/traceon)).
* دالة aggregate جديدة `deltaSumTimestamp` لجمع الفرق بين الصفوف المتتالية مع الحفاظ على الترتيب أثناء الدمج عبر تخزين timestamps. [#21888](https://github.com/ClickHouse/ClickHouse/pull/21888) ([Russ Frank](https://github.com/rf)).
* تمت إضافة موفّر بيانات اعتماد IMDS أقل أمانًا لـ S3 ويعمل بشكل صحيح في docker. [#21852](https://github.com/ClickHouse/ClickHouse/pull/21852) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إعادة إضافة الدالة `indexHint`. هذا لأجل [#21238](https://github.com/ClickHouse/ClickHouse/issues/21238). ويتراجع هذا عن [#9542](https://github.com/ClickHouse/ClickHouse/pull/9542). ويُصلح هذا [#9540](https://github.com/ClickHouse/ClickHouse/issues/9540). [#21304](https://github.com/ClickHouse/ClickHouse/pull/21304) ([Amos Bird](https://github.com/amosbird)).

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

* إضافة دعم `PROJECTION` إلى جداول `MergeTree*`. [#20202](https://github.com/ClickHouse/ClickHouse/pull/20202) ([Amos Bird](https://github.com/amosbird)).

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

* تم تفعيل الإعداد `compile_expressions` افتراضيًا. عند تمكين هذا الإعداد، ستُصرَّف تراكيب الدوال البسيطة والمشغّلات إلى تعليمات برمجية أصلية باستخدام LLVM أثناء وقت التشغيل. [#8482](https://github.com/ClickHouse/ClickHouse/pull/8482) ([Maksim Kita](https://github.com/kitaisreal), [alexey-milovidov](https://github.com/alexey-milovidov)). ملاحظة: إذا واجهت مشكلات، فأوقف هذا الخيار.
* تم تحديث مكتبة `re2`. وقد تحسّن أداء مطابقة التعبيرات النمطية. كما يضيف هذا الطلب التوافق مع gcc-11. [#24196](https://github.com/ClickHouse/ClickHouse/pull/24196) ([Raúl Marín](https://github.com/Algunenano)).
* أصبحت قراءة تنسيق الإدخال ORC تتم على مستوى stripe بدلًا من قراءة الجدول بالكامل إلى الذاكرة دفعة واحدة، وهو ما كان يستهلك قدرًا كبيرًا من الذاكرة عند كِبر حجم الملف. [#23102](https://github.com/ClickHouse/ClickHouse/pull/23102) ([Chao Ma](https://github.com/godliness)).
* تم دمج الدوال التجميعية `sum` و`count` و`avg` في الاستعلام الواحد ضمن دالة تجميعية واحدة. ويجري التحكم في هذا التحسين بواسطة الإعداد `optimize_fuse_sum_count_avg`. وقد نُفِّذ ذلك عبر دالة تجميعية جديدة هي `sumCount`. وتُرجع هذه الدالة Tuple مكوّنًا من حقلين: `sum` و`count`. [#21337](https://github.com/ClickHouse/ClickHouse/pull/21337) ([hexiaoting](https://github.com/hexiaoting)).
* تم تحديث `zstd` إلى الإصدار v1.5.0. وقد تحسّن أداء الضغط بنسبة مئوية أحادية الرقم. [#24135](https://github.com/ClickHouse/ClickHouse/pull/24135) ([Raúl Marín](https://github.com/Algunenano)). ملاحظة: قد تظهر لك رسائل تفيد بأن "checksum does not match" في النسخ المتماثل. هذه الرسائل متوقعة بسبب تحديث خوارزمية الضغط ويمكنك تجاهلها.
* تحسّن أداء جداول `Buffer`: لم يعد يتم الحصول على قفل لـ total\_bytes/total\_rows في محرّك `Buffer`. [#24066](https://github.com/ClickHouse/ClickHouse/pull/24066) ([Azat Khuzhin](https://github.com/azat)).
* تمت استعادة دعم التخصيص المسبق لـ Dictionaries من نوع hashed/sparse\_hashed. [#23979](https://github.com/ClickHouse/ClickHouse/pull/23979) ([Azat Khuzhin](https://github.com/azat)).
* تم تفعيل `async_socket_for_remote` افتراضيًا (عدد أقل من سلاسل التنفيذ عند الاستعلام عن الجداول الموزعة ذات fanout كبير). [#23683](https://github.com/ClickHouse/ClickHouse/pull/23683) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).

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

* إضافة العمود الافتراضي `_partition_value` إلى عائلة جداول MergeTree. ويمكن استخدامه لتصفية partition بطريقة deterministic. وهو مطلوب لتنفيذ مطابقة partition من أجل mutations. [#23673](https://github.com/ClickHouse/ClickHouse/pull/23673) ([Amos Bird](https://github.com/amosbird)).
* أُضيفت المعلمة `region` إلى S3 storage وdisk. [#23846](https://github.com/ClickHouse/ClickHouse/pull/23846) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إتاحة تهيئة log level مختلف لكل قناة logging. يُغلق [#19569](https://github.com/ClickHouse/ClickHouse/issues/19569). [#23857](https://github.com/ClickHouse/ClickHouse/pull/23857) ([filimonov](https://github.com/filimonov)).
* الإبقاء على timezone الافتراضية في عمليات `DateTime` إذا لم تُحدَّد صراحةً. على سبيل المثال، إذا أضفت ثانية واحدة إلى قيمة من النوع `DateTime` من دون timezone، فستبقى `DateTime` من دون timezone. في الإصدارات السابقة، كانت قيمة timezone الافتراضية تُضاف صراحةً إلى Data type المُعادة، بحيث تصبح DateTime('something'). يُغلق هذا [#4854](https://github.com/ClickHouse/ClickHouse/issues/4854). [#23392](https://github.com/ClickHouse/ClickHouse/pull/23392) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح للمستخدم بتحديد سلسلة فارغة بدلًا من اسم database لتخزين `MySQL`. وسيُستخدم database الافتراضي في queries. في الإصدارات السابقة، كان ذلك يعمل مع استعلامات SELECT، كما أُضيف أيضًا دعم INSERT. يُغلق هذا [#19281](https://github.com/ClickHouse/ClickHouse/issues/19281). وقد يكون هذا مفيدًا عند العمل مع `Sphinx` أو غيره من قواعد البيانات الخارجية المتوافقة مع MySQL. [#23319](https://github.com/ClickHouse/ClickHouse/pull/23319) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أُصلحت `quantile(s)TDigest`. وأُضيفت معالجة خاصة لـ singleton centroids وفقًا لـ tdunning/t-digest 3.2+. كما أُصلح أيضًا خطأ يتعلق بالضغط المفرط للـ centroids في تنفيذ إصدار أقدم من الخوارزمية. [#23314](https://github.com/ClickHouse/ClickHouse/pull/23314) ([Vladimir Chebotarev](https://github.com/excitoon)).
* أصبحت الدالة `now64` تدعم الآن argument اختياريًا للـ timezone. [#24091](https://github.com/ClickHouse/ClickHouse/pull/24091) ([Vasily Nemkov](https://github.com/Enmk)).
* إصلاح الحالة التي قد يؤدي فيها شريط التقدم في interactive mode في clickhouse-client، عند ظهوره في منتصف البيانات، إلى الكتابة فوق بعض أجزاء البيانات الظاهرة في الطرفية. يُغلق هذا [#19283](https://github.com/ClickHouse/ClickHouse/issues/19283). [#23050](https://github.com/ClickHouse/ClickHouse/pull/23050) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح crash عند فشل تخصيص الذاكرة في simdjson. [https://github.com/simdjson/simdjson/pull/1567](https://github.com/simdjson/simdjson/pull/1567) . وُسِم هذا كتَحسين لأنه خطأ نادر جدًا. [#24147](https://github.com/ClickHouse/ClickHouse/pull/24147) ([Amos Bird](https://github.com/amosbird)).
* الإبقاء على Dictionaries إلى حين إيقاف التخزين (لتجنب أخطاء محتملة مثل `external dictionary 'DICT' not found` عند إيقاف server أثناء flush النهائي لمحرك `Buffer`). [#24068](https://github.com/ClickHouse/ClickHouse/pull/24068) ([Azat Khuzhin](https://github.com/azat)).
* تنفيذ flush لجداول `Buffer` قبل إيقاف الجداول (ضمن database واحدة)، لتجنب تجاهل blocks لأن underlying table قد فُصلت بالفعل (وظهور الخطأ `Destination table default.a_data_01870 doesn't exist. Block of data is discarded` في السجل). [#24067](https://github.com/ClickHouse/ClickHouse/pull/24067) ([Azat Khuzhin](https://github.com/azat)).
* أصبح `prefer_column_name_to_alias = 1` الآن يفضّل أيضًا أسماء الأعمدة في `group by` و`having` و`order by`. ويُصلح هذا [#23882](https://github.com/ClickHouse/ClickHouse/issues/23882). [#24022](https://github.com/ClickHouse/ClickHouse/pull/24022) ([Amos Bird](https://github.com/amosbird)).
* إضافة دعم `ORDER BY WITH FILL` مع `DateTime64`. [#24016](https://github.com/ClickHouse/ClickHouse/pull/24016) ([kevin wan](https://github.com/MaxWk)).
* تمكين `DateTime64` ليكون عمود إصدار في `ReplacingMergeTree`. [#23992](https://github.com/ClickHouse/ClickHouse/pull/23992) ([kevin wan](https://github.com/MaxWk)).
* تسجيل معلومات عن اسم نظام التشغيل وإصدار النواة ومعمارية المعالج عند بدء تشغيل الخادم. [#23988](https://github.com/ClickHouse/ClickHouse/pull/23988) ([Azat Khuzhin](https://github.com/azat)).
* دعم تحديد مخطط الجدول لمصدر القاموس `postgresql`. يُغلق [#23958](https://github.com/ClickHouse/ClickHouse/issues/23958). [#23980](https://github.com/ClickHouse/ClickHouse/pull/23980) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة تلميحات لأسماء عناصر `Enum` (اقتراح الأسماء في حال وجود أخطاء إملائية). يُغلق [#17112](https://github.com/ClickHouse/ClickHouse/issues/17112). [#23919](https://github.com/ClickHouse/ClickHouse/pull/23919) ([flynn](https://github.com/ucasFL)).
* قياس معدل العثور (النسبة المئوية للحالات التي عُثر فيها على القيمة) للقواميس (راجع `found_rate` في `system.dictionaries`). [#23916](https://github.com/ClickHouse/ClickHouse/pull/23916) ([Azat Khuzhin](https://github.com/azat)).
* السماح بإضافة إعدادات queue محددة عبر إعداد الجدول `rabbitmq_queue_settings_list`. (يُغلق [#23737](https://github.com/ClickHouse/ClickHouse/issues/23737) و[#23918](https://github.com/ClickHouse/ClickHouse/issues/23918)). كما يُسمح للمستخدم بالتحكم الكامل في إعداد RabbitMQ: إذا ضُبط إعداد الجدول `rabbitmq_queue_consume` على `1`، فلن يقوم محرك جدول RabbitMQ إلا بالاتصال بالـ queue المحدد، ولن ينفذ أي إعداد من جهة consumer في RabbitMQ، مثل التصريح عن exchange أو queues أو bindings. (يُغلق [#21757](https://github.com/ClickHouse/ClickHouse/issues/21757)). وإضافة تنظيف مناسب عند حذف جدول RabbitMQ، وذلك بحذف الـ queues التي صرّح بها الجدول، وجميع الـ exchanges المرتبطة بها، إذا كان الجدول قد أنشأها. [#23887](https://github.com/ClickHouse/ClickHouse/pull/23887) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة `broken_data_files`/`broken_data_compressed_bytes` إلى `system.distribution_queue`. وإضافة مقياس لعدد الملفات الخاصة بـ asynchronous insertion في الجداول Distributed التي وُسِمت بأنها تالفة (`BrokenDistributedFilesToInsert`). [#23885](https://github.com/ClickHouse/ClickHouse/pull/23885) ([Azat Khuzhin](https://github.com/azat)).
* الاستعلام عن `system.tables` لم يعد يذهب إلى ZooKeeper. [#23793](https://github.com/ClickHouse/ClickHouse/pull/23793) ([Fuwang Hu](https://github.com/fuwhu)).
* مراعاة `lock_acquire_timeout_for_background_operations` في استعلامات `OPTIMIZE`. [#23623](https://github.com/ClickHouse/ClickHouse/pull/23623) ([Azat Khuzhin](https://github.com/azat)).
* إمكانية تغيير إعدادات قرص `S3` في وقت التشغيل عبر أمر SQL الجديد `SYSTEM RESTART DISK`. [#23429](https://github.com/ClickHouse/ClickHouse/pull/23429) ([Pavel Kovalenko](https://github.com/Jokser)).
* إذا طبّق المستخدم إعدادًا غير صحيح عن طريق تعيين `max_distributed_connections` بالخطأ إلى القيمة صفر، فإن كل استعلام على جدول `Distributed` سيطرح استثناءً برسالة تحتوي على "خطأ منطقي". لكن هذا في الواقع سلوك متوقع، وليس خطأ منطقيًا، لذا كانت رسالة الاستثناء غير دقيقة قليلًا. كما كان ذلك يُفعّل checks في بيئة CI لدينا، التي تضمن عدم حدوث أخطاء منطقية مطلقًا. وبدلًا من ذلك، سنتعامل مع ضبط `max_distributed_connections` على الصفر على أنه الحد الأدنى الممكن (واحد). [#23348](https://github.com/ClickHouse/ClickHouse/pull/23348) ([Azat Khuzhin](https://github.com/azat)).
* تعطيل `min_bytes_to_use_mmap_io` افتراضيًا. [#23322](https://github.com/ClickHouse/ClickHouse/pull/23322) ([Azat Khuzhin](https://github.com/azat)).
* دعم إمكانية احتواء `LowCardinality` على `NULL` مع `join_use_nulls`، وإغلاق [#15101](https://github.com/ClickHouse/ClickHouse/issues/15101). [#23237](https://github.com/ClickHouse/ClickHouse/pull/23237) ([vdimir](https://github.com/vdimir)).
* أُضيفت إمكانية استعادة أجزاء `MergeTree` إلى الدليل `detached` على قرص `S3`. [#23112](https://github.com/ClickHouse/ClickHouse/pull/23112) ([Pavel Kovalenko](https://github.com/Jokser)).
* إعادة المحاولة عند انقطاع اتصال HTTP في S3. [#22988](https://github.com/ClickHouse/ClickHouse/pull/22988) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إضافة الإعدادين `external_storage_max_read_rows` و`external_storage_max_read_rows` إلى محرك جدول MySQL، ومصدر القاموس، وعمليات الجلب الثانوية للبيانات في MaterializeMySQL. [#22697](https://github.com/ClickHouse/ClickHouse/pull/22697) ([TCeason](https://github.com/TCeason)).
* `MaterializeMySQL` (ميزة تجريبية): في السابق، لم يكن MySQL 5.7.9 مدعومًا بسبب عدم توافق SQL. الآن تُترك عملية التحقق من معلمات MySQL إلى MaterializeMySQL. [#23413](https://github.com/ClickHouse/ClickHouse/pull/23413) ([TCeason](https://github.com/TCeason)).
* تمكين قراءة الأعمدة الفرعية للجداول الموزعة. [#24472](https://github.com/ClickHouse/ClickHouse/pull/24472) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح استخدام Tuple في استعلامات `CREATE .. AS SELECT`. [#24464](https://github.com/ClickHouse/ClickHouse/pull/24464) ([Anton Popov](https://github.com/CurtizJ)).
* دعم تنسيق `Parquet` في جداول `Kafka`. [#23412](https://github.com/ClickHouse/ClickHouse/pull/23412) ([Chao Ma](https://github.com/godliness)).

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

* استخدم الإصدار القديم من الدالة modulo عند استخدامها في مفتاح partition والمفتاح الأساسي. يغلق [#23508](https://github.com/ClickHouse/ClickHouse/issues/23508). [#24157](https://github.com/ClickHouse/ClickHouse/pull/24157) ([Kseniia Sumarokova](https://github.com/kssenii)). وكان هذا سببًا في عدم التوافق مع الإصدارات السابقة.
* تم إصلاح السلوك الذي كانت فيه معالجة الاستعلام `SYSTEM RESTART REPLICA` أو `SYSTEM SYNC REPLICA` تستمر بلا نهاية. وقد اكتُشف ذلك على خادم بذاكرة RAM قليلة جدًا. [#24457](https://github.com/ClickHouse/ClickHouse/pull/24457) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح خاصية الرتابة غير الصحيحة للدالة `toWeek`. يُصلح هذا [#24422](https://github.com/ClickHouse/ClickHouse/issues/24422). أُدخل هذا الخلل في [#5212](https://github.com/ClickHouse/ClickHouse/pull/5212)، ثم انكشف لاحقًا بفضل مُقلِّم partition أكثر ذكاءً. [#24446](https://github.com/ClickHouse/ClickHouse/pull/24446) ([Amos Bird](https://github.com/amosbird)).
* إصلاح عملية drop partition مع أجزاء intersect الوهمية. في حالات نادرة، قد توجد parts بإصدار mutation أكبر من رقم block الحالي. [#24321](https://github.com/ClickHouse/ClickHouse/pull/24321) ([Amos Bird](https://github.com/amosbird)).
* تم إصلاح خلل في نقل materialized view من قاعدة بيانات Ordinary إلى قاعدة بيانات Atomic (استعلام `RENAME TABLE`). والآن يُنقل الجدول الداخلي إلى قاعدة البيانات الجديدة مع materialized view. يُصلح [#23926](https://github.com/ClickHouse/ClickHouse/issues/23926). [#24309](https://github.com/ClickHouse/ClickHouse/pull/24309) ([tavplubix](https://github.com/tavplubix)).
* السماح بوجود رؤوس HTTP فارغة في طلبات client. يُصلح [#23901](https://github.com/ClickHouse/ClickHouse/issues/23901). [#24285](https://github.com/ClickHouse/ClickHouse/pull/24285) ([Ivan](https://github.com/abyss7)).
* اضبط `max_threads = 1` لإصلاح فشل mutation في جداول `Memory`. يغلق [#24274](https://github.com/ClickHouse/ClickHouse/issues/24274). [#24275](https://github.com/ClickHouse/ClickHouse/pull/24275) ([flynn](https://github.com/ucasFL)).
* إصلاح خطأ مطبعي في تنفيذ جداول `Memory`، وقد أُدخل هذا الخلل في [#15127](https://github.com/ClickHouse/ClickHouse/issues/15127). يغلق [#24192](https://github.com/ClickHouse/ClickHouse/issues/24192). [#24193](https://github.com/ClickHouse/ClickHouse/pull/24193) ([张中南](https://github.com/plugine)).
* إصلاح الإنهاء غير الطبيعي للخادم بسبب تعذر الوصول إلى `HDFS` أثناء تنفيذ الاستعلام. يغلق [#24117](https://github.com/ClickHouse/ClickHouse/issues/24117). [#24191](https://github.com/ClickHouse/ClickHouse/pull/24191) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح crash عند تحديث العمود `Nested` باستخدام شرط const. [#24183](https://github.com/ClickHouse/ClickHouse/pull/24183) ([hexiaoting](https://github.com/hexiaoting)).
* إصلاح حالة race condition كان يمكن أن تحدث في RBAC تحت حمل مرتفع. يُصلح طلب السحب هذا [#24090](https://github.com/ClickHouse/ClickHouse/issues/24090)، [#24134](https://github.com/ClickHouse/ClickHouse/issues/24134). [#24176](https://github.com/ClickHouse/ClickHouse/pull/24176) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح خلل نادر كان يمكن أن يؤدي إلى جدول مُهيأ جزئيًا وقادر على خدمة write requests ‏(insert/alter/إلخ). الآن ستعمل مثل هذه الجداول في وضع readonly. [#24122](https://github.com/ClickHouse/ClickHouse/pull/24122) ([alesapin](https://github.com/alesapin)).
* إصلاح مشكلة: كان `EXPLAIN PIPELINE` مع `SELECT xxx FINAL` يعرض pipeline غير صحيحة. ([hexiaoting](https://github.com/hexiaoting)).
* تم إصلاح استخدام قيمة `DateTime` ثابتة مقابل عمود `DateTime64` في `WHERE`. [#24100](https://github.com/ClickHouse/ClickHouse/pull/24100) ([Vasily Nemkov](https://github.com/Enmk)).
* إصلاح تعطل في عملية دمج JOIN، وإغلاق [#24010](https://github.com/ClickHouse/ClickHouse/issues/24010). [#24013](https://github.com/ClickHouse/ClickHouse/pull/24013) ([vdimir](https://github.com/vdimir)).
* قد تتسبب بعض استعلامات `ALTER PARTITION` في ظهور الخطأين `Part A intersects previous part B` و`Unexpected merged part C intersecting drop range D` في قائمة انتظار النسخ المتماثل. تم إصلاح ذلك. إصلاح [#23296](https://github.com/ClickHouse/ClickHouse/issues/23296). [#23997](https://github.com/ClickHouse/ClickHouse/pull/23997) ([tavplubix](https://github.com/tavplubix)).
* إصلاح SIGSEGV عند استخدام GROUP BY الخارجي وصف الفائض (أي الاستعلامات مثل `SELECT FROM GROUP BY WITH TOTALS SETTINGS max_bytes_before_external_group_by>0, max_rows_to_group_by>0, group_by_overflow_mode='any', totals_mode='before_having'`). [#23962](https://github.com/ClickHouse/ClickHouse/pull/23962) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح احتساب مقاييس المفاتيح لقاموس `CACHE` عند وجود تكرارات في المصدر (ما يؤدي إلى تجاوزات `DictCacheKeysRequestedMiss`). [#23929](https://github.com/ClickHouse/ClickHouse/pull/23929) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تنفيذ مجمّع الاتصالات لمحرك `PostgreSQL`. إغلاق [#23897](https://github.com/ClickHouse/ClickHouse/issues/23897). [#23909](https://github.com/ClickHouse/ClickHouse/pull/23909) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح `distributed_group_by_no_merge = 2` مع `GROUP BY` ودالة تجميعية مغلّفة داخل دالة عادية (وكان هذا قد تعطل في [#23546](https://github.com/ClickHouse/ClickHouse/issues/23546)). ويُصدر استثناء إذا حاول أحد استخدام `distributed_group_by_no_merge = 2` مع دوال النوافذ. كما تم تعطيل `optimize_distributed_group_by_sharding_key` للاستعلامات التي تحتوي على دوال النوافذ. [#23906](https://github.com/ClickHouse/ClickHouse/pull/23906) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح للدالة الجدولية `s3`: تحسين التعامل مع أخطاء HTTP. كانت أجسام استجابات أخطاء HTTP تُتجاهل سابقًا. [#23844](https://github.com/ClickHouse/ClickHouse/pull/23844) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إصلاح للدالة الجدولية `s3`: تحسين التعامل مع URI. تم إصلاح حالة عدم توافق مع عناوين URL التي تحتوي على الرمز `+`، إذ لم يكن من الممكن سابقًا قراءة البيانات ذات هذه المفاتيح. [#23822](https://github.com/ClickHouse/ClickHouse/pull/23822) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إصلاح الخطأ `Can't initialize pipeline with empty pipe` في الاستعلامات التي تستخدم `GLOBAL IN/JOIN` و`use_hedged_requests`. إصلاح [#23431](https://github.com/ClickHouse/ClickHouse/issues/23431). [#23805](https://github.com/ClickHouse/ClickHouse/pull/23805) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح مشكلة عدم عمل `CLEAR COLUMN` عندما يكون مُشارًا إليه بواسطة عرض مادي. إغلاق [#23764](https://github.com/ClickHouse/ClickHouse/issues/23764). [#23781](https://github.com/ClickHouse/ClickHouse/pull/23781) ([flynn](https://github.com/ucasFL)).
* إصلاح مشكلة استخدام الذاكرة بعد تحريرها عند القراءة من HDFS إذا استُخدم التنسيق `Values`. [#23761](https://github.com/ClickHouse/ClickHouse/pull/23761) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تجنب الخطأ المحتمل "يتعذر جدولة مهمة" (في حال وقوع استثناء ما) عند تنفيذ INSERT إلى Distributed. [#23744](https://github.com/ClickHouse/ClickHouse/pull/23744) ([Azat Khuzhin](https://github.com/azat)).
* أُصلِح خطأ في استعادة نسخة `ReplicatedMergeTree` المتماثلة غير المتزامنة. كان من الممكن أن تتجاهل هذه النسخة بعض تحديثات البيانات الوصفية إذا نُفِّذ استعلام `ALTER` أثناء فترة تعطل النسخة المتماثلة. [#23742](https://github.com/ClickHouse/ClickHouse/pull/23742) ([tavplubix](https://github.com/tavplubix)).
* أُصلِح خطأ يتعلق بـ `Join` و `WITH TOTALS`، ويُغلِق [#17718](https://github.com/ClickHouse/ClickHouse/issues/17718). [#23549](https://github.com/ClickHouse/ClickHouse/pull/23549) ([vdimir](https://github.com/vdimir)).
* أُصلِح خطأ محتمل من نوع `Block structure mismatch` في الاستعلامات التي تحتوي على `UNION`، وكان يمكن أن يحدث بعد تحسين دفع التصفية. يُصلِح [#23029](https://github.com/ClickHouse/ClickHouse/issues/23029). [#23359](https://github.com/ClickHouse/ClickHouse/pull/23359) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* أُضيف تحويل نوع عند تفعيل الإعداد `optimize_skip_unused_shards_rewrite_in`. وهذا يُصلِح تقرير MSan. [#23219](https://github.com/ClickHouse/ClickHouse/pull/23219) ([Azat Khuzhin](https://github.com/azat)).
* أُضيف فحص كان مفقودًا عند تحديث الأعمدة الفرعية المتداخلة، ويُغلِق المشكلة: [#22353](https://github.com/ClickHouse/ClickHouse/issues/22353). [#22503](https://github.com/ClickHouse/ClickHouse/pull/22503) ([hexiaoting](https://github.com/hexiaoting)).

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

* دعم البناء على Illumos. [#24144](https://github.com/ClickHouse/ClickHouse/pull/24144). يضيف دعماً للبناء على أنظمة التشغيل المشتقة من Solaris. [#23746](https://github.com/ClickHouse/ClickHouse/pull/23746) ([bnaecker](https://github.com/bnaecker)).
* إضافة المزيد من اختبارات الأداء لجداول hash، بما في ذلك Swiss Table من Google (الذي بدا أبطأ من hash map في ClickHouse في سيناريو الاستخدام المحدد لدينا). [#24111](https://github.com/ClickHouse/ClickHouse/pull/24111) ([Maksim Kita](https://github.com/kitaisreal)).
* تحديث librdkafka من 1.6.0-RC3 إلى 1.6.1. [#23874](https://github.com/ClickHouse/ClickHouse/pull/23874) ([filimonov](https://github.com/filimonov)).
* تفعيل `asynchronous-unwind-tables` دائماً بشكل صريح. قد يؤدي ذلك إلى إصلاح محلل الاستعلامات على AArch64. [#23602](https://github.com/ClickHouse/ClickHouse/pull/23602) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تجنب الاعتماد المحتمل أثناء البناء على إعدادات اللغة وترتيب نظام الملفات. يتيح ذلك عمليات بناء قابلة لإعادة الإنتاج. [#23600](https://github.com/ClickHouse/ClickHouse/pull/23600) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إزالة أحد مصادر عدم الحتمية من عملية البناء. أصبحت عمليات البناء الآن، حتى عند تنفيذها في أوقات مختلفة، تنتج ملفات ثنائية تنفيذية متطابقة على مستوى البايت. تمت معالجة [#22113](https://github.com/ClickHouse/ClickHouse/issues/22113) جزئياً. [#23559](https://github.com/ClickHouse/ClickHouse/pull/23559) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة أداة بسيطة لاختبار أداء (Zoo)Keeper. [#23038](https://github.com/ClickHouse/ClickHouse/pull/23038) ([alesapin](https://github.com/alesapin)).

<div id="clickhouse-release-215-2021-05-20">
  ## إصدار ClickHouse 21.5، 2021-05-20
</div>

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

* تغيير طريقة مقارنة الأعداد الصحيحة والأعداد ذات الفاصلة العائمة عندما يتعذر تمثيل العدد الصحيح بدقة في نوع البيانات ذي الفاصلة العائمة. في الإصدار الجديد ستُرجِع المقارنة القيمة false بسبب حدوث خطأ تقريب. مثال: `9223372036854775808.0 != 9223372036854775808`، لأن العدد `9223372036854775808` لا يمكن تمثيله بدقة كعدد ذي فاصلة عائمة (ويُقرَّب `9223372036854775808.0` إلى `9223372036854776000.0`). أما في الإصدار السابق، فكانت المقارنة تُرجِع أن العددين متساويان، لأنه إذا حُوِّل العدد ذو الفاصلة العائمة `9223372036854776000.0` مرة أخرى إلى UInt64، فستكون النتيجة `9223372036854775808`. وللإشارة، فإن لغة البرمجة بايثون تتعامل أيضاً مع هذين العددين على أنهما متساويان. لكن هذا السلوك كان يعتمد على طراز CPU (مع نتائج مختلفة على AMD64 وAArch64 لبعض الأعداد الخارجة عن النطاق)، لذلك جعلنا المقارنة أكثر دقة. ولن تُعامل الأعداد الصحيحة والأعداد ذات الفاصلة العائمة على أنها متساوية إلا إذا كان العدد الصحيح مُمثَّلاً بدقة في نوع الفاصلة العائمة. [#22595](https://github.com/ClickHouse/ClickHouse/pull/22595) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إزالة دعم `argMin` و`argMax` لوسيط `Tuple` واحد. لم يكن الكود آمناً من ناحية الذاكرة. أُضيفت هذه الميزة عن طريق الخطأ، وهي مربكة للمستخدمين. ويمكن إعادة تقديم هاتين الدالتين لاحقاً تحت أسماء مختلفة. يُصلح هذا [#22384](https://github.com/ClickHouse/ClickHouse/issues/22384) ويتراجع عن [#17359](https://github.com/ClickHouse/ClickHouse/issues/17359). [#23393](https://github.com/ClickHouse/ClickHouse/pull/23393) ([alexey-milovidov](https://github.com/alexey-milovidov)).

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

* تمت إضافة الدالتين `dictGetChildren(dictionary, key)` و`dictGetDescendants(dictionary, key, level)`. تُرجع الدالة `dictGetChildren` جميع العناصر التابعة كمصفوفة من الفهارس. وهي تحويل عكسي للدالة `dictGetHierarchy`. وتُرجع الدالة `dictGetDescendants` جميع العناصر التابعة المتفرعة كما لو كانت `dictGetChildren` قد طُبّقت `level` مرةً بشكل تكراري. وتُعد قيمة `level` التي تساوي صفرًا مكافئةً للمالانهاية. كما تم تحسين أداء الدالتين `dictGetHierarchy` و`dictIsIn`. يُغلق [#14656](https://github.com/ClickHouse/ClickHouse/issues/14656). [#22096](https://github.com/ClickHouse/ClickHouse/pull/22096) ([Maksim Kita](https://github.com/kitaisreal)).
* تمت إضافة الدالة `dictGetOrNull`. وهي تعمل مثل `dictGet`، لكنها تُرجع `Null` إذا لم يُعثر على المفتاح في القاموس. يُغلق [#22375](https://github.com/ClickHouse/ClickHouse/issues/22375). [#22413](https://github.com/ClickHouse/ClickHouse/pull/22413) ([Maksim Kita](https://github.com/kitaisreal)).
* تمت إضافة دالة الجدول `s3Cluster`، والتي تتيح معالجة الملفات من `s3` بالتوازي على كل عقدة في عنقود محدد. [#22012](https://github.com/ClickHouse/ClickHouse/pull/22012) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تمت إضافة دعم النسخ المتماثلة والشظايا في محرك جدول / دالة جدول MySQL/PostgreSQL. يمكنك كتابة `SELECT * FROM mysql('host{1,2}-{1|2}', ...)`. يُغلق [#20969](https://github.com/ClickHouse/ClickHouse/issues/20969). [#22217](https://github.com/ClickHouse/ClickHouse/pull/22217) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تمت إضافة الاستعلام `ALTER TABLE ... FETCH PART ...`. وهو مشابه لـ `FETCH PARTITION`، لكنه يجلب جزءًا واحدًا فقط. [#22706](https://github.com/ClickHouse/ClickHouse/pull/22706) ([turbo jason](https://github.com/songenjie)).
* تمت إضافة الإعداد `max_distributed_depth` الذي يحدّ من عمق الاستعلامات التكرارية إلى جداول `Distributed`. يُغلق [#20229](https://github.com/ClickHouse/ClickHouse/issues/20229). [#21942](https://github.com/ClickHouse/ClickHouse/pull/21942) ([flynn](https://github.com/ucasFL)).

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

* تحسّن أداء `intDiv` من خلال التوجيه الديناميكي لـ AVX2. يُغلق هذا [#22314](https://github.com/ClickHouse/ClickHouse/issues/22314). [#23000](https://github.com/ClickHouse/ClickHouse/pull/23000) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسّن أداء القراءة من input format ‏`ArrowStream` للمصادر غير الملف المحلي (مثل URL). [#22673](https://github.com/ClickHouse/ClickHouse/pull/22673) ([nvartolomei](https://github.com/nvartolomei)).
* عُطِّل الضغط افتراضيًا عند التفاعل مع localhost (باستخدام clickhouse-client أو من server إلى server مع distributed queries) عبر native protocol. قد يحسّن ذلك أداء بعض عمليات الاستيراد/التصدير. يُغلق هذا [#22234](https://github.com/ClickHouse/ClickHouse/issues/22234). [#22237](https://github.com/ClickHouse/ClickHouse/pull/22237) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* استبعاد values التي لا تنتمي إلى shard من الجزء الأيمن من قسم IN في distributed queries (ضمن `optimize_skip_unused_shards_rewrite_in`، وهو enabled افتراضيًا، مع أنه لا يزال يتطلب `optimize_skip_unused_shards`). [#21511](https://github.com/ClickHouse/ClickHouse/pull/21511) ([Azat Khuzhin](https://github.com/azat)).
* تحسّن أداء قراءة subset من columns مع محرك جدول شبيه بـ File وformat موجّه بالأعمدة مثل Parquet أو Arrow أو ORC. يُغلق هذا [#issue:20129](https://github.com/ClickHouse/ClickHouse/issues/20129). [#21302](https://github.com/ClickHouse/ClickHouse/pull/21302) ([keenwolf](https://github.com/keen-wolf)).
* السماح بنقل المزيد من الشروط إلى `PREWHERE` كما كان الحال قبل الإصدار 21.1 (مع تعديل الاستدلالات الداخلية). وقد يؤدّي العدد غير الكافي من الشروط المنقولة إلى تراجع الأداء. [#23397](https://github.com/ClickHouse/ClickHouse/pull/23397) ([Anton Popov](https://github.com/CurtizJ)).
* تحسّن أداء اتصالات ODBC، وأُصلحت جميع المشكلات المتبقية في قائمة الأعمال المتراكمة. استُخدمت مكتبة `nanodbc` بدلًا من `Poco::ODBC`. يُغلق هذا [#9678](https://github.com/ClickHouse/ClickHouse/issues/9678). أُضيف دعم لـ DateTime64 وDecimal\* في محرك جدول ODBC. يُغلق هذا [#21961](https://github.com/ClickHouse/ClickHouse/issues/21961). وأُصلحت مشكلة اقتطاع النصوص السيريلية. يُغلق هذا [#16246](https://github.com/ClickHouse/ClickHouse/issues/16246). وأُضيفت connection pools إلى odbc bridge. [#21972](https://github.com/ClickHouse/ClickHouse/pull/21972) ([Kseniia Sumarokova](https://github.com/kssenii)).

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

* زِيدت قيمة `max_uri_size` (الحد الأقصى لحجم عنوان URL في واجهة HTTP) إلى 1 MiB افتراضيًا. يُغلق هذا [#21197](https://github.com/ClickHouse/ClickHouse/issues/21197). [#22997](https://github.com/ClickHouse/ClickHouse/pull/22997) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* ضُبط `background_fetches_pool_size` على `8`، وهو أفضل لاستخدامات بيئات الإنتاج مع عمليات insert الصغيرة المتكررة أو عند بطء عنقود ZooKeeper. [#22945](https://github.com/ClickHouse/ClickHouse/pull/22945) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أُضيف الخياران `initial_array_size` و`max_array_size` إلى FlatDictionary. [#22521](https://github.com/ClickHouse/ClickHouse/pull/22521) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيف الإعداد الجديد `non_replicated_deduplication_window` لإزالة التكرار في عمليات insert الخاصة بـ MergeTree غير المكررة. [#22514](https://github.com/ClickHouse/ClickHouse/pull/22514) ([alesapin](https://github.com/alesapin)).
* حُدِّثت المسارات إلى إعدادات نموذج `CatBoost` عند إعادة تحميل config. [#22434](https://github.com/ClickHouse/ClickHouse/pull/22434) ([Kruglov Pavel](https://github.com/Avogar)).
* أُضيف دعم النوع `Decimal256` في القواميس. ويُعد `Decimal256` ميزة تجريبية. يُغلق هذا [#20979](https://github.com/ClickHouse/ClickHouse/issues/20979). [#22960](https://github.com/ClickHouse/ClickHouse/pull/22960) ([Maksim Kita](https://github.com/kitaisreal)).
* جرى تمكين `async_socket_for_remote` افتراضيًا (باستخدام عدد أقل من خيوط نظام التشغيل للاستعلامات الموزعة). [#23683](https://github.com/ClickHouse/ClickHouse/pull/23683) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* أُصلحت `quantile(s)TDigest`. وأُضيفت معالجة خاصة لـ singleton centroids وفقًا لـ tdunning/t-digest 3.2+. كما أُصلح خطأ متعلق بالإفراط في ضغط centroids في تنفيذ إصدار أقدم من الخوارزمية. [#23314](https://github.com/ClickHouse/ClickHouse/pull/23314) ([Vladimir Chebotarev](https://github.com/excitoon)).
* أصبح اسم الدالة `unhex` غير حساس لحالة الأحرف للتوافق مع MySQL. [#23229](https://github.com/ClickHouse/ClickHouse/pull/23229) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* نُفِّذت الدوال `arrayHasAny` و`arrayHasAll` و`has` و`indexOf` و`countEqual` للحالة العامة عندما تختلف أنواع عناصر المصفوفة. في الإصدارات السابقة، كانت الدالتان `arrayHasAny` و`arrayHasAll` تُرجعان false، بينما كانت `has` و`indexOf` و`countEqual` تُطلق استثناءً. كما أُضيف دعم `Decimal` وأنواع الأعداد الصحيحة الكبيرة في الدالة `has` وما شابهها. يُغلق هذا [#20272](https://github.com/ClickHouse/ClickHouse/issues/20272). [#23044](https://github.com/ClickHouse/ClickHouse/pull/23044) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* رُفعت العتبة الخاصة بالحد الأقصى لعدد التطابقات في نتيجة الدالة `extractAllGroupsHorizontal`. [#23036](https://github.com/ClickHouse/ClickHouse/pull/23036) ([Vasily Nemkov](https://github.com/Enmk)).
* لا يُنفَّذ `optimize_skip_unused_shards` لعنقود يتكون من عقدة واحدة. [#22999](https://github.com/ClickHouse/ClickHouse/pull/22999) ([Azat Khuzhin](https://github.com/azat)).
* أُضيفت إمكانية تشغيل clickhouse-keeper (بديل تجريبي مباشر لـ ZooKeeper) مع SSL. ويمكن استخدام إعدادات config `keeper_server.tcp_port_secure` للتفاعل الآمن بين العميل وkeeper-server. كما يمكن استخدام `keeper_server.raft_configuration.secure` لتمكين الاتصال الداخلي الآمن بين العقد. [#22992](https://github.com/ClickHouse/ClickHouse/pull/22992) ([alesapin](https://github.com/alesapin)).
* أُضيفت إمكانية تفريغ المخزن المؤقت في الخلفية فقط بالنسبة إلى جداول `Buffer`. [#22986](https://github.com/ClickHouse/ClickHouse/pull/22986) ([Azat Khuzhin](https://github.com/azat)).
* عند الاستعلام من جدول MergeTree مع وجود NULL في شرط WHERE، كان يُرمى استثناء في حالات نادرة. هذا يُغلق [#20019](https://github.com/ClickHouse/ClickHouse/issues/20019). [#22978](https://github.com/ClickHouse/ClickHouse/pull/22978) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح معالجة الأخطاء في Poco HTTP Client لـ AWS. [#22973](https://github.com/ClickHouse/ClickHouse/pull/22973) ([kreuzerkrieg](https://github.com/kreuzerkrieg)).
* مراعاة `max_part_removal_threads` في `ReplicatedMergeTree`. [#22971](https://github.com/ClickHouse/ClickHouse/pull/22971) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح حالة طرفية غامضة في إعدادات MergeTree: inactive\_parts\_to\_throw\_insert = 0 مع inactive\_parts\_to\_delay\_insert > 0. [#22947](https://github.com/ClickHouse/ClickHouse/pull/22947) ([Azat Khuzhin](https://github.com/azat)).
* تعمل `dateDiff` الآن مع الوسائط `DateTime64` (حتى للقيم الواقعة خارج نطاق `DateTime`) [#22931](https://github.com/ClickHouse/ClickHouse/pull/22931) ([Vasily Nemkov](https://github.com/Enmk)).
* MaterializeMySQL (ميزة تجريبية): أُضيفت إمكانية نسخ قواعد بيانات MySQL التي تحتوي على عروض دون حدوث فشل، وذلك بتجاهل هذه العروض. [#22760](https://github.com/ClickHouse/ClickHouse/pull/22760) ([Christian](https://github.com/cfroystad)).
* السماح بسياسة الصفوف في RBAC عبر بروتوكول PostgreSQL. هذا يُغلق [#22658](https://github.com/ClickHouse/ClickHouse/issues/22658). بروتوكول PostgreSQL مُمكَّن افتراضيًا في التهيئة. [#22755](https://github.com/ClickHouse/ClickHouse/pull/22755) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إضافة مقياس لتتبّع مقدار الوقت المستغرَق أثناء انتظار قفل Buffer layer. [#22725](https://github.com/ClickHouse/ClickHouse/pull/22725) ([Azat Khuzhin](https://github.com/azat)).
* السماح باستخدام CTE في تعريف VIEW. هذا يُغلق [#22491](https://github.com/ClickHouse/ClickHouse/issues/22491). [#22657](https://github.com/ClickHouse/ClickHouse/pull/22657) ([Amos Bird](https://github.com/amosbird)).
* مسح بقية الشاشة وإظهار المؤشر في `clickhouse-client` إذا كان البرنامج السابق قد ترك آثارًا غير مرغوب فيها في الطرفية. هذا يُغلق [#16518](https://github.com/ClickHouse/ClickHouse/issues/16518). [#22634](https://github.com/ClickHouse/ClickHouse/pull/22634) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* جعل الدالة `round` تتصرف بشكل متّسق على المنصات غير x86\_64. ويُستخدم التقريب من المنتصف إلى أقرب عدد زوجي (تقريب Banker's). [#22582](https://github.com/ClickHouse/ClickHouse/pull/22582) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* التحقق بشكل صحيح من بنية كتل البيانات التي ترسلها Distributed tables. [#22325](https://github.com/ClickHouse/ClickHouse/pull/22325) ([Azat Khuzhin](https://github.com/azat)).
* السماح بنشر أخطاء Kafka إلى عمود افتراضي في Kafka engine، مع التحكّم في ذلك عبر الإعداد `kafka_handle_error_mode`. [#21850](https://github.com/ClickHouse/ClickHouse/pull/21850) ([fastio](https://github.com/fastio)).
* إضافة أسماء بديلة `simpleJSONExtract/simpleJSONHas` إلى `visitParam/visitParamExtract{UInt, Int, Bool, Float, Raw, String}`. يُصلح [#21383](https://github.com/ClickHouse/ClickHouse/issues/21383). [#21519](https://github.com/ClickHouse/ClickHouse/pull/21519) ([fastio](https://github.com/fastio)).
* تمت إضافة `clickhouse-library-bridge` لمصدر القاموس من نوع library. يغلق [#9502](https://github.com/ClickHouse/ClickHouse/issues/9502). [#21509](https://github.com/ClickHouse/ClickHouse/pull/21509) ([Kseniia Sumarokova](https://github.com/kssenii)).
* منع حذف عمود إذا كان مُشارًا إليه من قِبل materialized view. يغلق [#21164](https://github.com/ClickHouse/ClickHouse/issues/21164). [#21303](https://github.com/ClickHouse/ClickHouse/pull/21303) ([flynn](https://github.com/ucasFL)).
* دعم بيانات اعتماد ديناميكية بين الخوادم (تدوير بيانات الاعتماد من دون توقف). [#14113](https://github.com/ClickHouse/ClickHouse/pull/14113) ([johnskopis](https://github.com/johnskopis)).
* تمت إضافة دعم لتخزين Kafka مع رسائل بتنسيق `Arrow` و`ArrowStream`. [#23415](https://github.com/ClickHouse/ClickHouse/pull/23415) ([Chao Ma](https://github.com/godliness)).
* إصلاح الفاصلة المنقوطة المفقودة في رسالة الاستثناء. وقد يجد المستخدم هذه الرسالة غير مريحة للقراءة. [#23208](https://github.com/ClickHouse/ClickHouse/pull/23208) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح المسافة المفقودة في بعض رسائل الاستثناء المتعلقة بالنوع `LowCardinality`. [#23207](https://github.com/ClickHouse/ClickHouse/pull/23207) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* كانت بعض values تُنسَّق بمحاذاة إلى الوسط داخل خلايا الجدول بتنسيق `Markdown`، ولم يعد ذلك يحدث. [#23096](https://github.com/ClickHouse/ClickHouse/pull/23096) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إزالة التفاصيل غير الأساسية من الاقتراحات في clickhouse-client. هذا يغلق [#22158](https://github.com/ClickHouse/ClickHouse/issues/22158). [#23040](https://github.com/ClickHouse/ClickHouse/pull/23040) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تصحيح حساب الحقل `bytes_allocated` في system.dictionaries للقواميس `sparse&#95;hashed`. [#22867](https://github.com/ClickHouse/ClickHouse/pull/22867) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الحساب التقريبي لإجمالي rows عند القراءة العكسية من MergeTree. [#22726](https://github.com/ClickHouse/ClickHouse/pull/22726) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الحالة التي كان فيها من الممكن تهيئة قاموس بمصدر ClickHouse يشير إلى نفسه، مما يؤدي إلى حلقة لا نهائية. يغلق [#14314](https://github.com/ClickHouse/ClickHouse/issues/14314). [#22479](https://github.com/ClickHouse/ClickHouse/pull/22479) ([Maksim Kita](https://github.com/kitaisreal)).

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

* عدة إصلاحات للطلبات الاحتياطية. تم إصلاح الخطأ `Can't initialize pipeline with empty pipe` في الاستعلامات التي تتضمن `GLOBAL IN/JOIN` عند تفعيل الإعداد `use_hedged_requests`. إصلاح لـ [#23431](https://github.com/ClickHouse/ClickHouse/issues/23431). [#23805](https://github.com/ClickHouse/ClickHouse/pull/23805) ([Nikolai Kochetov](https://github.com/KochetovNicolai)). كما تم إصلاح حالة تسابق في الاتصالات الاحتياطية كانت تؤدي إلى تعطل. وهذا يصلح [#22161](https://github.com/ClickHouse/ClickHouse/issues/22161). [#22443](https://github.com/ClickHouse/ClickHouse/pull/22443) ([Kruglov Pavel](https://github.com/Avogar)). وتم أيضًا إصلاح تعطل محتمل عند تلقي `unknown packet` من استعلام بعيد (مع تفعيل `async_socket_for_remote`). إصلاح لـ [#21167](https://github.com/ClickHouse/ClickHouse/issues/21167). [#23309](https://github.com/ClickHouse/ClickHouse/pull/23309) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح السلوك الذي كان يؤدي، عند تعطيل الإعداد `input_format_with_names_use_header `، إلى تجاهل جميع المدخلات بتنسيق CSVWithNames. وهذا يصلح [#22406](https://github.com/ClickHouse/ClickHouse/issues/22406). [#23202](https://github.com/ClickHouse/ClickHouse/pull/23202) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تم إصلاح مشكلة مهلة الاتصال في جسر JDBC البعيد. يغلق [#9609](https://github.com/ClickHouse/ClickHouse/issues/9609). [#23771](https://github.com/ClickHouse/ClickHouse/pull/23771) ([Maksim Kita](https://github.com/kitaisreal), [alexey-milovidov](https://github.com/alexey-milovidov)).
* تم إصلاح منطق التحميل الأولي لـ `complex_key_hashed` إذا كان `update_field` محددًا. يغلق [#23800](https://github.com/ClickHouse/ClickHouse/issues/23800). [#23824](https://github.com/ClickHouse/ClickHouse/pull/23824) ([Maksim Kita](https://github.com/kitaisreal)).
* تم إصلاح التعطل الذي كان يحدث عند تطبيق كلٍّ من `PREWHERE` ومرشح سياسة الصفوف مع نتيجة فارغة. [#23763](https://github.com/ClickHouse/ClickHouse/pull/23763) ([Amos Bird](https://github.com/amosbird)).
* تجنّب الخطأ المحتمل "Cannot schedule a task" (في حال وقوع استثناء) عند INSERT إلى Distributed. [#23744](https://github.com/ClickHouse/ClickHouse/pull/23744) ([Azat Khuzhin](https://github.com/azat)).
* تمت إضافة استثناء في حال كانت القيم متطابقة تمامًا في كلتا العينتين في الدالة التجميعية `mannWhitneyUTest`. وهذا يصلح [#23646](https://github.com/ClickHouse/ClickHouse/issues/23646). [#23654](https://github.com/ClickHouse/ClickHouse/pull/23654) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تم إصلاح عطل في الخادم كان يحدث عندما يتسبب إدراج البيانات عبر HTTP في وقوع استثناء. وهذا يصلح [#23512](https://github.com/ClickHouse/ClickHouse/issues/23512). [#23643](https://github.com/ClickHouse/ClickHouse/pull/23643) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تم إصلاح سوء تفسير بعض تعبيرات `LIKE` التي تتضمن تسلسلات هروب. [#23610](https://github.com/ClickHouse/ClickHouse/pull/23610) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تم إصلاح تعليق أمرَي إعادة التشغيل والإيقاف. يغلق [#20214](https://github.com/ClickHouse/ClickHouse/issues/20214). [#23552](https://github.com/ClickHouse/ClickHouse/pull/23552) ([filimonov](https://github.com/filimonov)).
* تم إصلاح المطابق `COLUMNS` في حالة وجود عدة JOINs في استعلام select. يغلق [#22736](https://github.com/ClickHouse/ClickHouse/issues/22736). [#23501](https://github.com/ClickHouse/ClickHouse/pull/23501) ([Maksim Kita](https://github.com/kitaisreal)).
* تم إصلاح تعطل كان يحدث عند تعديل القيمة الافتراضية لعمود عندما يكون العمود نفسه مستخدمًا كمعامل في `ReplacingMergeTree`. [#23483](https://github.com/ClickHouse/ClickHouse/pull/23483) ([hexiaoting](https://github.com/hexiaoting)).
* تم إصلاح الحالات الطرفية في الدمج العمودي مع `ReplacingMergeTree`. وفي حالات نادرة، كان ذلك قد يؤدي إلى فشل عمليات الدمج مع استثناءات مثل `Incomplete granules are not allowed while blocks are granules size`. [#23459](https://github.com/ClickHouse/ClickHouse/pull/23459) ([Anton Popov](https://github.com/CurtizJ)).
* تم إصلاح خطأ كان يمنع إجراء cast من قيمة Array حرفية فارغة إلى Array ذات أبعاد أكبر من 1، مثل `CAST([] AS Array(Array(String)))`. يغلق [#14476](https://github.com/ClickHouse/ClickHouse/issues/14476). [#23456](https://github.com/ClickHouse/ClickHouse/pull/23456) ([Maksim Kita](https://github.com/kitaisreal)).
* تم إصلاح خطأ كانت فيه الدالة التجميعية `deltaSum` تنتج نتيجة غير صحيحة بعد إعادة تعيين العداد. [#23437](https://github.com/ClickHouse/ClickHouse/pull/23437) ([Russ Frank](https://github.com/rf)).
* تم إصلاح الخطأ `Cannot unlink file` عند فشل إنشاء جدول ReplicatedMergeTree مع تهيئة متعددة الأقراص. هذا يغلق [#21755](https://github.com/ClickHouse/ClickHouse/issues/21755). [#23433](https://github.com/ClickHouse/ClickHouse/pull/23433) ([tavplubix](https://github.com/tavplubix)).
* تم إصلاح توليد تعبير ثابت غير متوافق أثناء تقليم الأقسام استنادًا إلى الأعمدة الافتراضية. هذا يصلح [https://github.com/ClickHouse/ClickHouse/pull/21401#discussion\&#95;r611888913](https://github.com/ClickHouse/ClickHouse/pull/21401#discussion\&#95;r611888913). [#23366](https://github.com/ClickHouse/ClickHouse/pull/23366) ([Amos Bird](https://github.com/amosbird)).
* تم إصلاح تعطل كان يحدث عند ضبط `join&#95;algorithm` على 'auto' وتنفيذ Join باستخدام Dictionary. يغلق [#23002](https://github.com/ClickHouse/ClickHouse/issues/23002). [#23312](https://github.com/ClickHouse/ClickHouse/pull/23312) ([Vladimir](https://github.com/vdimir)).
* لا تُخفِّف شروط NOT أثناء تقليم الأقسام. هذا يصلح [#23305](https://github.com/ClickHouse/ClickHouse/issues/23305) و[#21539](https://github.com/ClickHouse/ClickHouse/issues/21539). [#23310](https://github.com/ClickHouse/ClickHouse/pull/23310) ([Amos Bird](https://github.com/amosbird)).
* تم إصلاح حالة تسابق نادرة جدًا أثناء التنظيف الخلفي للكتل القديمة. وقد يؤدي ذلك إلى عدم إزالة تكرار كتلة إذا كانت قريبة جدًا من نهاية نافذة إزالة التكرار. [#23301](https://github.com/ClickHouse/ClickHouse/pull/23301) ([tavplubix](https://github.com/tavplubix)).
* تم إصلاح حالة تسابق نادرة جدًا (موزعة) بين إنشاء جداول ReplicatedMergeTree وإزالتها. وقد يتسبب ذلك في استثناءات مثل `node doesn't exist` عند محاولة إنشاء جدول replicated. يصلح [#21419](https://github.com/ClickHouse/ClickHouse/issues/21419). [#23294](https://github.com/ClickHouse/ClickHouse/pull/23294) ([tavplubix](https://github.com/tavplubix)).
* تم إصلاح إنشاء Dictionary بمفتاح بسيط من DDL إذا لم يكن المفتاح الأساسي هو السمة الأولى. يصلح [#23236](https://github.com/ClickHouse/ClickHouse/issues/23236). [#23262](https://github.com/ClickHouse/ClickHouse/pull/23262) ([Maksim Kita](https://github.com/kitaisreal)).
* تم إصلاح القراءة من ODBC عند وجود عدد كبير من أسماء الأعمدة الطويلة في جدول. يغلق [#8853](https://github.com/ClickHouse/ClickHouse/issues/8853). [#23215](https://github.com/ClickHouse/ClickHouse/pull/23215) ([Kseniia Sumarokova](https://github.com/kssenii)).
* MaterializeMySQL (ميزة تجريبية): تم إصلاح الخطأ `Not found column` عند الاستعلام من `MaterializeMySQL` مع شرط على عمود المفتاح. يُصلح [#22432](https://github.com/ClickHouse/ClickHouse/issues/22432). [#23200](https://github.com/ClickHouse/ClickHouse/pull/23200) ([tavplubix](https://github.com/tavplubix)).
* تصحيح معالجة الأسماء المستعارة إذا اختُزل الاستعلام الفرعي إلى ثابت. يُصلح [#22924](https://github.com/ClickHouse/ClickHouse/issues/22924). يُصلح [#10401](https://github.com/ClickHouse/ClickHouse/issues/10401). [#23191](https://github.com/ClickHouse/ClickHouse/pull/23191) ([Maksim Kita](https://github.com/kitaisreal)).
* قد يفشل الخادم في بدء التشغيل إذا كان الإعداد `data_type_default_nullable` مفعّلًا في ملف التعريف الافتراضي، وقد أُصلح ذلك. يُصلح [#22573](https://github.com/ClickHouse/ClickHouse/issues/22573). [#23185](https://github.com/ClickHouse/ClickHouse/pull/23185) ([tavplubix](https://github.com/tavplubix)).
* تم إصلاح تعطل عند إيقاف التشغيل كان يحدث بسبب احتساب غير صحيح للاتصالات الحالية. [#23154](https://github.com/ClickHouse/ClickHouse/pull/23154) ([Vitaly Baranov](https://github.com/vitlibar)).
* تم إصلاح الخطأ `Table .inner_id... doesn't exist` عند الاستعلام من العرض المادي بعد فصله عن قاعدة بيانات Atomic ثم إرفاقه مجددًا. [#23047](https://github.com/ClickHouse/ClickHouse/pull/23047) ([tavplubix](https://github.com/tavplubix)).
* تم إصلاح الخطأ `Cannot find column in ActionsDAG result` الذي قد يحدث إذا كان الاستعلام الفرعي يستخدم `untuple`. يُصلح [#22290](https://github.com/ClickHouse/ClickHouse/issues/22290). [#22991](https://github.com/ClickHouse/ClickHouse/pull/22991) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح استخدام الأعمدة الثابتة من النوع `Map` ذات القيم القابلة لأن تكون NULL. [#22939](https://github.com/ClickHouse/ClickHouse/pull/22939) ([Anton Popov](https://github.com/CurtizJ)).
* تم إصلاح `formatDateTime()` مع `DateTime64` ومحدِّد التنسيق "%C"، كما تم إصلاح `toDateTime64()` للقيم الكبيرة وscale غير الصفري. [#22937](https://github.com/ClickHouse/ClickHouse/pull/22937) ([Vasily Nemkov](https://github.com/Enmk)).
* تم إصلاح تعطل عند استخدام `mannWhitneyUTest` و`rankCorr` مع window functions. يُصلح هذا [#22728](https://github.com/ClickHouse/ClickHouse/issues/22728). [#22876](https://github.com/ClickHouse/ClickHouse/pull/22876) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* LIVE VIEW (ميزة تجريبية): تم إصلاح احتمال حدوث تعليق عند تنفيذ DROP/CREATE بشكل متزامن لـ TEMPORARY LIVE VIEW في `TemporaryLiveViewCleaner`، [انظر](https://gist.github.com/vzakaznikov/0c03195960fc86b56bfe2bc73a90019e). [#22858](https://github.com/ClickHouse/ClickHouse/pull/22858) ([Vitaly Baranov](https://github.com/vitlibar)).
* تم إصلاح pushdown لـ `HAVING` في الحالة التي يُستخدم فيها عمود التصفية في aggregation. [#22763](https://github.com/ClickHouse/ClickHouse/pull/22763) ([Anton Popov](https://github.com/CurtizJ)).
* تم إصلاح حالات تعليق محتملة في طلبات ZooKeeper عند حدوث استثناء نفاد الذاكرة (OOM). يُصلح [#22438](https://github.com/ClickHouse/ClickHouse/issues/22438). [#22684](https://github.com/ClickHouse/ClickHouse/pull/22684) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح انتظار mutations على عدة replicas لمحركات الجداول ReplicatedMergeTree. سابقًا، كان من الممكن أن ينتهي استعلام mutation/alter قبل تنفيذ mutation فعليًا على replicas الأخرى. [#22669](https://github.com/ClickHouse/ClickHouse/pull/22669) ([alesapin](https://github.com/alesapin)).
* تم إصلاح الاستثناء الخاص بـ Log مع الأنواع المتداخلة من دون أعمدة في عبارة SELECT. [#22654](https://github.com/ClickHouse/ClickHouse/pull/22654) ([Azat Khuzhin](https://github.com/azat)).
* تم إصلاح الانتظار غير المحدود لطلبات AWS المساعدة. [#22594](https://github.com/ClickHouse/ClickHouse/pull/22594) ([Vladimir Chebotarev](https://github.com/excitoon)).
* تم إصلاح تعطل يحدث عندما يغلق العميل الاتصال مبكرًا جدًا [#22579](https://github.com/ClickHouse/ClickHouse/issues/22579). [#22591](https://github.com/ClickHouse/ClickHouse/pull/22591) ([nvartolomei](https://github.com/nvartolomei)).
* نوع البيانات `Map` (ميزة تجريبية): تم إصلاح تنسيق غير صحيح للدالة `map` في الاستعلامات الموزعة. [#22588](https://github.com/ClickHouse/ClickHouse/pull/22588) ([foolchi](https://github.com/foolchi)).
* تم إصلاح إلغاء تسلسل السلسلة الفارغة من دون سطر جديد في نهاية تنسيق TSV. وهذا يغلق [#20244](https://github.com/ClickHouse/ClickHouse/issues/20244). حل بديل ممكن من دون تحديث الإصدار: اضبط `input_format_null_as_default` على صفر. وكانت قيمته صفرًا في الإصدارات القديمة. [#22527](https://github.com/ClickHouse/ClickHouse/pull/22527) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تم إصلاح تحويل نوع غير صحيح لعمود من النوع `LowCardinality` في خوارزمية Merge Join. إغلاق [#22386](https://github.com/ClickHouse/ClickHouse/issues/22386)، وإغلاق [#22388](https://github.com/ClickHouse/ClickHouse/issues/22388). [#22510](https://github.com/ClickHouse/ClickHouse/pull/22510) ([Vladimir](https://github.com/vdimir)).
* كان من الممكن حدوث تجاوز سعة في المخزن المؤقت (عند القراءة) في فهرس النص الكامل `tokenbf_v1`. لا تُستخدم البايتات الزائدة، لكن عملية القراءة قد تؤدي إلى تعطل في حالات نادرة. وهذا يغلق [#19233](https://github.com/ClickHouse/ClickHouse/issues/19233). [#22421](https://github.com/ClickHouse/ClickHouse/pull/22421) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* لا تقيّد حجم مقاطع HTTP. يُصلح [#21907](https://github.com/ClickHouse/ClickHouse/issues/21907). [#22322](https://github.com/ClickHouse/ClickHouse/pull/22322) ([Ivan](https://github.com/abyss7)).
* تم إصلاح خطأ يؤدي إلى تجميع ناقص للبيانات عند تفعيل `optimize_aggregation_in_order` ووجود عدد كبير من الأجزاء في الجدول. كما تم تحسين أداء التجميع قليلًا عند تفعيل `optimize_aggregation_in_order`. [#21889](https://github.com/ClickHouse/ClickHouse/pull/21889) ([Anton Popov](https://github.com/CurtizJ)).
* تحقّق مما إذا كانت table function‏ `view` مستخدمة كعمود. وهذا يُكمل #20350. [#21465](https://github.com/ClickHouse/ClickHouse/pull/21465) ([Amos Bird](https://github.com/amosbird)).
* تم إصلاح خطأ "عمود غير معروف" للجداول التي تستخدم المحرك `Merge` في الاستعلامات التي تحتوي على `JOIN` وaggregation. يغلق [#18368](https://github.com/ClickHouse/ClickHouse/issues/18368)، وإغلاق [#22226](https://github.com/ClickHouse/ClickHouse/issues/22226). [#21370](https://github.com/ClickHouse/ClickHouse/pull/21370) ([Vladimir](https://github.com/vdimir)).
* تم إصلاح تعارضات الأسماء في تحسين pushdown. وكان هذا يسبب ترشيح `WHERE` غير صحيح بعد FULL JOIN. إغلاق [#20497](https://github.com/ClickHouse/ClickHouse/issues/20497). [#20622](https://github.com/ClickHouse/ClickHouse/pull/20622) ([Vladimir](https://github.com/vdimir)).
* تم إصلاح خطأ نادر جدًا حيث لا يكون إدراج quorum مع `quorum_parallel=1` في الواقع "quorum" بسبب deduplication. [#18215](https://github.com/ClickHouse/ClickHouse/pull/18215) ([filimonov](https://github.com/filimonov) - أبلغ عنه، [alesapin](https://github.com/alesapin) - أصلحه).

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

* تشغيل الاختبارات عديمة الحالة بالتوازي في CI. [#22300](https://github.com/ClickHouse/ClickHouse/pull/22300) ([alesapin](https://github.com/alesapin)).
* تبسيط حزم Debian. يُصلح هذا [#21698](https://github.com/ClickHouse/ClickHouse/issues/21698). [#22976](https://github.com/ClickHouse/ClickHouse/pull/22976) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تمت إضافة دعم لبناء ClickHouse على Apple M1. [#21639](https://github.com/ClickHouse/ClickHouse/pull/21639) ([changvvb](https://github.com/changvvb)).
* تم إصلاح بناء ClickHouse Keeper على MacOS. [#22860](https://github.com/ClickHouse/ClickHouse/pull/22860) ([alesapin](https://github.com/alesapin)).
* تم إصلاح بعض الاختبارات على منصة AArch64. [#22596](https://github.com/ClickHouse/ClickHouse/pull/22596) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تمت إضافة محاذاة للدوال لتحسين الأداء المحتمل. [#21431](https://github.com/ClickHouse/ClickHouse/pull/21431) ([Danila Kutenin](https://github.com/danlark1)).
* تعديل بعض الاختبارات لإخراج نتائج متطابقة على amd64 و aarch64 (qemu). إذ كانت النتيجة تعتمد على سلوك CPU خاص بالتنفيذ. [#22590](https://github.com/ClickHouse/ClickHouse/pull/22590) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح بتنميط الاستعلام على x86\_64 فقط. راجع [#15174](https://github.com/ClickHouse/ClickHouse/issues/15174#issuecomment-812954965) و [#15638](https://github.com/ClickHouse/ClickHouse/issues/15638#issuecomment-703805337). يُغلق هذا [#15638](https://github.com/ClickHouse/ClickHouse/issues/15638). [#22580](https://github.com/ClickHouse/ClickHouse/pull/22580) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح بالبناء باستخدام xz (lzma) غير المضمّن عبر خيار CMake `USE_INTERNAL_XZ_LIBRARY=OFF`. [#22571](https://github.com/ClickHouse/ClickHouse/pull/22571) ([Kfir Itzhak](https://github.com/mastertheknife)).
* تمكين `openldap` المضمّن على `ppc64le` [#22487](https://github.com/ClickHouse/ClickHouse/pull/22487) ([Kfir Itzhak](https://github.com/mastertheknife)).
* تعطيل المكتبات غير المتوافقة (والمرتبطة عادةً بالمنصة) على `ppc64le` [#22475](https://github.com/ClickHouse/ClickHouse/pull/22475) ([Kfir Itzhak](https://github.com/mastertheknife)).
* إضافة اختبار Jepsen في CI لـ ClickHouse Keeper. [#22373](https://github.com/ClickHouse/ClickHouse/pull/22373) ([alesapin](https://github.com/alesapin)).
* بناء `jemalloc` مع دعم [تنميط heap](https://github.com/jemalloc/jemalloc/wiki/Use-Case%3A-Heap-Profiling). [#22834](https://github.com/ClickHouse/ClickHouse/pull/22834) ([nvartolomei](https://github.com/nvartolomei)).
* تجنّب السلوك غير المعرّف (UB) في محركات `*Log` عند فك قفل rwlock بسبب فك القفل من thread أخرى. [#22583](https://github.com/ClickHouse/ClickHouse/pull/22583) ([Azat Khuzhin](https://github.com/azat)).
* تم إصلاح السلوك غير المعرّف (UB) عبر فك قفل rwlock الخاصة بـ TinyLog من thread نفسها. [#22560](https://github.com/ClickHouse/ClickHouse/pull/22560) ([Azat Khuzhin](https://github.com/azat)).

<div id="clickhouse-release-214">
  ## إصدار ClickHouse 21.4
</div>

<div id="clickhouse-release-2141-2021-04-12">
  ### إصدار ClickHouse 21.4.1 2021-04-12
</div>

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

* ستُحاذي الدالة `toStartOfIntervalFunction` الفواصل الزمنية بالساعات إلى منتصف الليل (في الإصدارات السابقة كانت تُحاذى إلى بداية حقبة يونكس `unix epoch`). على سبيل المثال، ستقسّم `toStartOfInterval(x, INTERVAL 11 HOUR)` كل يوم إلى ثلاث فواصل: `00:00:00..10:59:59` و`11:00:00..21:59:59` و`22:00:00..23:59:59`. هذا السلوك أنسب للاحتياجات العملية. وبذلك يُغلق [#9510](https://github.com/ClickHouse/ClickHouse/issues/9510). [#22060](https://github.com/ClickHouse/ClickHouse/pull/22060) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* يجب أن تزداد قيمتا `Age` و`Precision` في إعدادات rollup الخاصة بـ graphite من فترة احتفاظ إلى التي تليها. ويجري الآن التحقق من ذلك، كما أن الإعداد الخاطئ يؤدي إلى ظهور استثناء. [#21496](https://github.com/ClickHouse/ClickHouse/pull/21496) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* إصلاح `cutToFirstSignificantSubdomainCustom()`/`firstSignificantSubdomainCustom()` التي كانت تُرجع نتائج غير صحيحة للنطاقات ذات ثلاثة مستويات أو أكثر الموجودة في قائمة نطاقات المستوى الأعلى المخصّصة. بالنسبة إلى نطاقات الإدخال المطابقة لنطاقات المستوى الأعلى المخصّصة هذه، كان نطاق المستوى الثالث يُعتبر أول نطاق فرعي مهم. وقد أُصلح ذلك الآن. قد يتسبب هذا التغيير في عدم توافق إذا كانت الدالة مستخدمة، على سبيل المثال، في مفتاح التقسيم الأفقي. [#21946](https://github.com/ClickHouse/ClickHouse/pull/21946) ([Azat Khuzhin](https://github.com/azat)).
* استُبدل العمود `keys` في الجدول `system.dictionaries` بالعمودين `key.names` و`key.types`. ولا تتطلب الأعمدة `key.names` و`key.types` و`attribute.names` و`attribute.types` من الجدول `system.dictionaries` أن يكون القاموس محمّلًا. [#21884](https://github.com/ClickHouse/ClickHouse/pull/21884) ([Maksim Kita](https://github.com/kitaisreal)).
* أصبحت النسخ المتماثلة التي تعالج الأمر `ALTER TABLE ATTACH PART[ITION]` تبحث في مجلدات `detached/` الخاصة بها قبل جلب البيانات من النسخ المتماثلة الأخرى. وكتفصيل على مستوى التنفيذ، أُضيف أمر جديد هو `ATTACH_PART` إلى السجل المتماثل. ويجري البحث عن الأجزاء ومقارنتها باستخدام قيم التحقق الخاصة بها. [#18978](https://github.com/ClickHouse/ClickHouse/pull/18978) ([Mike Kot](https://github.com/myrrc)). **ملاحظة**:
  * قد لا تعمل استعلامات `ATTACH PART[ITION]` أثناء ترقية المجموعة.
  * لا يمكن التراجع إلى إصدار أقدم من ClickHouse بعد تنفيذ استعلام `ALTER ... ATTACH` في الإصدار الجديد، لأن الخوادم القديمة ستفشل في تمرير المُدخل `ATTACH_PART` في السجل المتماثل.
* في هذا الإصدار، سيؤدي العنصر الفارغ `<remote_url_allow_hosts></remote_url_allow_hosts>` إلى حظر جميع عمليات الوصول إلى المضيفين البعيدين، بينما لم يكن له أي تأثير في الإصدارات السابقة. إذا كنت تريد الإبقاء على السلوك القديم وكان لديك عنصر `remote_url_allow_hosts` فارغ في ملف الإعداد، فأزِله. [#20058](https://github.com/ClickHouse/ClickHouse/pull/20058) ([Vladimir Chebotarev](https://github.com/excitoon)).

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

* توسيع نطاق `DateTime64` لدعم التواريخ من عام 1925 إلى 2283. وتحسين دعم `DateTime` حول التاريخ الصفري (`1970-01-01`). [#9404](https://github.com/ClickHouse/ClickHouse/pull/9404) ([alexey-milovidov](https://github.com/alexey-milovidov)، [Vasily Nemkov](https://github.com/Enmk)). لا تعمل جميع دوال الوقت والتاريخ مع نطاق التواريخ الموسّع.
* إضافة دعم مصادقة Kerberos للمستخدمين المُعدّين مسبقًا وطلبات HTTP ‏(GSS-SPNEGO). [#14995](https://github.com/ClickHouse/ClickHouse/pull/14995) ([Denis Glazachev](https://github.com/traceon)).
* إضافة الإعداد `prefer_column_name_to_alias` لاستخدام أسماء الأعمدة الأصلية بدلًا من الأسماء المستعارة. وهذا مطلوب لتحقيق توافق أكبر مع قواعد استخدام الأسماء المستعارة الشائعة في قواعد البيانات. هذا مرتبط بـ [#9715](https://github.com/ClickHouse/ClickHouse/issues/9715) و[#9887](https://github.com/ClickHouse/ClickHouse/issues/9887). [#22044](https://github.com/ClickHouse/ClickHouse/pull/22044) ([Amos Bird](https://github.com/amosbird)).
* إضافة الدالتين `dictGetChildren(dictionary, key)` و`dictGetDescendants(dictionary, key, level)`. تُرجع الدالة `dictGetChildren` جميع العناصر الفرعية كمصفوفة من الفهارس. وهي تحويل عكسي للدالة `dictGetHierarchy`. وتُرجع الدالة `dictGetDescendants` جميع العناصر المتحدّرة كما لو أن `dictGetChildren` طُبّقت `level` مرة بشكل递归. وتكون قيمة `level` صفر مكافئة لللانهاية. يُغلق [#14656](https://github.com/ClickHouse/ClickHouse/issues/14656). [#22096](https://github.com/ClickHouse/ClickHouse/pull/22096) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة مصدر القاموس `executable_pool`. إغلاق [#14528](https://github.com/ClickHouse/ClickHouse/issues/14528). [#21321](https://github.com/ClickHouse/ClickHouse/pull/21321) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة table function `dictionary`. وهي تعمل بالطريقة نفسها التي يعمل بها المحرّك `Dictionary`. يُغلق [#21560](https://github.com/ClickHouse/ClickHouse/issues/21560). [#21910](https://github.com/ClickHouse/ClickHouse/pull/21910) ([Maksim Kita](https://github.com/kitaisreal)).
* دعم النوع `Nullable` لسمة `PolygonDictionary`. [#21890](https://github.com/ClickHouse/ClickHouse/pull/21890) ([Maksim Kita](https://github.com/kitaisreal)).
* تستخدم الدالتان `dictGet` و`dictHas` اسم قاعدة البيانات الحالية إذا لم يتم تحديده للقواميس التي أُنشئت باستخدام DDL. يُغلق [#21632](https://github.com/ClickHouse/ClickHouse/issues/21632). [#21859](https://github.com/ClickHouse/ClickHouse/pull/21859) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة الدالة `dictGetOrNull`. وهي تعمل مثل `dictGet`، لكنها تُرجع `Null` إذا لم يتم العثور على المفتاح في القاموس. يُغلق [#22375](https://github.com/ClickHouse/ClickHouse/issues/22375). [#22413](https://github.com/ClickHouse/ClickHouse/pull/22413) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة التحديث غير المتزامن في قواميس `ComplexKeyCache` و`SSDCache` و`SSDComplexKeyCache`. وإضافة دعم النوع `Nullable` في قواميس `Cache` و`ComplexKeyCache` و`SSDCache` و`SSDComplexKeyCache`. وإضافة دعم جلب سمات متعددة باستخدام الدالتين `dictGet` و`dictGetOrDefault`. إصلاح [#21517](https://github.com/ClickHouse/ClickHouse/issues/21517). [#20595](https://github.com/ClickHouse/ClickHouse/pull/20595) ([Maksim Kita](https://github.com/kitaisreal)).
* دعم الدالة `dictHas` للقاموس `RangeHashedDictionary`. إصلاح [#6680](https://github.com/ClickHouse/ClickHouse/issues/6680). [#19816](https://github.com/ClickHouse/ClickHouse/pull/19816) ([Maksim Kita](https://github.com/kitaisreal)).
* أضِف الدالة `timezoneOf` التي تُرجع اسم المنطقة الزمنية لأنواع البيانات `DateTime` أو `DateTime64`. لا يؤدي ذلك إلى إغلاق [#9959](https://github.com/ClickHouse/ClickHouse/issues/9959). وأصلِح حالات عدم الاتساق في أسماء الدوال: أضِف أيضًا الأسماء المستعارة `timezone` و`timeZone`، وكذلك `toTimezone` و`toTimeZone` و`timezoneOf` و`timeZoneOf`. [#22001](https://github.com/ClickHouse/ClickHouse/pull/22001) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أضِف البند الاختياري الجديد `GRANTEES` إلى أوامر `CREATE/ALTER USER`. يحدّد هذا البند المستخدمين أو الأدوار المسموح لهم بتلقي grants من هذا المستخدم، بشرط أن يكون هذا المستخدم قد مُنح أيضًا جميع امتيازات الوصول المطلوبة مع خيار المنح. يُستخدم `GRANTEES ANY` افتراضيًا، ما يعني أن المستخدم الذي لديه خيار المنح يمكنه منح الامتيازات لأي شخص. الصياغة: `CREATE USER ... GRANTEES {user | role | ANY | NONE} [,...] [EXCEPT {user | role} [,...]]`. [#21641](https://github.com/ClickHouse/ClickHouse/pull/21641) ([Vitaly Baranov](https://github.com/vitlibar)).
* أضِف العمود الجديد `slowdowns_count` إلى `system.clusters`. عند استخدام الطلبات المتحوطة، يعرض هذا العمود عدد المرات التي تم فيها التبديل إلى replica أخرى لأن هذه replica كانت تستجيب ببطء. كما يعرض أيضًا القيمة الفعلية لـ `errors_count` في `system.clusters`. [#21480](https://github.com/ClickHouse/ClickHouse/pull/21480) ([Kruglov Pavel](https://github.com/Avogar)).
* أضِف العمود الافتراضي `_partition_id` لمحركات `MergeTree*`. واسمح باستبعاد partitions باستخدام `_partition_id`. وأضِف الدالة `partitionID()` لحساب سلسلة معرّف partition. [#21401](https://github.com/ClickHouse/ClickHouse/pull/21401) ([Amos Bird](https://github.com/amosbird)).
* أضِف الدالة `isIPAddressInRange` للتحقق مما إذا كان عنوان IPv4 أو IPv6 يقع ضمن بادئة شبكة CIDR معيّنة. [#21329](https://github.com/ClickHouse/ClickHouse/pull/21329) ([PHO](https://github.com/depressed-pho)).
* أُضيف أمر SQL جديد `ALTER TABLE 'table_name' UNFREEZE [PARTITION 'part_expr'] WITH NAME 'backup_name'`. هذا الأمر مطلوب لإزالة partitions 'المجمّدة' من جميع disks على نحو صحيح. [#21142](https://github.com/ClickHouse/ClickHouse/pull/21142) ([Pavel Kovalenko](https://github.com/Jokser)).
* يدعم التحويل الضمني لنوع المفتاح في JOIN. [#19885](https://github.com/ClickHouse/ClickHouse/pull/19885) ([Vladimir](https://github.com/vdimir)).

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

* دعم إطار `RANGE OFFSET` (لدوال النافذة) لأنواع الفاصلة العائمة. وإضافة دالتي النافذة `lagInFrame`/`leadInFrame`، وهما مماثلتان لـ `lag`/`lead`، لكنهما تلتزمان بإطار النافذة. وتتطابقان عندما يكون الإطار `between unbounded preceding and unbounded following`. وبذلك أُغلقت [#5485](https://github.com/ClickHouse/ClickHouse/issues/5485). [#21895](https://github.com/ClickHouse/ClickHouse/pull/21895) ([Alexander Kuzmenkov](https://github.com/akuzm)).
* النسخ المتماثل دون نسخ لـ `ReplicatedMergeTree` عبر تخزين S3. [#16240](https://github.com/ClickHouse/ClickHouse/pull/16240) ([ianton-ru](https://github.com/ianton-ru)).
* أُضيفت إمكانية ترحيل قرص S3 موجود إلى مخطط يدعم إمكانات النسخ الاحتياطي والاستعادة. [#22070](https://github.com/ClickHouse/ClickHouse/pull/22070) ([Pavel Kovalenko](https://github.com/Jokser)).

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

* دعم التنسيق المتوازي في `clickhouse-local` وفي سائر المواضع أيضًا. [#21630](https://github.com/ClickHouse/ClickHouse/pull/21630) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* دعم التحليل المتوازي لتنسيقَي `CSVWithNames` و`TSVWithNames`. ويغلق هذا [#21085](https://github.com/ClickHouse/ClickHouse/issues/21085). [#21149](https://github.com/ClickHouse/ClickHouse/pull/21149) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تمكين القراءة باستخدام mmap IO لنطاقات الملفات بدءًا من 64 MiB (الإعداد `min_bytes_to_use_mmap_io`). قد يؤدي ذلك إلى تحسين متوسط في الأداء. [#22326](https://github.com/ClickHouse/ClickHouse/pull/22326) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة ذاكرة تخزين مؤقت للملفات المقروءة باستخدام الإعداد `min_bytes_to_use_mmap_io`. يحقق ذلك تحسنًا كبيرًا في الأداء (بمقدار الضعف أو أكثر) عندما تكون قيمة الإعداد صغيرة، من خلال تجنب استدعاءات mmap/munmap المتكررة وما يترتب عليها من أخطاء صفحات. لاحظ أن mmap IO له عيوب كبيرة تجعله أقل موثوقية في بيئة الإنتاج (مثل التعليق أو SIGBUS عند وجود أعطال في الأقراص، وكذلك صعوبة أكبر في التحكم في استهلاك الذاكرة). ومع ذلك، فهو جيد في اختبارات الأداء. [#22206](https://github.com/ClickHouse/ClickHouse/pull/22206) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تجنب النسخ غير الضروري للبيانات عند استخدام codec `NONE`. يُرجى ملاحظة أن codec `NONE` غير مفيد في معظم الحالات — ويُنصح دائمًا باستخدام الضغط (`LZ4` هو الافتراضي). وخلافًا للاعتقاد الشائع، فإن تعطيل الضغط قد لا يحسن الأداء (وقد يحدث العكس). يكون codec `NONE` مفيدًا في بعض الحالات: - عندما تكون البيانات غير قابلة للضغط؛ - في اختبارات الأداء الاصطناعية. [#22145](https://github.com/ClickHouse/ClickHouse/pull/22145) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تسريع `GROUP BY` عند صِغر قيمة `max_rows_to_group_by` و`group_by_overflow_mode='any'`. [#21856](https://github.com/ClickHouse/ClickHouse/pull/21856) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تحسين أداء الاستعلامات من النوع `SELECT ... FINAL ... WHERE`. أصبح مسموحًا الآن، في الاستعلامات التي تحتوي على `FINAL`، بالنقل إلى أعمدة `PREWHERE` الموجودة في مفتاح الفرز. [#21830](https://github.com/ClickHouse/ClickHouse/pull/21830) ([foolchi](https://github.com/foolchi)).
* تحسين الأداء عبر استبدال `memcpy` بتنفيذ آخر. ويغلق هذا [#18583](https://github.com/ClickHouse/ClickHouse/issues/18583). [#21520](https://github.com/ClickHouse/ClickHouse/pull/21520) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين أداء التجميع وفق ترتيب مفتاح الفرز (مع تمكين الإعداد `optimize_aggregation_in_order`). [#19401](https://github.com/ClickHouse/ClickHouse/pull/19401) ([Anton Popov](https://github.com/CurtizJ)).

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

* إضافة connection pool لمحرك table/database في PostgreSQL ولمصدر dictionary. من المفترض أن يعالج ذلك [#21444](https://github.com/ClickHouse/ClickHouse/issues/21444). [#21839](https://github.com/ClickHouse/ClickHouse/pull/21839) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم schema غير `default` لآلية postgres storage/table-function. يُغلق هذا [#21701](https://github.com/ClickHouse/ClickHouse/issues/21701). [#21711](https://github.com/ClickHouse/ClickHouse/pull/21711) ([Kseniia Sumarokova](https://github.com/kssenii)).
* دعم أولوية replicas لمصدر postgres dictionary. [#21710](https://github.com/ClickHouse/ClickHouse/pull/21710) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تقديم إعداد merge tree جديد باسم `min_bytes_to_rebalance_partition_over_jbod` يتيح توزيع parts الجديدة على disks مختلفة ضمن وحدة JBOD بشكل متوازن. [#16481](https://github.com/ClickHouse/ClickHouse/pull/16481) ([Amos Bird](https://github.com/amosbird)).
* إضافة القيم `Grant` و`Revoke` و`System` إلى column ‏`query_kind` للاستعلامات المقابلة في `system.query_log`. [#21102](https://github.com/ClickHouse/ClickHouse/pull/21102) ([Vasily Nemkov](https://github.com/Enmk)).
* السماح بتخصيص timeout لاتصالات HTTP المستخدمة في replication بشكل مستقل عن مهلات HTTP الأخرى. [#20088](https://github.com/ClickHouse/ClickHouse/pull/20088) ([nvartolomei](https://github.com/nvartolomei)).
* تحسين رسالة Exception في client عند حدوث Exception أثناء كتابة server لـ blocks. في الإصدارات السابقة، كان قد يتلقى client رسالة مضللة مثل `Data compressed with different methods`. [#22427](https://github.com/ClickHouse/ClickHouse/pull/22427) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح الخطأ `Directory tmp_fetch_XXX already exists` الذي كان قد يحدث بعد fetch part فاشل. يُحذف directory المؤقت الخاص بـ fetch إذا كان موجودًا بالفعل. يصلح هذا [#14197](https://github.com/ClickHouse/ClickHouse/issues/14197). [#22411](https://github.com/ClickHouse/ClickHouse/pull/22411) ([nvartolomei](https://github.com/nvartolomei)).
* إصلاح تقرير MSan للدالة `range` مع argument من النوع `UInt256` (دعم الأعداد الصحيحة الكبيرة ما يزال Experimental). يُغلق هذا [#22157](https://github.com/ClickHouse/ClickHouse/issues/22157). [#22387](https://github.com/ClickHouse/ClickHouse/pull/22387) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة column ‏`current_database` إلى table ‏`system.processes`. يحتوي على database الحالية الخاصة بالـ query. [#22365](https://github.com/ClickHouse/ClickHouse/pull/22365) ([Alexander Kuzmenkov](https://github.com/akuzm)).
* إضافة ميزات البحث/التنقل في history بدون حساسية لحالة الأحرف، والتنقل على مستوى subword، إلى `clickhouse-client`. [#22105](https://github.com/ClickHouse/ClickHouse/pull/22105) ([Amos Bird](https://github.com/amosbird)).
* إذا كانت Tuple من قيم NULL، مثل `(NULL, NULL)`، في الجهة اليسرى من العامل `IN` وكانت Tuples في الجهة اليمنى تتكون من قيم non-NULL، مثل `SELECT (NULL, NULL) IN ((0, 0), (3, 1))`، فأعِد 0 بدلًا من throwing an exception بسبب عدم توافق types. وقد يظهر هذا expression أيضًا نتيجة تحسين تعبير مثل `SELECT (NULL, NULL) = (8, 0) OR (NULL, NULL) = (3, 2) OR (NULL, NULL) = (0, 0) OR (NULL, NULL) = (3, 1)`. يُغلق هذا [#22017](https://github.com/ClickHouse/ClickHouse/issues/22017). [#22063](https://github.com/ClickHouse/ClickHouse/pull/22063) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحديث version المستخدمة من simdjson إلى 0.9.1. يصلح هذا [#21984](https://github.com/ClickHouse/ClickHouse/issues/21984). [#22057](https://github.com/ClickHouse/ClickHouse/pull/22057) ([Vitaly Baranov](https://github.com/vitlibar)).
* تمت إضافة أسماء بديلة غير حساسة لحالة الأحرف للدالتين `CONNECTION_ID()` و`VERSION()`. يُصلح هذا [#22028](https://github.com/ClickHouse/ClickHouse/issues/22028). [#22042](https://github.com/ClickHouse/ClickHouse/pull/22042) ([Eugene Klimov](https://github.com/Slach)).
* أُضيف الخيار `strict_increase` إلى الدالة `windowFunnel` لاحتساب كل حدث مرة واحدة فقط (حلّ [#21835](https://github.com/ClickHouse/ClickHouse/issues/21835)). [#22025](https://github.com/ClickHouse/ClickHouse/pull/22025) ([Vladimir](https://github.com/vdimir)).
* إذا كان مفتاح التقسيم لجدول `MergeTree` لا يتضمن أعمدة `Date` أو `DateTime`، لكنه يتضمن عمود `DateTime64` واحدًا فقط، فستُعرَض قيمه في العمودين `min_time` و`max_time` في جدولي `system.parts` و`system.parts_columns`. كما أُضيف العمودان `min_time` و`max_time` إلى جدول `system.parts_columns` (إذ كان هناك عدم اتساق مع جدول `system.parts`). يُغلق هذا [#18244](https://github.com/ClickHouse/ClickHouse/issues/18244). [#22011](https://github.com/ClickHouse/ClickHouse/pull/22011) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تمت إضافة دعم الإعداد `replication_alter_partitions_sync=1` في `clickhouse-copier` لنقل الأقسام من الجدول المساعد إلى الوجهة. كما خُفِّضت قيم timeout الافتراضية. يُصلح [#21911](https://github.com/ClickHouse/ClickHouse/issues/21911). [#21912](https://github.com/ClickHouse/ClickHouse/pull/21912) ([turbo jason](https://github.com/songenjie)).
* عرض مسار دليل البيانات لجداول `EmbeddedRocksDB` في جداول النظام. [#21903](https://github.com/ClickHouse/ClickHouse/pull/21903) ([tavplubix](https://github.com/tavplubix)).
* أُضيف حدث profile باسم `HedgedRequestsChangeReplica`، كما تغيّرت مهلة timeout لقراءة البيانات من الثواني إلى الملّي ثانية. [#21886](https://github.com/ClickHouse/ClickHouse/pull/21886) ([Kruglov Pavel](https://github.com/Avogar)).
* ‏DiskS3 (ميزة تجريبية قيد التطوير). تم إصلاح خطأ كان يمنع نقل الدليل إذا كانت الوجهة غير فارغة وكان cache disk مستخدمًا. [#21837](https://github.com/ClickHouse/ClickHouse/pull/21837) ([Pavel Kovalenko](https://github.com/Jokser)).
* تحسين التنسيق لأنواع البيانات `Array` و`Map` في واجهة الويب. [#21798](https://github.com/ClickHouse/ClickHouse/pull/21798) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* حدِّث clusters فقط إذا جرى تحديث configurations الخاصة بها. [#21685](https://github.com/ClickHouse/ClickHouse/pull/21685) ([Kruglov Pavel](https://github.com/Avogar)).
* تمرير إعدادات query وsession إلى distributed DDL queries. اضبط `distributed_ddl_entry_format_version` على 2 لتمكين ذلك. أُضيف أيضًا الإعداد `distributed_ddl_output_mode`. الأوضاع المدعومة: `none` و`throw` (الافتراضي) و`null_status_on_timeout` و`never_throw`. كما أُجريت إصلاحات وتحسينات متنوعة على محرك قاعدة البيانات `Replicated`. [#21535](https://github.com/ClickHouse/ClickHouse/pull/21535) ([tavplubix](https://github.com/tavplubix)).
* إذا جرى إنشاء `PODArray` بحجم عنصر ليس قاسمًا لـ 16 ولا مضاعفًا لها، فقد كان من الممكن حدوث overflow في buffer. لا توجد أخطاء في الإصدارات الحالية. [#21533](https://github.com/ClickHouse/ClickHouse/pull/21533) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أُضيفت الأعمدة `last_error_time`/`last_error_message`/`last_error_stacktrace`/`remote` إلى `system.errors`. [#21529](https://github.com/ClickHouse/ClickHouse/pull/21529) ([Azat Khuzhin](https://github.com/azat)).
* أُضيفت الأسماء البديلة `simpleJSONExtract/simpleJSONHas` إلى `visitParam/visitParamExtract{UInt, Int, Bool, Float, Raw, String}`. يُصلح هذا #21383. [#21519](https://github.com/ClickHouse/ClickHouse/pull/21519) ([fastio](https://github.com/fastio)).
* أضِف الإعداد `optimize_skip_unused_shards_limit` لتقييد عدد قيم مفتاح التجزئة لـ `optimize_skip_unused_shards`. [#21512](https://github.com/ClickHouse/ClickHouse/pull/21512) ([Azat Khuzhin](https://github.com/azat)).
* حسِّن `clickhouse-format` بحيث لا يطلق استثناءً عند وجود مسافات إضافية أو تعليق بعد الاستعلام الأخير، وأن يطلق استثناءً مبكرًا برسالة واضحة عند تنسيق `ASTInsertQuery` مع البيانات. [#21311](https://github.com/ClickHouse/ClickHouse/pull/21311) ([flynn](https://github.com/ucasFL)).
* حسِّن دعم المفاتيح الصحيحة في نوع البيانات `Map`. [#21157](https://github.com/ClickHouse/ClickHouse/pull/21157) ([Anton Popov](https://github.com/CurtizJ)).
* `MaterializeMySQL`: محاولة إعادة الاتصال بـ MySQL إذا انقطع الاتصال. [#20961](https://github.com/ClickHouse/ClickHouse/pull/20961) ([Håvard Kvålen](https://github.com/havardk)).
* دعم المزيد من الحالات لإعادة كتابة `CROSS JOIN` إلى `INNER JOIN`. [#20392](https://github.com/ClickHouse/ClickHouse/pull/20392) ([Vladimir](https://github.com/vdimir)).
* عدم إنشاء أجزاء فارغة عند INSERT عندما يكون الإعداد `optimize_on_insert` مفعّلًا. يُصلح [#20304](https://github.com/ClickHouse/ClickHouse/issues/20304). [#20387](https://github.com/ClickHouse/ClickHouse/pull/20387) ([Kruglov Pavel](https://github.com/Avogar)).
* `MaterializeMySQL`: أضِف فهرس تخطٍّ من نوع minmax للعمود `_version`. [#20382](https://github.com/ClickHouse/ClickHouse/pull/20382) ([Stig Bakken](https://github.com/stigsb)).
* أضِف الخيار `--backslash` إلى `clickhouse-format`، لإضافة الشرطة المائلة العكسية في نهاية كل سطر من الاستعلام المنسّق. [#21494](https://github.com/ClickHouse/ClickHouse/pull/21494) ([flynn](https://github.com/ucasFL)).
* الآن لن يطلق ClickHouse الاستثناء `LOGICAL_ERROR` عند محاولة تنفيذ mutation على جزء مغطّى بالفعل. يُصلح [#22013](https://github.com/ClickHouse/ClickHouse/issues/22013). [#22291](https://github.com/ClickHouse/ClickHouse/pull/22291) ([alesapin](https://github.com/alesapin)).

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

* إزالة الـ socket من epoll قبل إلغاء مستقبل الحزم في `HedgedConnections` لمنع احتمال حدوث حالة تسابق. يُصلح [#22161](https://github.com/ClickHouse/ClickHouse/issues/22161). [#22443](https://github.com/ClickHouse/ClickHouse/pull/22443) ([Kruglov Pavel](https://github.com/Avogar)).
* إضافة احتساب الذاكرة (المفقود) في إجراءات parsing التي تعمل بالتوازي. في الإصدارات السابقة، كان من الممكن حدوث OOM عندما كانت مجموعة النتائج تحتوي على blocks كبيرة جدًا من البيانات. هذا يُغلق [#22008](https://github.com/ClickHouse/ClickHouse/issues/22008). [#22425](https://github.com/ClickHouse/ClickHouse/pull/22425) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح Exception قد يحدث عندما تحتوي `SELECT` على condition ثابت في `WHERE` ويحتوي source table على columns أسماؤها أرقام. [#22270](https://github.com/ClickHouse/ClickHouse/pull/22270) ([LiuNeng](https://github.com/liuneng1994)).
* إصلاح إلغاء query عند استخدام `use_hedged_requests=0` و `async_socket_for_remote=1`. [#22183](https://github.com/ClickHouse/ClickHouse/pull/22183) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح Exception غير مُلتقطة في `InterserverIOHTTPHandler`. [#22146](https://github.com/ClickHouse/ClickHouse/pull/22146) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح نقطة الدخول في Docker في حال لم يكن `http_port` موجودًا في config. [#22132](https://github.com/ClickHouse/ClickHouse/pull/22132) ([Ewout](https://github.com/devwout)).
* إصلاح الخطأ `Invalid number of rows in Chunk` في `JOIN` مع `TOTALS` و `arrayJoin`. يُغلق [#19303](https://github.com/ClickHouse/ClickHouse/issues/19303). [#22129](https://github.com/ClickHouse/ClickHouse/pull/22129) ([Vladimir](https://github.com/vdimir)).
* إصلاح اسم thread pool في الخلفية المستخدم لـ poll الرسائل من Kafka. كان Kafka engine الذي يستخدم thread pool المعطوب يتعذر عليه استهلاك الرسائل من message queue. [#22122](https://github.com/ClickHouse/ClickHouse/pull/22122) ([fastio](https://github.com/fastio)).
* إصلاح انتظار queries `OPTIMIZE` و `ALTER` لمحركات الجداول `ReplicatedMergeTree`. الآن لن يعلق query عندما يكون الجدول قد فُصل أو أُعيد تشغيله. [#22118](https://github.com/ClickHouse/ClickHouse/pull/22118) ([alesapin](https://github.com/alesapin)).
* تعطيل `async_socket_for_remote`/`use_hedged_requests` على نوى Linux التي بها علل. [#22109](https://github.com/ClickHouse/ClickHouse/pull/22109) ([Azat Khuzhin](https://github.com/azat)).
* نقطة دخول Docker: تجنب تنفيذ chown على `.` عندما يكون `LOG_PATH` فارغًا. يُغلق [#22100](https://github.com/ClickHouse/ClickHouse/issues/22100). [#22102](https://github.com/ClickHouse/ClickHouse/pull/22102) ([filimonov](https://github.com/filimonov)).
* كانت الدالة `decrypt` تفتقر إلى تحقّق من الحد الأدنى لحجم البيانات المُشفّرة في وضع `AEAD`. هذا يُغلق [#21897](https://github.com/ClickHouse/ClickHouse/issues/21897). [#22064](https://github.com/ClickHouse/ClickHouse/pull/22064) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* في حالات نادرة، قد يُنشئ merge في `CollapsingMergeTree` granule تحتوي على `index_granularity + 1` rows. وبسبب ذلك، قد يفشل الفحص الداخلي المُضاف في [#18928](https://github.com/ClickHouse/ClickHouse/issues/18928) (ويؤثر في 21.2 و21.3) مع الخطأ `Incomplete granules are not allowed while blocks are granules size`. وكان هذا الخطأ يمنع parts من الاندماج. [#21976](https://github.com/ClickHouse/ClickHouse/pull/21976) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* التراجع عن [#15454](https://github.com/ClickHouse/ClickHouse/issues/15454) الذي قد يتسبب في زيادة كبيرة في استخدام الذاكرة أثناء تحميل القواميس الخارجية من النوع hashed. هذا يُغلق [#21935](https://github.com/ClickHouse/ClickHouse/issues/21935). [#21948](https://github.com/ClickHouse/ClickHouse/pull/21948) ([Maksim Kita](https://github.com/kitaisreal)).
* منع تداخل الاتصالات الاحتياطية (الخطأ `Unknown packet 9 from server`). [#21941](https://github.com/ClickHouse/ClickHouse/pull/21941) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح قراءة طلب HTTP POST ذي نوع المحتوى "multipart/form-data" في بعض الحالات. [#21936](https://github.com/ClickHouse/ClickHouse/pull/21936) ([Ivan](https://github.com/abyss7)).
* إصلاح نتائج `ORDER BY` غير الصحيحة عندما يحتوي الاستعلام على window functions، ويُطبَّق تحسين القراءة بترتيب المفتاح الأساسي. يُصلح هذا [#21828](https://github.com/ClickHouse/ClickHouse/issues/21828). [#21915](https://github.com/ClickHouse/ClickHouse/pull/21915) ([Alexander Kuzmenkov](https://github.com/akuzm)).
* إصلاح حالة تعطل متبادل عند أول تنفيذ لنموذج catboost. يُغلق [#13832](https://github.com/ClickHouse/ClickHouse/issues/13832). [#21844](https://github.com/ClickHouse/ClickHouse/pull/21844) ([Kruglov Pavel](https://github.com/Avogar)).
* إصلاح نتيجة query غير صحيحة (واحتمال حدوث crash) كان يمكن أن تحدث عندما يُدفَع الشرط `WHERE` أو `HAVING` قبل `GROUP BY`. يُصلح [#21773](https://github.com/ClickHouse/ClickHouse/issues/21773). [#21841](https://github.com/ClickHouse/ClickHouse/pull/21841) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تحسين معالجة الأخطاء وlogging في `WriteBufferFromS3`. [#21836](https://github.com/ClickHouse/ClickHouse/pull/21836) ([Pavel Kovalenko](https://github.com/Jokser)).
* إصلاح أعطال محتملة في aggregate functions مع combinator `Distinct` عند استخدام two-level aggregation. هذا إصلاح لاحق لـ [#18365](https://github.com/ClickHouse/ClickHouse/pull/18365) . ولا يمكن إعادة إنتاجه إلا في بيئة production. [#21818](https://github.com/ClickHouse/ClickHouse/pull/21818) ([Amos Bird](https://github.com/amosbird)).
* إصلاح index analysis للاستعلام الفرعي scalar. يُصلح هذا [#21717](https://github.com/ClickHouse/ClickHouse/issues/21717)، والذي أُدخل في [#18896](https://github.com/ClickHouse/ClickHouse/pull/18896). [#21766](https://github.com/ClickHouse/ClickHouse/pull/21766) ([Amos Bird](https://github.com/amosbird)).
* إصلاح خلل في table engines `ReplicatedMerge` حيث لا يغيّر استعلام `ALTER MODIFY COLUMN` نوع العمود `Decimal` إذا لم يتغير حجمه (32 bit أو 64 bit). [#21728](https://github.com/ClickHouse/ClickHouse/pull/21728) ([alesapin](https://github.com/alesapin)).
* إصلاح احتمال الانتظار إلى ما لا نهاية عند تشغيل `OPTIMIZE` و`DROP` بشكل concurrent على `ReplicatedMergeTree`. [#21716](https://github.com/ClickHouse/ClickHouse/pull/21716) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الدالة `arrayElement` مع النوع `Map` لوسائط integer الثابتة. [#21699](https://github.com/ClickHouse/ClickHouse/pull/21699) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح SIGSEGV عند الوصول إلى attributes غير الموجودة من `ip_trie` مع `access_to_key_from_attributes`. [#21692](https://github.com/ClickHouse/ClickHouse/pull/21692) ([Azat Khuzhin](https://github.com/azat)).
* أصبح الخادم الآن يقبل الاتصالات فقط بعد اكتمال تهيئة `DDLWorker` وdictionaries. [#21676](https://github.com/ClickHouse/ClickHouse/pull/21676) ([Azat Khuzhin](https://github.com/azat)).
* تمت إضافة تحويل النوع لمفاتيح الجداول من النوع `Join` (كان هذا يؤدي سابقًا إلى SIGSEGV). [#21646](https://github.com/ClickHouse/ClickHouse/pull/21646) ([Azat Khuzhin](https://github.com/azat)).
* تم إصلاح إلغاء الطلبات الموزعة (على سبيل المثال، `select` بسيط من عدة shards مع limit، أي `select * from remote('127.{2,3}', system.numbers) limit 100`) عند استخدام `async_socket_for_remote=1`. [#21643](https://github.com/ClickHouse/ClickHouse/pull/21643) ([Azat Khuzhin](https://github.com/azat)).
* تم إصلاح `fsync_part_directory` لعمليات الدمج الأفقي. [#21642](https://github.com/ClickHouse/ClickHouse/pull/21642) ([Azat Khuzhin](https://github.com/azat)).
* تمت إزالة الأعمدة غير المعروفة من الجدول المنضم في `WHERE` للاستعلامات الموجهة إلى محركات قواعد البيانات الخارجية (MySQL, PostgreSQL). إغلاق [#14614](https://github.com/ClickHouse/ClickHouse/issues/14614)، إغلاق [#19288](https://github.com/ClickHouse/ClickHouse/issues/19288) (مكرر)، إغلاق [#19645](https://github.com/ClickHouse/ClickHouse/issues/19645) (مكرر). [#21640](https://github.com/ClickHouse/ClickHouse/pull/21640) ([Vladimir](https://github.com/vdimir)).
* كان يتم استدعاء `std::terminate` عند حدوث خطأ أثناء كتابة البيانات إلى S3. [#21624](https://github.com/ClickHouse/ClickHouse/pull/21624) ([Vladimir](https://github.com/vdimir)).
* تم إصلاح الخطأ المحتمل `Cannot find column` عندما يكون `optimize_skip_unused_shards` مُمكّنًا ولا يتم استخدام أي shard. [#21579](https://github.com/ClickHouse/ClickHouse/pull/21579) ([Azat Khuzhin](https://github.com/azat)).
* إذا كان الاستعلام يحتوي على شرط `WHERE` ثابت، وكان الإعداد `optimize_skip_unused_shards` مُمكّنًا، فقد يتم تخطي جميع الـ shards وقد يعيد الاستعلام نتيجة فارغة غير صحيحة. [#21550](https://github.com/ClickHouse/ClickHouse/pull/21550) ([Amos Bird](https://github.com/amosbird)).
* تم إصلاح إرجاع table function `clusterAllReplicas` لقيمة `_shard_num` غير صحيحة. إغلاق [#21481](https://github.com/ClickHouse/ClickHouse/issues/21481). [#21498](https://github.com/ClickHouse/ClickHouse/pull/21498) ([flynn](https://github.com/ucasFL)).
* تم إصلاح احتفاظ جدول S3 ببيانات الاعتماد القديمة بعد تحديث الإعدادات. [#21457](https://github.com/ClickHouse/ClickHouse/pull/21457) ([Grigory Pervakov](https://github.com/GrigoryPervakov)).
* تم إصلاح حالة تسابق على كائن SSL داخل `SecureSocket` في Poco. [#21456](https://github.com/ClickHouse/ClickHouse/pull/21456) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تم إصلاح parsing لتنسيق `Avro` في `Kafka`. يُصلح [#21437](https://github.com/ClickHouse/ClickHouse/issues/21437). [#21438](https://github.com/ClickHouse/ClickHouse/pull/21438) ([Ilya Golshtein](https://github.com/ilejn)).
* تم إصلاح مهلات الاستقبال والإرسال، وكذلك القراءة غير الحاجزة في socket الآمن. [#21429](https://github.com/ClickHouse/ClickHouse/pull/21429) ([Kruglov Pavel](https://github.com/Avogar)).
* لم تكن العلامة `force_drop_table` تعمل مع `MATERIALIZED VIEW`، وقد تم إصلاح ذلك. يُصلح [#18943](https://github.com/ClickHouse/ClickHouse/issues/18943). [#20626](https://github.com/ClickHouse/ClickHouse/pull/20626) ([tavplubix](https://github.com/tavplubix)).
* تم إصلاح تعارضات الأسماء في `PredicateRewriteVisitor`. وكان ذلك يتسبب في ترشيح `WHERE` بشكل غير صحيح بعد full join. إغلاق [#20497](https://github.com/ClickHouse/ClickHouse/issues/20497). [#20622](https://github.com/ClickHouse/ClickHouse/pull/20622) ([Vladimir](https://github.com/vdimir)).

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

* إضافة اختبارات [Jepsen](https://github.com/jepsen-io/jepsen) إلى ClickHouse Keeper. [#21677](https://github.com/ClickHouse/ClickHouse/pull/21677) ([alesapin](https://github.com/alesapin)).
* تشغيل الاختبارات عديمة الحالة بالتوازي في CI. يعتمد ذلك على [#22181](https://github.com/ClickHouse/ClickHouse/issues/22181). [#22300](https://github.com/ClickHouse/ClickHouse/pull/22300) ([alesapin](https://github.com/alesapin)).
* تفعيل فحص الحالة لتشغيل CI الخاص بـ [SQLancer](https://github.com/sqlancer/sqlancer). [#22015](https://github.com/ClickHouse/ClickHouse/pull/22015) ([Ilya Yatsishin](https://github.com/qoega)).
* عدة تحسينات لبنيات PowerPC: تفعيل openldap المضمّن على `ppc64le`. [#22487](https://github.com/ClickHouse/ClickHouse/pull/22487) ([Kfir Itzhak](https://github.com/mastertheknife)). تفعيل التجميع على `ppc64le` باستخدام Clang. [#22476](https://github.com/ClickHouse/ClickHouse/pull/22476) ([Kfir Itzhak](https://github.com/mastertheknife)). إصلاح تجميع boost على `ppc64le`. [#22474](https://github.com/ClickHouse/ClickHouse/pull/22474) ([Kfir Itzhak](https://github.com/mastertheknife)). إصلاح خطأ CMake المتعلق بعدم تعيين متغير CMake الداخلي `CMAKE_ASM_COMPILE_OBJECT` على `ppc64le`. [#22469](https://github.com/ClickHouse/ClickHouse/pull/22469) ([Kfir Itzhak](https://github.com/mastertheknife)). إصلاح مشكلة عدم عثور Fedora/RHEL/CentOS على `libclang_rt.builtins` على `ppc64le`. [#22458](https://github.com/ClickHouse/ClickHouse/pull/22458) ([Kfir Itzhak](https://github.com/mastertheknife)). تفعيل البناء باستخدام `jemalloc` على `ppc64le`. [#22447](https://github.com/ClickHouse/ClickHouse/pull/22447) ([Kfir Itzhak](https://github.com/mastertheknife)). إصلاح تضمين config الخاص بـ ClickHouse وتضمين timezone الخاصة بـ cctz على `ppc64le`. [#22445](https://github.com/ClickHouse/ClickHouse/pull/22445) ([Kfir Itzhak](https://github.com/mastertheknife)). إصلاح التجميع على `ppc64le` واستخدام سجل مؤشر التعليمات الصحيح على `ppc64le`. [#22430](https://github.com/ClickHouse/ClickHouse/pull/22430) ([Kfir Itzhak](https://github.com/mastertheknife)).
* إعادة تفعيل مكتبة S3 ‏(AWS) على `aarch64`. [#22484](https://github.com/ClickHouse/ClickHouse/pull/22484) ([Kfir Itzhak](https://github.com/mastertheknife)).
* إضافة `tzdata` إلى حاويات Docker لأن قراءة تنسيقات `ORC` تتطلبه. هذا يُغلق [#14156](https://github.com/ClickHouse/ClickHouse/issues/14156). [#22000](https://github.com/ClickHouse/ClickHouse/pull/22000) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تقديم وسيطتين لملف Dockerfile الخاص بصورة `clickhouse-server`: `deb_location` و `single_binary_location`. [#21977](https://github.com/ClickHouse/ClickHouse/pull/21977) ([filimonov](https://github.com/filimonov)).
* السماح باستخدام clang-tidy مع بنيات release عبر تفعيل assertions عند استخدامه. [#21914](https://github.com/ClickHouse/ClickHouse/pull/21914) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة اسم الملفات التنفيذية llvm-12 إلى مسار البحث في سكربتات cmake. تحويلات ضمنية للثوابت لكتم تحذيرات clang. تحديث الوحدات الفرعية للبناء باستخدام CMake 3.19. كتم الاستدعاء التعاودي في توسيع macro في مكتبة `readpassphrase`. استُبدل الخيار `-fuse-ld` المتقادَم بـ `--ld-path` في clang. [#21597](https://github.com/ClickHouse/ClickHouse/pull/21597) ([Ilya Yatsishin](https://github.com/qoega)).
* تحديث `docker/test/testflows/runner/dockerd-entrypoint.sh` لاستخدام dockerhub-proxy الخاص بـ Yandex، لأن Docker Hub فعّل قيودًا شديدة جدًا على معدل الطلبات [#21551](https://github.com/ClickHouse/ClickHouse/pull/21551) ([vzakaznikov](https://github.com/vzakaznikov)).
* إصلاح بناء المكتبة المشتركة على macOS. [#20184](https://github.com/ClickHouse/ClickHouse/pull/20184) ([nvartolomei](https://github.com/nvartolomei)).
* إضافة الخيار `ctime` إلى `zookeeper-dump-tree`. يتيح ذلك استخراج وقت إنشاء العقدة. [#21842](https://github.com/ClickHouse/ClickHouse/pull/21842) ([Ilya](https://github.com/HumanUser)).

<div id="clickhouse-release-213-lts">
  ## إصدار ClickHouse 21.3 (LTS)
</div>

<div id="clickhouse-release-v213-2021-03-12">
  ### إصدار ClickHouse ‏v21.3، 2021-03-12
</div>

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

* لم يعد مسموحًا بإنشاء جداول MergeTree بالبنية القديمة مع table TTL، لأنه كان يُتجاهل ببساطة. ولا يزال Attach للجداول القديمة ممكنًا. [#20282](https://github.com/ClickHouse/ClickHouse/pull/20282) ([alesapin](https://github.com/alesapin)).
* ستُعاد الآن كتابة جميع أسماء الدوال غير الحساسة لحالة الأحرف إلى صيغها المعيارية. وهذا مطلوب لتوجيه استعلامات الإسقاطات (الميزة القادمة). [#20174](https://github.com/ClickHouse/ClickHouse/pull/20174) ([Amos Bird](https://github.com/amosbird)).
* إصلاح إنشاء `TTL` في الحالات التي يكون فيها التعبير دالة ويطابق مفتاح `ORDER BY`. وأصبح مسموحًا الآن بتعيين تجميع مخصص لأعمدة المفتاح الأساسي في `TTL` مع `GROUP BY`. تغيير غير متوافق مع الإصدارات السابقة: بالنسبة إلى أعمدة المفتاح الأساسي غير الموجودة في `GROUP BY` وغير المعيّنة صراحةً، ستُطبَّق الآن الدالة `any` بدلًا من `max` عند انتهاء `TTL`. كذلك، إذا كنت تستخدم `TTL` مع `WHERE` أو `GROUP BY`، فقد تظهر استثناءات أثناء عمليات الدمج عند إجراء تحديث متدرّج. [#15450](https://github.com/ClickHouse/ClickHouse/pull/15450) ([Anton Popov](https://github.com/CurtizJ)).

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

* إضافة إعدادات لمحرك File: ‏`engine_file_empty_if_not_exists` و`engine_file_truncate_on_insert`. [#20620](https://github.com/ClickHouse/ClickHouse/pull/20620) ([M0r64n](https://github.com/M0r64n)).
* إضافة دالة تجميعية ‏`deltaSum` لجمع الفروق بين الصفوف المتتالية. [#20057](https://github.com/ClickHouse/ClickHouse/pull/20057) ([Russ Frank](https://github.com/rf)).
* إضافة عمود جديد باسم `event_time_microseconds` في الجدول `system.part_log`. [#20027](https://github.com/ClickHouse/ClickHouse/pull/20027) ([Bharat Nallan](https://github.com/bharatnc)).
* إضافة الدالة `timezoneOffset(datetime)` التي تُرجع الإزاحة عن UTC بالثواني. يُغلق هذا [#issue:19850](https://github.com/ClickHouse/ClickHouse/issues/19850). [#19962](https://github.com/ClickHouse/ClickHouse/pull/19962) ([keenwolf](https://github.com/keen-wolf)).
* إضافة الإعداد `insert_shard_id` لدعم insert البيانات إلى shard محدد من distributed table. [#19961](https://github.com/ClickHouse/ClickHouse/pull/19961) ([flynn](https://github.com/ucasFL)).
* تم تحديث الدالة `reinterpretAs` لدعم الأعداد الصحيحة الكبيرة. يُصلح هذا [#19691](https://github.com/ClickHouse/ClickHouse/issues/19691). [#19858](https://github.com/ClickHouse/ClickHouse/pull/19858) ([Maksim Kita](https://github.com/kitaisreal)).
* تمت إضافة دعم مفاتيح التشفير التي يوفّرها العميل للتشفير من جهة server (الترويسة `x-amz-server-side-encryption-customer-(key/md5)`) في عميل S3. راجع [الرابط](https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). يُغلق هذا [#19428](https://github.com/ClickHouse/ClickHouse/issues/19428). [#19748](https://github.com/ClickHouse/ClickHouse/pull/19748) ([Vladimir Chebotarev](https://github.com/excitoon)).
* تمت إضافة الخيار `implicit_key` لمصدر القاموس `executable`. ويتيح ذلك تجنب طباعة المفتاح لكل سجل إذا كانت السجلات تأتي بالترتيب نفسه لمفاتيح الإدخال. ينفّذ هذا [#14527](https://github.com/ClickHouse/ClickHouse/issues/14527). [#19677](https://github.com/ClickHouse/ClickHouse/pull/19677) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة نوع QUOTA ‏`query_selects` و`query_inserts`. [#19603](https://github.com/ClickHouse/ClickHouse/pull/19603) ([JackyWoo](https://github.com/JackyWoo)).
* إضافة الدالة `extractTextFromHTML` [#19600](https://github.com/ClickHouse/ClickHouse/pull/19600) ([zlx19950903](https://github.com/zlx19950903)), ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أصبحت الجداول التي تستخدم المحرك `MergeTree*` تحتوي الآن على إعدادين جديدين على مستوى الجدول للتحكم في Concurrency الخاصة بالاستعلامات. يحدّ الإعداد `max_concurrent_queries` من عدد queries التي تُنفَّذ بالتوازي والمرتبطة بهذا الجدول. ويحدّد الإعداد `min_marks_to_honor_max_concurrent_queries` تطبيق الإعداد السابق فقط إذا كان query يقرأ على الأقل هذا العدد من marks. [#19544](https://github.com/ClickHouse/ClickHouse/pull/19544) ([Amos Bird](https://github.com/amosbird)).
* تمت إضافة الدالة `file` لقراءة file من الدليل `user_files` كسلسلة String. ويختلف هذا عن دالة جدول ‏`file`. ينفّذ هذا [#issue:18851](https://github.com/ClickHouse/ClickHouse/issues/18851). [#19204](https://github.com/ClickHouse/ClickHouse/pull/19204) ([keenwolf](https://github.com/keen-wolf)).

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

* إضافة محرك قاعدة البيانات التجريبي `Replicated`. وهو ينسخ استعلامات DDL عبر عدة مضيفين. [#16193](https://github.com/ClickHouse/ClickHouse/pull/16193) ([tavplubix](https://github.com/tavplubix)).
* تقديم دعم تجريبي لدوال النافذة، ويُفعَّل باستخدام `allow_experimental_window_functions = 1`. هذا تنفيذ أولي بجودة ألفا، وهو غير مناسب للاستخدام في بيئات الإنتاج، وسيتغير في الإصدارات المستقبلية بطرق غير متوافقة مع الإصدارات السابقة. يُرجى مراجعة [الوثائق](https://github.com/ClickHouse/ClickHouse/blob/master/docs/sql-reference/window-functions/index.md#experimental-window-functions) للاطلاع على قائمة الميزات المدعومة. [#20337](https://github.com/ClickHouse/ClickHouse/pull/20337) ([Alexander Kuzmenkov](https://github.com/akuzm)).
* إضافة إمكانية إجراء النسخ الاحتياطي/الاستعادة لملفات البيانات الوصفية الخاصة بـ DiskS3. [#18377](https://github.com/ClickHouse/ClickHouse/pull/18377) ([Pavel Kovalenko](https://github.com/Jokser)).

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

* طلبات Hedged للاستعلامات البعيدة. عند تمكين الإعداد `use_hedged_requests` (وهو معطّل افتراضيًا)، يمكن إنشاء عدة اتصالات مع replicas مختلفة للاستعلام نفسه. ويُنشأ اتصال جديد إذا لم يتم إنشاء الاتصال أو الاتصالات الحالية مع replica أو replicas خلال `hedged_connection_timeout`، أو إذا لم يتم استلام أي `Data` خلال `receive_data_timeout`. يستخدم الاستعلام أول اتصال يرسل حزمة `Progress` غير فارغة (أو حزمة `Data` إذا كان `allow_changing_replica_until_first_data_packet` مفعّلًا)؛ وتُلغى الاتصالات الأخرى. الاستعلامات التي تستخدم `max_parallel_replicas > 1` مدعومة. [#19291](https://github.com/ClickHouse/ClickHouse/pull/19291) ([Kruglov Pavel](https://github.com/Avogar)). يتيح ذلك تقليل زمن الاستجابة الطرفي بشكل كبير في clusters الكبيرة جدًا.
* أُضيف دعم `PREWHERE` (مع تمكين التحسين المقابل) عندما تكون الجداول تحتوي على تعبيرات أمان على مستوى الصف محددة. [#19576](https://github.com/ClickHouse/ClickHouse/pull/19576) ([Denis Glazachev](https://github.com/traceon)).
* أصبح الإعداد `distributed_aggregation_memory_efficient` مفعّلًا افتراضيًا. سيؤدي ذلك إلى خفض استهلاك الذاكرة وتحسين أداء الاستعلامات الموزعة. [#20599](https://github.com/ClickHouse/ClickHouse/pull/20599) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين أداء GROUP BY للمفاتيح المتعددة ذات الحجم الثابت. [#20472](https://github.com/ClickHouse/ClickHouse/pull/20472) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين أداء الدوال التجميعية عبر تطبيق aliasing أكثر صرامة. [#19946](https://github.com/ClickHouse/ClickHouse/pull/19946) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تسريع القراءة من جداول `Memory` في الحالات القصوى (عندما تكون سرعة القراءة في حدود 50 GB/sec) من خلال تبسيط pipeline، وبالتالي تقليل التنافس على الأقفال في scheduling الخاصة بها. [#20468](https://github.com/ClickHouse/ClickHouse/pull/20468) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أُعيد تنفيذ HTTP server جزئيًا لتقليل عدد نسخ البيانات الواردة والصادرة. ويحقق ذلك تحسنًا في الأداء يصل إلى 1.5 مرة عند إدراج سجلات طويلة عبر HTTP. [#19516](https://github.com/ClickHouse/ClickHouse/pull/19516) ([Ivan](https://github.com/abyss7)).
* أُضيف الإعداد `compress` إلى جداول `Memory`. إذا كان مفعّلًا فسيستخدم الجدول مقدارًا أقل من RAM. وعلى بعض الأجهزة ومع بعض datasets قد يكون أيضًا أسرع في SELECT، لكن هذا ليس الحال دائمًا. هذا يُغلق [#20093](https://github.com/ClickHouse/ClickHouse/issues/20093). ملاحظة: توجد أسباب تجعل جداول Memory أبطأ من MergeTree: (1) غياب Compression (2) الحجم الثابت لـ blocks (3) غياب الفهارس وprewhere... [#20168](https://github.com/ClickHouse/ClickHouse/pull/20168) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين طفيف في الشيفرة ضمن aggregation. [#20978](https://github.com/ClickHouse/ClickHouse/pull/20978) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أُعيدت إضافة تخصيصات `intDiv`/`modulo` لتحسين الأداء. هذا يُصلح [#21293](https://github.com/ClickHouse/ClickHouse/issues/21293) . تم إدخال هذا التراجع في [https://github.com/ClickHouse/ClickHouse/pull/18145](https://github.com/ClickHouse/ClickHouse/pull/18145) . [#21307](https://github.com/ClickHouse/ClickHouse/pull/21307) ([Amos Bird](https://github.com/amosbird)).
* عدم Squash لـ blocks بشكل مفرط في INSERT SELECT عند الإدراج في جدول من نوع Memory. في الإصدارات السابقة، كان يتم إنشاء تمثيل بيانات غير فعّال في جدول Memory بعد INSERT SELECT. هذا يُغلق [#13052](https://github.com/ClickHouse/ClickHouse/issues/13052). [#20169](https://github.com/ClickHouse/ClickHouse/pull/20169) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح حالة واحدة على الأقل قد يمتلك فيها parser الخاص بـ DataType تعقيدًا أسيًا (اكتشفها fuzzer). هذا يُغلق [#20096](https://github.com/ClickHouse/ClickHouse/issues/20096). [#20132](https://github.com/ClickHouse/ClickHouse/pull/20132) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تنفيذ `SELECT` مع `FINAL` بالتوازي لجزء واحد ذي مستوى > 0 عندما يكون الإعداد `do_not_merge_across_partitions_select_final` مضبوطًا على 1. [#19375](https://github.com/ClickHouse/ClickHouse/pull/19375) ([Kruglov Pavel](https://github.com/Avogar)).
* تعبئة الأعمدة المطلوبة فقط عند الاستعلام عن `system.parts` و`system.parts_columns`. يُغلق [#19570](https://github.com/ClickHouse/ClickHouse/issues/19570). [#21035](https://github.com/ClickHouse/ClickHouse/pull/21035) ([Anmol Arora](https://github.com/anmolarora)).
* إجراء تحسينات جبرية على التعبيرات الحسابية داخل الدالة التجميعية `avg`. يُغلق [#20092](https://github.com/ClickHouse/ClickHouse/issues/20092). [#20183](https://github.com/ClickHouse/ClickHouse/pull/20183) ([flynn](https://github.com/ucasFL)).

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

* دعم طرق ضغط غير حساسة لحالة الأحرف في دوال الجداول. كما أُصلحت أيضًا طريقة الضغط LZMA التي كان يُتحقَّق منها بالأحرف الكبيرة. [#21416](https://github.com/ClickHouse/ClickHouse/pull/21416) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إضافة إعدادين لتأخير الإدراج أو إصدار خطأ أثناء الإدراج عند وجود عدد كبير جدًا من الأجزاء غير النشطة. وهذا مفيد عندما يفشل الخادم في تنظيف الأجزاء بالسرعة الكافية. [#20178](https://github.com/ClickHouse/ClickHouse/pull/20178) ([Amos Bird](https://github.com/amosbird)).
* تحسين التوافق مع عملاء mysql. 1. mysql jdbc 2. mycli. [#21367](https://github.com/ClickHouse/ClickHouse/pull/21367) ([Amos Bird](https://github.com/amosbird)).
* منع حذف عمود إذا كان مشارًا إليه من خلال عرض مادي. يُغلق [#21164](https://github.com/ClickHouse/ClickHouse/issues/21164). [#21303](https://github.com/ClickHouse/ClickHouse/pull/21303) ([flynn](https://github.com/ucasFL)).
* سيُعيد مصدر القاموس في MySQL الآن المحاولة عند حدوث حالات فشل غير متوقعة في الاتصال (Lost connection to MySQL server during query)، والتي تحدث أحيانًا في اتصالات SSL/TLS. [#21237](https://github.com/ClickHouse/ClickHouse/pull/21237) ([Alexander Kazakov](https://github.com/Akazz)).
* تحسين في سهولة الاستخدام: جعل parsing لـ `DateTime64` أكثر اتساقًا، مع التعرّف على الحالة التي يُحدَّد فيها Unix timestamp بدقة جزء من الثانية على هيئة عدد صحيح مُحجَّم (مثل `1111111111222` بدلًا من `1111111111.222`). يُغلق هذا [#13194](https://github.com/ClickHouse/ClickHouse/issues/13194). [#21053](https://github.com/ClickHouse/ClickHouse/pull/21053) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* قصر العملية على دمج الكتل المرتبة فقط على initiator مع distributed\_group\_by\_no\_merge. [#20882](https://github.com/ClickHouse/ClickHouse/pull/20882) ([Azat Khuzhin](https://github.com/azat)).
* عند تحميل config لمصدر mysql، سيُرتّب ClickHouse الآن قائمة replicas ذات الأولوية نفسها عشوائيًا لضمان منطق round-robin عند اختيار mysql endpoint. يُغلق هذا [#20629](https://github.com/ClickHouse/ClickHouse/issues/20629). [#20632](https://github.com/ClickHouse/ClickHouse/pull/20632) ([Alexander Kazakov](https://github.com/Akazz)).
* أُعيدت تسمية الدالة 'reinterpretAs(x, Type)' إلى 'reinterpret(x, Type)'. [#20611](https://github.com/ClickHouse/ClickHouse/pull/20611) ([Maksim Kita](https://github.com/kitaisreal)).
* دعم vhost لمحرك RabbitMQ [#20576](https://github.com/ClickHouse/ClickHouse/issues/20576). [#20596](https://github.com/ClickHouse/ClickHouse/pull/20596) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تحسين serialization لأنواع البيانات المؤلفة من Arrays وTuples. وتحسين مطابقة أنواع بيانات enum مع نوع protobuf enum. وإصلاح serialization لنوع البيانات `Map`. وتُضبط القيم المحذوفة الآن افتراضيًا. [#20506](https://github.com/ClickHouse/ClickHouse/pull/20506) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح حالة تعارض بين تنفيذ مهام distributed DDL وتنظيف DDL queue. ولم يعد بالإمكان إزالة مهمة DDL من ZooKeeper إذا كان هناك workers نشطون. يُصلح [#20016](https://github.com/ClickHouse/ClickHouse/issues/20016). [#20448](https://github.com/ClickHouse/ClickHouse/pull/20448) ([tavplubix](https://github.com/tavplubix)).
* جعل FQDN وغيرها من الدوال المرتبطة بـ DNS تعمل بشكل صحيح في صور alpine. [#20336](https://github.com/ClickHouse/ClickHouse/pull/20336) ([filimonov](https://github.com/filimonov)).
* عدم السماح بالطيّ المبكر للثوابت في الدوال المحظورة صراحةً. [#20303](https://github.com/ClickHouse/ClickHouse/pull/20303) ([Azat Khuzhin](https://github.com/azat)).
* كان التحويل الضمني من عدد صحيح إلى النوع Decimal قد ينجح حتى إذا كانت قيمة العدد الصحيح لا تتسع لها قيمة من النوع Decimal. الآن يُطلق الخطأ `ARGUMENT_OUT_OF_BOUND`. [#20232](https://github.com/ClickHouse/ClickHouse/pull/20232) ([tavplubix](https://github.com/tavplubix)).
* `SYSTEM FLUSH DISTRIBUTED` من دون أقفال. [#20215](https://github.com/ClickHouse/ClickHouse/pull/20215) ([Azat Khuzhin](https://github.com/azat)).
* توحيد count(constant) و sum(1) إلى count(). هذا مطلوب لتوجيه استعلامات projection. [#20175](https://github.com/ClickHouse/ClickHouse/pull/20175) ([Amos Bird](https://github.com/amosbird)).
* دعم جميع أنواع الأعداد الصحيحة native في دوال bitmap. [#20171](https://github.com/ClickHouse/ClickHouse/pull/20171) ([Amos Bird](https://github.com/amosbird)).
* تم تحديث `CacheDictionary` و `ComplexCacheDictionary` و `SSDCacheDictionary` و `SSDComplexKeyDictionary` لاستخدام LRUHashMap بوصفه الفهرس الأساسي. [#20164](https://github.com/ClickHouse/ClickHouse/pull/20164) ([Maksim Kita](https://github.com/kitaisreal)).
* أصبح الإعداد `access_management` قابلاً للضبط عند بدء التشغيل من خلال توفير `CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT`، وتبقى قيمته الافتراضية هي التعطيل (`0`) كما كانت سابقاً. [#20139](https://github.com/ClickHouse/ClickHouse/pull/20139) ([Marquitos](https://github.com/sonirico)).
* إصلاح toDateTime64(toDate()/toDateTime()) لـ DateTime64 - تنفيذ حصر قيم DateTime64 ليتوافق مع سلوك DateTime. [#20131](https://github.com/ClickHouse/ClickHouse/pull/20131) ([Azat Khuzhin](https://github.com/azat)).
* تحسينات الحصص: يُحتسب SHOW TABLES الآن استعلاماً واحداً في حسابات الحصص، وليس استعلامين. كما أن استعلامات SYSTEM تستهلك الحصة الآن. وإصلاح حساب نهاية interval في استهلاك الحصة. [#20106](https://github.com/ClickHouse/ClickHouse/pull/20106) ([Vitaly Baranov](https://github.com/vitlibar)).
* دعم تعبيرات `path IN (set)` لجدول `system.zookeeper`. [#20105](https://github.com/ClickHouse/ClickHouse/pull/20105) ([小路](https://github.com/nicelulu)).
* عرض التفاصيل الكاملة لجداول `MaterializeMySQL` في `system.tables`. [#20051](https://github.com/ClickHouse/ClickHouse/pull/20051) ([Stig Bakken](https://github.com/stigsb)).
* إصلاح حالة data race في القاموس executable، والتي لم تكن ممكنة إلا في حالة سوء الاستخدام (عندما يعيد السكربت البيانات متجاهلاً مدخلاته). [#20045](https://github.com/ClickHouse/ClickHouse/pull/20045) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أصبح بالإمكان الآن التحكم في قيمة الخيار MYSQL\_OPT\_RECONNECT عبر المعامل "opt\_reconnect" في قسم config الخاص بالنسخة replica من mysql. [#19998](https://github.com/ClickHouse/ClickHouse/pull/19998) ([Alexander Kazakov](https://github.com/Akazz)).
* إذا استدعى المستخدم الدالة `JSONExtract` مع طلب النوع `Float32`، فسيُسمح بتحويل غير دقيق إلى نوع النتيجة. على سبيل المثال، العدد `0.1` في JSON ذو دقة مزدوجة ولا يمكن تمثيله في Float32، لكن المستخدم لا يزال يرغب في الحصول عليه. كانت الإصدارات السابقة تعيد 0 للنوع non-Nullable و NULL للنوع Nullable للإشارة إلى أن التحويل غير دقيق. كان هذا المنطق صحيحاً بنسبة 100%، لكنه كان مفاجئاً للمستخدمين ويؤدي إلى تساؤلات. هذا يغلق [#13962](https://github.com/ClickHouse/ClickHouse/issues/13962). [#19960](https://github.com/ClickHouse/ClickHouse/pull/19960) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة تحويل بنية block لعملية INSERT إلى الجداول Distributed إذا لم تكن متطابقة. [#19947](https://github.com/ClickHouse/ClickHouse/pull/19947) ([Azat Khuzhin](https://github.com/azat)).
* تحسين لجدول `system.distributed_ddl_queue`. تتم تهيئة MaxDDLEntryID إلى آخر قيمة له بعد إعادة التشغيل. قبل طلب السحب هذا، كان MaxDDLEntryID يبقى صفراً حتى تتم معالجة DDLTask جديدة. [#19924](https://github.com/ClickHouse/ClickHouse/pull/19924) ([Amos Bird](https://github.com/amosbird)).
* إظهار جداول `MaterializeMySQL` في `system.parts`. [#19770](https://github.com/ClickHouse/ClickHouse/pull/19770) ([Stig Bakken](https://github.com/stigsb)).
* إضافة توجيه config منفصل لملف تعريف `Buffer`. [#19721](https://github.com/ClickHouse/ClickHouse/pull/19721) ([Azat Khuzhin](https://github.com/azat)).
* نقل الشروط غير المرتبطة بـ `JOIN` إلى عبارة `WHERE`. [#18720](https://github.com/ClickHouse/ClickHouse/issues/18720). [#19685](https://github.com/ClickHouse/ClickHouse/pull/19685) ([hexiaoting](https://github.com/hexiaoting)).
* إضافة إمكانية تقييد INSERT إلى `Distributed` بناءً على حجم البايتات المعلّقة للإرسال غير المتزامن (تمت إضافة الإعدادات `bytes_to_delay_insert`/`max_delay_to_insert` و`bytes_to_throw_insert` إلى محرّك `Distributed`). [#19673](https://github.com/ClickHouse/ClickHouse/pull/19673) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح بعض الحالات النادرة التي قد يتم فيها تجاهل أخطاء الكتابة داخل الدوال الهدّامة. [#19451](https://github.com/ClickHouse/ClickHouse/pull/19451) ([Azat Khuzhin](https://github.com/azat)).
* طباعة الإطارات المضمّنة في تتبعات المكدس للأخطاء الفادحة. [#19317](https://github.com/ClickHouse/ClickHouse/pull/19317) ([Ivan](https://github.com/abyss7)).

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

* إصلاح عمليات إعادة الاتصال الزائدة بـ ZooKeeper وإمكانية وجود جلستين نشطتين لخادم ClickHouse واحد. أُدخلت كلتا المشكلتين في #14678. [#21264](https://github.com/ClickHouse/ClickHouse/pull/21264) ([alesapin](https://github.com/alesapin)).
* إصلاح الخطأ `Bad cast from type ... to DB::ColumnLowCardinality` عند الإدراج في جدول يحتوي على عمود `LowCardinality` من تنسيق `Values`. يُصلح هذا #21140 [#21357](https://github.com/ClickHouse/ClickHouse/pull/21357) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح حالة توقف متبادل في mutations الخاصة بـ `ALTER DELETE` لمحركات الجداول غير replicated من عائلة MergeTree عندما يحتوي predicate على الجدول نفسه. يُصلح هذا [#20558](https://github.com/ClickHouse/ClickHouse/issues/20558). [#21477](https://github.com/ClickHouse/ClickHouse/pull/21477) ([alesapin](https://github.com/alesapin)).
* إصلاح SIGSEGV في distributed queries عند حدوث أعطال. [#21434](https://github.com/ClickHouse/ClickHouse/pull/21434) ([Azat Khuzhin](https://github.com/azat)).
* أصبحت استعلامات `ALTER MODIFY COLUMN` الآن تؤثر بشكل صحيح في التغييرات على partition key، وفهارس التخطي، وTTLs، وما إلى ذلك. يُصلح هذا [#13675](https://github.com/ClickHouse/ClickHouse/issues/13675). [#21334](https://github.com/ClickHouse/ClickHouse/pull/21334) ([alesapin](https://github.com/alesapin)).
* إصلاح خلل في `join_use_nulls` وعند joining لـ `TOTALS` من subqueries. يُغلق هذا [#19362](https://github.com/ClickHouse/ClickHouse/issues/19362) و[#21137](https://github.com/ClickHouse/ClickHouse/issues/21137). [#21248](https://github.com/ClickHouse/ClickHouse/pull/21248) ([vdimir](https://github.com/vdimir)).
* إصلاح crash في `EXPLAIN` لاستعلام يحتوي على `UNION`. يُصلح هذا [#20876](https://github.com/ClickHouse/ClickHouse/issues/20876)، [#21170](https://github.com/ClickHouse/ClickHouse/issues/21170). [#21246](https://github.com/ClickHouse/ClickHouse/pull/21246) ([flynn](https://github.com/ucasFL)).
* أصبحت mutations الآن مسموحًا بها فقط لمحركات الجداول التي تدعمها (عائلة MergeTree، وMemory، وMaterializedView). وستُبلغ المحركات الأخرى عن error أوضح. يُصلح هذا [#21168](https://github.com/ClickHouse/ClickHouse/issues/21168). [#21183](https://github.com/ClickHouse/ClickHouse/pull/21183) ([alesapin](https://github.com/alesapin)).
* يُصلح [#21112](https://github.com/ClickHouse/ClickHouse/issues/21112). تم إصلاح خلل كان قد يتسبب في ظهور تكرارات مع insert query (إذا وصل أحد الـ callbacks متأخرًا قليلًا). [#21138](https://github.com/ClickHouse/ClickHouse/pull/21138) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح عمل `input_format_null_as_default` بشكل فعّال عندما تكون types من النوع Nullable. يُصلح هذا [#21116](https://github.com/ClickHouse/ClickHouse/issues/21116). [#21121](https://github.com/ClickHouse/ClickHouse/pull/21121) ([Amos Bird](https://github.com/amosbird)).
* إصلاح خلل متعلق بتحويل Tuple إلى Map. يُغلق هذا [#21029](https://github.com/ClickHouse/ClickHouse/issues/21029). [#21120](https://github.com/ClickHouse/ClickHouse/pull/21120) ([hexiaoting](https://github.com/hexiaoting)).
* إصلاح تسرّب metadata عند حذف Replicated\*MergeTree مع ZooKeeper cluster مخصص (غير default). [#21119](https://github.com/ClickHouse/ClickHouse/pull/21119) ([fastio](https://github.com/fastio)).
* إصلاح مشكلة عدم تطابق الأنواع عند استخدام مفاتيح LowCardinality في joinGet. يُصلح هذا [#21114](https://github.com/ClickHouse/ClickHouse/issues/21114). [#21117](https://github.com/ClickHouse/ClickHouse/pull/21117) ([Amos Bird](https://github.com/amosbird)).
* إصلاح مشكلة عدم جدوى قيمتَي default\_replica\_path و default\_replica\_name في محرك Replicated(\*)MergeTree عندما يتطلب المحرك تحديد معاملات أخرى. [#21060](https://github.com/ClickHouse/ClickHouse/pull/21060) ([mxzlxy](https://github.com/mxzlxy)).
* كان من الممكن الوصول إلى الذاكرة خارج الحدود عند تنسيق قيمة مُعدّة خصيصًا وخارج النطاق من النوع `DateTime64`. يُغلق هذا [#20494](https://github.com/ClickHouse/ClickHouse/issues/20494). ويُغلق أيضًا [#20543](https://github.com/ClickHouse/ClickHouse/issues/20543). [#21023](https://github.com/ClickHouse/ClickHouse/pull/21023) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* منع عمليات insert المتوازية إلى storage join. [#21009](https://github.com/ClickHouse/ClickHouse/pull/21009) ([vdimir](https://github.com/vdimir)).
* إصلاح السلوك الذي كان فيه `ALTER MODIFY COLUMN` ينشئ mutation يُعرف مسبقًا أنها ستفشل. [#21007](https://github.com/ClickHouse/ClickHouse/pull/21007) ([Anton Popov](https://github.com/CurtizJ)).
* يُغلق [#9969](https://github.com/ClickHouse/ClickHouse/issues/9969). إصلاح خطأ ضغط Brotli عبر http، الذي كان يظهر مع أحجام بيانات كبيرة وبنية معقدة نسبيًا ومع JSON output format. وتم تحديث Brotli إلى أحدث إصدار ليتضمن "إصلاح الوصول النادر إلى بيانات غير مهيأة في ring-buffer". [#20991](https://github.com/ClickHouse/ClickHouse/pull/20991) ([Kseniia Sumarokova](https://github.com/kssenii)).
* إصلاح الخطأ 'Empty task was returned from async task queue' عند إلغاء query. [#20881](https://github.com/ClickHouse/ClickHouse/pull/20881) ([Azat Khuzhin](https://github.com/azat)).
* لم تكن query ‏`USE database;` تعمل عند استخدام عميل MySQL 5.7 للاتصال بـ ClickHouse server، وقد أُصلحت هذه المشكلة. يُصلح [#18926](https://github.com/ClickHouse/ClickHouse/issues/18926). [#20878](https://github.com/ClickHouse/ClickHouse/pull/20878) ([tavplubix](https://github.com/tavplubix)).
* إصلاح استخدام combinator ‏`-Distinct` مع combinator ‏`-State` في aggregate functions. [#20866](https://github.com/ClickHouse/ClickHouse/pull/20866) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح subquery مع union distinct وعبارة limit. يُغلق [#20597](https://github.com/ClickHouse/ClickHouse/issues/20597). [#20610](https://github.com/ClickHouse/ClickHouse/pull/20610) ([flynn](https://github.com/ucasFL)).
* إصلاح السلوك غير المتسق لـ dictionary في queries التي نبحث فيها عن مفاتيح غير موجودة فيها. [#20578](https://github.com/ClickHouse/ClickHouse/pull/20578) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح عدد threads في scalar subqueries وsubqueries الخاصة بالفهرس (بعد [#19007](https://github.com/ClickHouse/ClickHouse/issues/19007) كان يُستخدم دائمًا thread واحد). يُصلح [#20457](https://github.com/ClickHouse/ClickHouse/issues/20457)، [#20512](https://github.com/ClickHouse/ClickHouse/issues/20512). [#20550](https://github.com/ClickHouse/ClickHouse/pull/20550) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح تعطل كان يمكن أن يحدث عند استلام packet غير معروف من remove query (أُدخل هذا الخلل في [#17868](https://github.com/ClickHouse/ClickHouse/issues/17868)). [#20547](https://github.com/ClickHouse/ClickHouse/pull/20547) ([Azat Khuzhin](https://github.com/azat)).
* إضافة تحققات مناسبة أثناء parsing أسماء الأدلة لـ async INSERT (ما يُصلح SIGSEGV). [#20498](https://github.com/ClickHouse/ClickHouse/pull/20498) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الخلل الذي كان يمنع الدالة `transform` من العمل بشكل صحيح مع مفاتيح الأعداد ذات الفاصلة العائمة. يغلق [#20460](https://github.com/ClickHouse/ClickHouse/issues/20460). [#20479](https://github.com/ClickHouse/ClickHouse/pull/20479) ([flynn](https://github.com/ucasFL)).
* إصلاح حلقة لا نهائية عند تمرير الأسماء المستعارة لـ WITH إلى الاستعلامات الفرعية. يُصلح هذا [#20388](https://github.com/ClickHouse/ClickHouse/issues/20388). [#20476](https://github.com/ClickHouse/ClickHouse/pull/20476) ([Amos Bird](https://github.com/amosbird)).
* إصلاح الإنهاء غير الطبيعي للخادم عند انقطاع عميل http. [#20464](https://github.com/ClickHouse/ClickHouse/pull/20464) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح `LOGICAL_ERROR` عند `join_use_nulls=1` عندما يحتوي JOIN على ثابت من SELECT. [#20461](https://github.com/ClickHouse/ClickHouse/pull/20461) ([Azat Khuzhin](https://github.com/azat)).
* التحقق مما إذا كانت table function `view` مستخدمة في قائمة التعبيرات، وإصدار خطأ عند ذلك. يُصلح هذا [#20342](https://github.com/ClickHouse/ClickHouse/issues/20342). [#20350](https://github.com/ClickHouse/ClickHouse/pull/20350) ([Amos Bird](https://github.com/amosbird)).
* تجنّب إلغاء مرجع غير صالح في Dictionary ‏RANGE\_HASHED(). [#20345](https://github.com/ClickHouse/ClickHouse/pull/20345) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح إلغاء مرجع NULL مع `join_use_nulls=1`. [#20344](https://github.com/ClickHouse/ClickHouse/pull/20344) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح النتيجة غير الصحيحة للعمليات الثنائية بين قيمتين Decimal ثابتتين بمقياسين مختلفين. يُصلح [#20283](https://github.com/ClickHouse/ClickHouse/issues/20283). [#20339](https://github.com/ClickHouse/ClickHouse/pull/20339) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح تكرار retries بشكل مفرط للمهام الخلفية الفاشلة في عائلة محركات الجداول `ReplicatedMergeTree`. وقد يؤدي ذلك إلى logging مفرط وزيادة حمل CPU. يُصلح [#20203](https://github.com/ClickHouse/ClickHouse/issues/20203). [#20335](https://github.com/ClickHouse/ClickHouse/pull/20335) ([alesapin](https://github.com/alesapin)).
* تقييد `DROP` أو `RENAME` لعمود الإصدار في محركات الجداول `*CollapsingMergeTree` و `ReplacingMergeTree`. [#20300](https://github.com/ClickHouse/ClickHouse/pull/20300) ([alesapin](https://github.com/alesapin)).
* إصلاح السلوك الذي كان يؤدي، عند وجود JSON تالف، إلى محاولة قراءة الملف بالكامل في الذاكرة، مما يتسبب في Exception من allocator. يُصلح [#19719](https://github.com/ClickHouse/ClickHouse/issues/19719). [#20286](https://github.com/ClickHouse/ClickHouse/pull/20286) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح Exception أثناء vertical merge لعائلة محركات الجداول `MergeTree` التي لا تسمح بإجراء عمليات vertical merge. يُصلح [#20259](https://github.com/ClickHouse/ClickHouse/issues/20259). [#20279](https://github.com/ClickHouse/ClickHouse/pull/20279) ([alesapin](https://github.com/alesapin)).
* إصلاح crash نادر للخادم عند إعادة تحميل config أثناء إيقاف التشغيل. يُصلح [#19689](https://github.com/ClickHouse/ClickHouse/issues/19689). [#20224](https://github.com/ClickHouse/ClickHouse/pull/20224) ([alesapin](https://github.com/alesapin)).
* إصلاح CTE عند استخدامه في INSERT SELECT. يُصلح هذا [#20187](https://github.com/ClickHouse/ClickHouse/issues/20187)، ويُصلح [#20195](https://github.com/ClickHouse/ClickHouse/issues/20195). [#20211](https://github.com/ClickHouse/ClickHouse/pull/20211) ([Amos Bird](https://github.com/amosbird)).
* إصلاح [#19314](https://github.com/ClickHouse/ClickHouse/issues/19314). [#20156](https://github.com/ClickHouse/ClickHouse/pull/20156) ([Ivan](https://github.com/abyss7)).
* إصلاح الدالة toMinute للتعامل بشكل صحيح مع المنطقة الزمنية الخاصة. [#20149](https://github.com/ClickHouse/ClickHouse/pull/20149) ([keenwolf](https://github.com/keen-wolf)).
* إصلاح تعطل الخادم بعد استعلام يستخدم الدالة `if` مع نوع `Tuple` في نتيجة فرعي then/else. ويجب أن يحتوي النوع `Tuple` على `Array` أو نوع معقد آخر. إصلاح [#18356](https://github.com/ClickHouse/ClickHouse/issues/18356). [#20133](https://github.com/ClickHouse/ClickHouse/pull/20133) ([alesapin](https://github.com/alesapin)).
* أصبح محرك الجدول `MongoDB` ينشئ الاتصال فقط عند الاستعداد لقراءة البيانات. ولم يعد `ATTACH TABLE` يحاول الاتصال. [#20110](https://github.com/ClickHouse/ClickHouse/pull/20110) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح خلل في StorageJoin. [#20079](https://github.com/ClickHouse/ClickHouse/pull/20079) ([vdimir](https://github.com/vdimir)).
* إصلاح الحالة التي عند حساب باقي قسمة عدد سالب على مقسوم عليه صغير، لم يكن نوع البيانات الناتج كبيرًا بما يكفي لاستيعاب النتيجة السالبة. وهذا يغلق [#20052](https://github.com/ClickHouse/ClickHouse/issues/20052). [#20067](https://github.com/ClickHouse/ClickHouse/pull/20067) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* MaterializeMySQL: إصلاح النسخ المتماثل لعبارات SQL التي تُحدّث عدة جداول. [#20066](https://github.com/ClickHouse/ClickHouse/pull/20066) ([Håvard Kvålen](https://github.com/havardk)).
* منع ظهور "Connection refused" في docker أثناء تنفيذ برنامج التهيئة النصي. [#20012](https://github.com/ClickHouse/ClickHouse/pull/20012) ([filimonov](https://github.com/filimonov)).
* `EmbeddedRocksDB` وحدة تخزين تجريبية. إصلاح مشكلة غياب التحقق المناسب من الأنواع. وتبسيط الشيفرة. وهذا يغلق [#19967](https://github.com/ClickHouse/ClickHouse/issues/19967). [#19972](https://github.com/ClickHouse/ClickHouse/pull/19972) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح خطأ `segfault` في الدالة `fromModifiedJulianDay` عندما يكون نوع الوسيطة `Nullable(T)` لأي نوع عددي صحيح باستثناء Int32. [#19959](https://github.com/ClickHouse/ClickHouse/pull/19959) ([PHO](https://github.com/depressed-pho)).
* إصلاح تعطل فهرس BloomFilter. إصلاح [#19757](https://github.com/ClickHouse/ClickHouse/issues/19757). [#19884](https://github.com/ClickHouse/ClickHouse/pull/19884) ([Maksim Kita](https://github.com/kitaisreal)).
* كان من الممكن حدوث حالة توقف تام إذا كان system.text\_log مفعّلًا. وهذا يُصلح [#19874](https://github.com/ClickHouse/ClickHouse/issues/19874). [#19875](https://github.com/ClickHouse/ClickHouse/pull/19875) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح بدء تشغيل الخادم مع جداول تحتوي على تعبيرات افتراضية تتضمن dictGet(). والسماح بالحصول على نوع الإرجاع لـ dictGet() دون تحميل القاموس. [#19805](https://github.com/ClickHouse/ClickHouse/pull/19805) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح استثناء الإنهاء في clickhouse-client عند تنفيذ `select` فقط. [#19790](https://github.com/ClickHouse/ClickHouse/pull/19790) ([taiyang-li](https://github.com/taiyang-li)).
* إصلاح خطأ قد يؤدي إلى فشل نقل الأجزاء إلى جدول الوجهة عند تشغيل عدة نُسخ من clickhouse-copiers. [#19743](https://github.com/ClickHouse/ClickHouse/pull/19743) ([madianjun](https://github.com/mdianjun)).
* قد يعلق خيط المعالجة الذي يعمل في الخلفية وينفّذ استعلامات `ON CLUSTER` منتظرًا أن يقوم الجدول المكرّر المحذوف بإجراء ما. تم إصلاح ذلك. [#19684](https://github.com/ClickHouse/ClickHouse/pull/19684) ([yiguolei](https://github.com/yiguolei)).

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

* إتاحة بناء ClickHouse مع تمكين AVX-2 على مستوى عام. يوفّر ذلك تحسنًا طفيفًا في الأداء على وحدات CPU الحديثة. لا يُنصح به في بيئة الإنتاج، ولن يكون مدعومًا كبناء رسمي في الوقت الحالي. [#20180](https://github.com/ClickHouse/ClickHouse/pull/20180) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح بعض المشكلات التي اكتشفها Coverity. راجع [#19964](https://github.com/ClickHouse/ClickHouse/issues/19964). [#20010](https://github.com/ClickHouse/ClickHouse/pull/20010) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إتاحة بدء التشغيل باستخدام ملف تنفيذي مُعدَّل تحت gdb. في الإصدار السابق، إذا ضبطت نقطة توقّف في gdb قبل البدء، كان الخادم يرفض بدء التشغيل بسبب فشل فحص التكامل. [#21258](https://github.com/ClickHouse/ClickHouse/pull/21258) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة اختبار لطرائق الضغط المختلفة في Kafka. [#21111](https://github.com/ClickHouse/ClickHouse/pull/21111) ([filimonov](https://github.com/filimonov)).
* إصلاح تعارض المنافذ في الاختبار test\_storage\_kerberized\_hdfs. [#19974](https://github.com/ClickHouse/ClickHouse/pull/19974) ([Ilya Yatsishin](https://github.com/qoega)).
* طباعة `stdout` و`stderr` في السجل عند فشل تشغيل docker في اختبارات التكامل. قبل هذا PR، كانت تظهر في هذه الحالة رسالة خطأ قصيرة جدًا لا تساعد على استقصاء المشكلات. [#20631](https://github.com/ClickHouse/ClickHouse/pull/20631) ([Vitaly Baranov](https://github.com/vitlibar)).

<div id="clickhouse-release-212">
  ## إصدار ClickHouse 21.2
</div>

<div id="clickhouse-release-v21228-stable-2021-02-07">
  ### إصدار ClickHouse v21.2.2.8-stable، 2021-02-07
</div>

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

* لم يعد يُسمح باستخدام الدوال البتّية (`bitAnd`, `bitOr`، إلخ) مع الوسائط ذات الفاصلة العائمة. ويجب الآن إجراء تحويل صريح إلى عدد صحيح. [#19853](https://github.com/ClickHouse/ClickHouse/pull/19853) ([Azat Khuzhin](https://github.com/azat)).
* حظر استخدام `lcm`/`gcd` مع القيم ذات الفاصلة العائمة. [#19532](https://github.com/ClickHouse/ClickHouse/pull/19532) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تتبّع الذاكرة لـ `OPTIMIZE TABLE`/عمليات الدمج؛ مع احتساب حدود ذاكرة الاستعلام وأخذ العينات لـ `OPTIMIZE TABLE`/عمليات الدمج. [#18772](https://github.com/ClickHouse/ClickHouse/pull/18772) ([Azat Khuzhin](https://github.com/azat)).
* منع استخدام عمود ذي فاصلة عائمة كمفتاح تقسيم، راجع [#18421](https://github.com/ClickHouse/ClickHouse/issues/18421#event-4147046255). [#18464](https://github.com/ClickHouse/ClickHouse/pull/18464) ([hexiaoting](https://github.com/hexiaoting)).
* لم يعد يُدعَم استخدام الأقواس الزائدة في تعريفات الأنواع، مثال: `Array((UInt8))`.

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

* أُضيف محرك الجدول `PostgreSQL` (لكلٍّ من select/insert، مع دعم المصفوفات متعددة الأبعاد)، وكذلك كدالة جدول. كما أُضيف مصدر القاموس `PostgreSQL`، وأُضيف أيضًا محرك قاعدة البيانات `PostgreSQL`. [#18554](https://github.com/ClickHouse/ClickHouse/pull/18554) ([Kseniia Sumarokova](https://github.com/kssenii)).
* أصبح نوع البيانات `Nested` يدعم الآن مستويات تعشيق اعتباطية. كما أُضيفت الأعمدة الفرعية للأنواع المعقدة، مثل `size0` في `Array`، و`null` في `Nullable`، وأسماء عناصر `Tuple`، والتي يمكن قراءتها دون الحاجة إلى قراءة العمود بالكامل. [#17310](https://github.com/ClickHouse/ClickHouse/pull/17310) ([Anton Popov](https://github.com/CurtizJ)).
* أُضيف دعم `Nullable` إلى `FlatDictionary` و`HashedDictionary` و`ComplexKeyHashedDictionary` و`DirectDictionary` و`ComplexKeyDirectDictionary` و`RangeHashedDictionary`. [#18236](https://github.com/ClickHouse/ClickHouse/pull/18236) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيف جدول جديد باسم `system.distributed_ddl_queue` يعرض الاستعلامات الموجودة في قائمة انتظار عامل DDL. [#17656](https://github.com/ClickHouse/ClickHouse/pull/17656) ([Bharat Nallan](https://github.com/bharatnc)).
* أُضيف دعم لربط أسماء مجموعات LDAP، وقيم السمات عمومًا، بالأدوار المحلية للمستخدمين القادمين من user directories في LDAP. [#17211](https://github.com/ClickHouse/ClickHouse/pull/17211) ([Denis Glazachev](https://github.com/traceon)).
* أُضيف دعم insert إلى دالة الجدول `cluster`، كما أُضيف دعم توزيع البيانات عبر العُقد لكلتا دالتي الجدول `remote` و`cluster` عبر تحديد sharding key. أُغلقت [#16752](https://github.com/ClickHouse/ClickHouse/issues/16752). [#18264](https://github.com/ClickHouse/ClickHouse/pull/18264) ([flynn](https://github.com/ucasFL)).
* أُضيفت الدالة `decodeXMLComponent` لفك ترميز محارف XML. Example: `SELECT decodeXMLComponent('Hello,&quot;world&quot;!')` [#17659](https://github.com/ClickHouse/ClickHouse/issues/17659). [#18542](https://github.com/ClickHouse/ClickHouse/pull/18542) ([nauta](https://github.com/nautaa)).
* أُضيفت الدالتان `parseDateTimeBestEffortUSOrZero` و`parseDateTimeBestEffortUSOrNull`. [#19712](https://github.com/ClickHouse/ClickHouse/pull/19712) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيفت الدالة الرياضية `sign`. [#19527](https://github.com/ClickHouse/ClickHouse/pull/19527) ([flynn](https://github.com/ucasFL)).
* أُضيفت معلومات عن الميزات المستخدمة (الدوال، ومحركات الجداول، وما إلى ذلك) إلى `system.query&#95;log`. [#18495](https://github.com/ClickHouse/ClickHouse/issues/18495). [#19371](https://github.com/ClickHouse/ClickHouse/pull/19371) ([Kseniia Sumarokova](https://github.com/kssenii)).
* تدعم الدالة `formatDateTime` المُعدِّل `%Q` لتنسيق التاريخ على هيئة ربع سنة. [#19224](https://github.com/ClickHouse/ClickHouse/pull/19224) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* أُضيف دعم ربط اختصار MetaKey+Enter في واجهة play. [#19012](https://github.com/ClickHouse/ClickHouse/pull/19012) ([sundyli](https://github.com/sundy-li)).
* أُضيفت ثلاث دوال لنوع البيانات map: 1. `mapContains(map, key)` للتحقق مما إذا كانت `map.keys` تتضمن المعامل الثاني `key`. 2. `mapKeys(map)` تُرجع جميع المفاتيح بتنسيق `Array` 3. `mapValues(map)` تُرجع جميع القيم بتنسيق `Array`. [#18788](https://github.com/ClickHouse/ClickHouse/pull/18788) ([hexiaoting](https://github.com/hexiaoting)).
* أُضيف الإعداد `log_comment` المرتبط بـ [#18494](https://github.com/ClickHouse/ClickHouse/issues/18494). [#18549](https://github.com/ClickHouse/ClickHouse/pull/18549) ([Zijie Lu](https://github.com/TszKitLo40)).
* إضافة دعم لوسيط من النوع `Tuple` في الدالتين `argMin` و`argMax`. [#17359](https://github.com/ClickHouse/ClickHouse/pull/17359) ([Ildus Kurbangaliev](https://github.com/ildus)).
* دعم صيغة `EXISTS VIEW`. [#18552](https://github.com/ClickHouse/ClickHouse/pull/18552) ([Du Chuan](https://github.com/spongedu)).
* إضافة صيغة `SELECT ALL`. يُغلق [#18706](https://github.com/ClickHouse/ClickHouse/issues/18706). [#18723](https://github.com/ClickHouse/ClickHouse/pull/18723) ([flynn](https://github.com/ucasFL)).

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

* تسريع إزالة `parts` عبر خفض عدد استدعاءات النظام `stat`. يعيد هذا التحسين القائم الذي كان موجودًا سابقًا. كما أصبحت واجهة `IDisk` أكثر أمانًا. هذا يُغلق [#19065](https://github.com/ClickHouse/ClickHouse/issues/19065). [#19086](https://github.com/ClickHouse/ClickHouse/pull/19086) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أصبحت الأسماء المستعارة المعرَّفة في عبارة `WITH` تُستخدم بشكل صحيح في تحليل الفهارس. ويمكن الآن للاستعلامات مثل `WITH column AS alias SELECT ... WHERE alias = ...` استخدام الفهرس. [#18896](https://github.com/ClickHouse/ClickHouse/pull/18896) ([Amos Bird](https://github.com/amosbird)).
* إضافة `optimize_alias_column_prediction` (مفعّل افتراضيًا)، ويقوم بما يلي: - مراعاة الأعمدة ذات الأسماء المستعارة في WHERE أثناء تقليم الأقسام وتخطي البيانات باستخدام الفهارس الثانوية؛ - مراعاة الأعمدة ذات الأسماء المستعارة في WHERE في استعلامات العدّ البسيطة ضمن optimize\_trivial\_count؛ - مراعاة الأعمدة ذات الأسماء المستعارة في GROUP BY/ORDER BY ضمن optimize\_aggregation\_in\_order/optimize\_read\_in\_order. [#16995](https://github.com/ClickHouse/ClickHouse/pull/16995) ([sundyli](https://github.com/sundy-li)).
* تسريع الدالة التجميعية `sum`. لا يظهر هذا التحسين إلا في اختبارات الأداء الاصطناعية، وليس ذا فائدة عملية كبيرة. [#19216](https://github.com/ClickHouse/ClickHouse/pull/19216) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحديث libc++ واستخدام ABI مختلف لتوفير أداء أفضل. [#18914](https://github.com/ClickHouse/ClickHouse/pull/18914) ([Danila Kutenin](https://github.com/danlark1)).
* إعادة كتابة الدالتين `sumIf()` و`sum(if())` إلى الدالة `countIf()` عندما تكونان متكافئتين منطقيًا. [#17041](https://github.com/ClickHouse/ClickHouse/pull/17041) ([flynn](https://github.com/ucasFL)).
* استخدام connection pool لاتصالات S3، تتحكم فيه إعدادات `s3_max_connections`. [#13405](https://github.com/ClickHouse/ClickHouse/pull/13405) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إضافة دعم للخيار الطويل في zstd لتحسين ضغط الأعمدة النصية وتوفير المساحة. [#17184](https://github.com/ClickHouse/ClickHouse/pull/17184) ([ygrek](https://github.com/ygrek)).
* تحسين latency الخادم قليلًا عبر إلغاء الوصول إلى الإعدادات عند كل connection. [#19863](https://github.com/ClickHouse/ClickHouse/pull/19863) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تقليل التنازع على الأقفال عند وجود طبقات متعددة من المحرك `Buffer`. [#19379](https://github.com/ClickHouse/ClickHouse/pull/19379) ([Azat Khuzhin](https://github.com/azat)).
* دعم تقسيم خطوة `Filter` في query plan إلى زوج `Expression + Filter`. ومع تحسين دمج `Expression + Expression` ([#17458](https://github.com/ClickHouse/ClickHouse/issues/17458))، قد يؤخر ذلك تنفيذ بعض التعبيرات إلى ما بعد خطوة `Filter`. [#19253](https://github.com/ClickHouse/ClickHouse/pull/19253) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).

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

* أصبح بالإمكان الآن تنفيذ `SELECT count() FROM table` إذا كان بالإمكان اختيار عمود `any` واحد فقط من `table`. يُصلح هذا [#10639](https://github.com/ClickHouse/ClickHouse/issues/10639). [#18233](https://github.com/ClickHouse/ClickHouse/pull/18233) ([Vitaly Baranov](https://github.com/vitlibar)).
* تم تعيين مجموعة المحارف إلى `utf8mb4` عند التعامل مع خوادم MySQL البعيدة. يُصلح هذا [#19795](https://github.com/ClickHouse/ClickHouse/issues/19795). [#19800](https://github.com/ClickHouse/ClickHouse/pull/19800) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تدعم table function `S3` الآن وضع Compression `auto` (الاكتشاف التلقائي). يُغلق هذا [#18754](https://github.com/ClickHouse/ClickHouse/issues/18754). [#19793](https://github.com/ClickHouse/ClickHouse/pull/19793) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إخراج الوسيطات غير المنتهية للدالة `formatReadableTimeDelta` بشكل صحيح. في الإصدارات السابقة، كان هناك تحويل ضمني إلى قيمة عددية صحيحة خاصة بالتنفيذ. [#19791](https://github.com/ClickHouse/ClickHouse/pull/19791) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* ستستخدم table function `S3` المنطقة العامة إذا تعذر تحديد Region بدقة. يُغلق هذا [#10998](https://github.com/ClickHouse/ClickHouse/issues/10998). [#19750](https://github.com/ClickHouse/ClickHouse/pull/19750) ([Vladimir Chebotarev](https://github.com/excitoon)).
* في distributed queries، إذا كان الإعداد `async_socket_for_remote` مُمكّنًا، فقد كان من الممكن حدوث تجاوز سعة المكدس، على الأقل في إعداد build الخاص بالتصحيح، إذا استُخدم Data type متداخل بعمق شديد في table (مثل `Array(Array(Array(...more...)))`). يُصلح هذا [#19108](https://github.com/ClickHouse/ClickHouse/issues/19108). ويُدخل هذا التغيير قدرًا طفيفًا من عدم التوافق مع الإصدارات السابقة: لم يعد الاستخدام المفرط للأقواس في تعريفات الأنواع مدعومًا، مثال: `Array((UInt8))`. [#19736](https://github.com/ClickHouse/ClickHouse/pull/19736) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة pool منفصل لوسطاء الرسائل (RabbitMQ و Kafka). [#19722](https://github.com/ClickHouse/ClickHouse/pull/19722) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تجاوز نادر للحد `max_number_of_merges_with_ttl_in_pool` (إذ يمكن إسناد merges إضافية مع TTL) في MergeTree غير replicated. [#19708](https://github.com/ClickHouse/ClickHouse/pull/19708) ([alesapin](https://github.com/alesapin)).
* Dictionary: تحسين رسالة error أثناء parsing الخاص بـ attribute. [#19678](https://github.com/ClickHouse/ClickHouse/pull/19678) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة خيار لتعطيل التحقق من checksums عند القراءة. يجب ألا يُستخدم هذا مطلقًا في production. يُرجى عدم توقع أي فائدة من تعطيله. وقد يُستخدم فقط للتجارب وbenchmarkات الأداء. ينطبق هذا الإعداد فقط على الجداول من MergeTree family. ويجري دائمًا التحقق من checksums بالنسبة إلى table engines الأخرى وعند استلام البيانات عبر الشبكة. وبحسب ملاحظاتي، لا يوجد فرق في الأداء أو أنه أقل من 0.5%. [#19588](https://github.com/ClickHouse/ClickHouse/pull/19588) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* دعم نتيجة ثابتة في الدالة `multiIf`. [#19533](https://github.com/ClickHouse/ClickHouse/pull/19533) ([Maksim Kita](https://github.com/kitaisreal)).
* تمكين الدوال length/empty/notEmpty لنوع البيانات Map، بحيث تُرجع عدد المفاتيح في Map. [#19530](https://github.com/ClickHouse/ClickHouse/pull/19530) ([taiyang-li](https://github.com/taiyang-li)).
* إضافة الخيار `--reconnect` إلى `clickhouse-benchmark`. عند تحديد هذا الخيار، سيُعاد الاتصال قبل كل طلب. وهذا مطلوب لأغراض الاختبار. [#19872](https://github.com/ClickHouse/ClickHouse/pull/19872) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* دعم استخدام الموقع الجديد لملف `.debug`. يُصلح هذا [#19348](https://github.com/ClickHouse/ClickHouse/issues/19348). [#19520](https://github.com/ClickHouse/ClickHouse/pull/19520) ([Amos Bird](https://github.com/amosbird)).
* الدالة `toIPv6` تُحلّل عناوين `IPv4`. [#19518](https://github.com/ClickHouse/ClickHouse/pull/19518) ([Bharat Nallan](https://github.com/bharatnc)).
* إضافة الحقل `http_referer` إلى `system.query_log` و`system.processes` وغيرهما. يُغلق هذا [#19389](https://github.com/ClickHouse/ClickHouse/issues/19389). [#19390](https://github.com/ClickHouse/ClickHouse/pull/19390) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين التوافق مع MySQL بجعل المزيد من الدوال غير حساسة لحالة الأحرف وإضافة أسماء مستعارة. [#19387](https://github.com/ClickHouse/ClickHouse/pull/19387) ([Daniil Kondratyev](https://github.com/dankondr)).
* إضافة مقاييس لأنواع أجزاء MergeTree ‏(Wide/Compact/InMemory). [#19381](https://github.com/ClickHouse/ClickHouse/pull/19381) ([Azat Khuzhin](https://github.com/azat)).
* السماح بتشغيل Docker باستخدام uid عشوائي. [#19374](https://github.com/ClickHouse/ClickHouse/pull/19374) ([filimonov](https://github.com/filimonov)).
* إصلاح المحاذاة غير الصحيحة لقيم نوع البيانات `IPv4` في تنسيقات Pretty. إذ كانت تُحاذى إلى اليمين بدلًا من اليسار. يُغلق هذا [#19184](https://github.com/ClickHouse/ClickHouse/issues/19184). [#19339](https://github.com/ClickHouse/ClickHouse/pull/19339) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح بتغيير `max_server_memory_usage` دون إعادة تشغيل. يُغلق هذا [#18154](https://github.com/ClickHouse/ClickHouse/issues/18154). [#19186](https://github.com/ClickHouse/ClickHouse/pull/19186) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* قد يكون الاستثناء عند استدعاء الدالة `bar` باستخدام وسيط NaN معيّن مضلّلًا بعض الشيء في الإصدارات السابقة. يُصلح هذا [#19088](https://github.com/ClickHouse/ClickHouse/issues/19088). [#19107](https://github.com/ClickHouse/ClickHouse/pull/19107) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تعيين uid / gid الخاصَّين بمستخدم ومجموعة clickhouse صراحةً إلى القيم الثابتة (101) في صور clickhouse-server. [#19096](https://github.com/ClickHouse/ClickHouse/pull/19096) ([filimonov](https://github.com/filimonov)).
* إصلاح الخطأ `PeekableReadBuffer: Memory limit exceed` عند إدراج بيانات تحتوي على سلاسل نصية كبيرة جدًا. يُصلح هذا [#18690](https://github.com/ClickHouse/ClickHouse/issues/18690). [#18979](https://github.com/ClickHouse/ClickHouse/pull/18979) ([tavplubix](https://github.com/tavplubix)).
* صورة Docker: عدة تحسينات على نقطة دخول clickhouse-server. [#18954](https://github.com/ClickHouse/ClickHouse/pull/18954) ([filimonov](https://github.com/filimonov)).
* إضافة `normalizeQueryKeepNames` و`normalizedQueryHashKeepNames` لتطبيع الاستعلامات دون إخفاء الأسماء الطويلة باستخدام `?`. يساعد هذا على تحليل سجلات الاستعلامات المعقّدة بشكل أفضل. [#18910](https://github.com/ClickHouse/ClickHouse/pull/18910) ([Amos Bird](https://github.com/amosbird)).
* التحقق من checksum لكل block في الدفعة الموزعة على جهة الإرسال قبل الإرسال (من دون قراءة الملف مرتين، إذ سيجري التحقق من checksums أثناء القراءة)، ما يمنع تعليق عملية INSERT على جهة الاستقبال (عند وجود ملف ‎.bin‎ مبتور على جهة الإرسال). كما جرى تفادي قراءة ملفات ‎.bin‎ مرتين عند تنفيذ INSERT على دفعات (كان ذلك مطلوبًا لحساب rows/bytes لأخذ squashing في الاعتبار، أما الآن فأصبحت هذه المعلومات مضمنة في header، مع الحفاظ على التوافقية الخلفية). [#18853](https://github.com/ClickHouse/ClickHouse/pull/18853) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح المشكلات المتعلقة بـ `RIGHT` و`FULL JOIN` للجداول التي تحتوي على حالات الدوال التجميعية. في الإصدارات السابقة، كان يُلقى استثناء متعلق بالدالة `cloneResized`. [#18818](https://github.com/ClickHouse/ClickHouse/pull/18818) ([templarzq](https://github.com/templarzq)).
* تمت إضافة إعدادات نقطة نهاية S3 المعتمدة على البادئة. [#18812](https://github.com/ClickHouse/ClickHouse/pull/18812) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إضافة دعم لأنواع الوسائط \[UInt8, UInt16, UInt32, UInt64] في الدوال bitmapTransform وbitmapSubsetInRange وbitmapSubsetLimit وbitmapContains. يُغلق هذا [#18713](https://github.com/ClickHouse/ClickHouse/issues/18713). [#18791](https://github.com/ClickHouse/ClickHouse/pull/18791) ([sundyli](https://github.com/sundy-li)).
* السماح بإسناد أسماء مستعارة إضافية إلى CTE (تعبيرات الجدول المشتركة). وتمرير CSE (إزالة التعبيرات الفرعية المشتركة) إلى الاستعلامات الفرعية على المستوى نفسه عندما تكون `enable_global_with_statement = 1`. يُصلح هذا [#17378](https://github.com/ClickHouse/ClickHouse/issues/17378). ويُصلح أيضًا [https://github.com/ClickHouse/ClickHouse/pull/16575#issuecomment-753416235](https://github.com/ClickHouse/ClickHouse/pull/16575#issuecomment-753416235) . [#18684](https://github.com/ClickHouse/ClickHouse/pull/18684) ([Amos Bird](https://github.com/amosbird)).
* تم تحديث librdkafka إلى v1.6.0-RC2. يُصلح هذا [#18668](https://github.com/ClickHouse/ClickHouse/issues/18668). [#18671](https://github.com/ClickHouse/ClickHouse/pull/18671) ([filimonov](https://github.com/filimonov)).
* في حال حدوث استثناءات غير متوقعة، ستُعاد تلقائيًا تشغيل خيط التنفيذ الخلفي المسؤول عن تنفيذ استعلامات DDL الموزعة. يُصلح هذا [#17991](https://github.com/ClickHouse/ClickHouse/issues/17991). [#18285](https://github.com/ClickHouse/ClickHouse/pull/18285) ([徐炘](https://github.com/weeds085490)).
* تم تحديث AWS C++ SDK للاستفادة من المناطق العامة في S3. [#17870](https://github.com/ClickHouse/ClickHouse/pull/17870) ([Vladimir Chebotarev](https://github.com/excitoon)).
* تمت إضافة دعم للعبارة `WITH ... [AND] [PERIODIC] REFRESH [interval_in_sec]` عند إنشاء جداول `LIVE VIEW`. [#14822](https://github.com/ClickHouse/ClickHouse/pull/14822) ([vzakaznikov](https://github.com/vzakaznikov)).
* تقييد استعلامات `MODIFY TTL` لجداول `MergeTree` المُنشأة ببناء الجملة القديم. في السابق كان الاستعلام ينجح، لكنه فعليًا لم يكن له أي تأثير. [#19064](https://github.com/ClickHouse/ClickHouse/pull/19064) ([Anton Popov](https://github.com/CurtizJ)).

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

* إصلاح تحليل الفهرس للدوال الثنائية ذات الوسيط الثابت الذي يؤدي إلى نتائج استعلامات خاطئة. يُصلح هذا [#18364](https://github.com/ClickHouse/ClickHouse/issues/18364). [#18373](https://github.com/ClickHouse/ClickHouse/pull/18373) ([Amos Bird](https://github.com/amosbird)).
* إصلاح بدء تشغيل الخادم مع الجداول التي تحتوي على تعبيرات افتراضية تتضمن `dictGet()`. كما يتيح الحصول على نوع الإرجاع للدالة `dictGet()` دون تحميل القاموس. [#19805](https://github.com/ClickHouse/ClickHouse/pull/19805) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح تعطل الخادم بعد استعلام يستخدم الدالة `if` مع النوع `Tuple` لنتيجة فرعي then/else. ويجب أن يحتوي النوع `Tuple` على `Array` أو نوع معقد آخر. يُصلح [#18356](https://github.com/ClickHouse/ClickHouse/issues/18356). [#20133](https://github.com/ClickHouse/ClickHouse/pull/20133) ([alesapin](https://github.com/alesapin)).
* `MaterializeMySQL` (ميزة تجريبية): إصلاح النسخ المتماثل لعبارات SQL التي تُحدّث عدة جداول. [#20066](https://github.com/ClickHouse/ClickHouse/pull/20066) ([Håvard Kvålen](https://github.com/havardk)).
* منع ظهور الخطأ "Connection refused" في Docker أثناء تنفيذ برنامج التهيئة النصي. [#20012](https://github.com/ClickHouse/ClickHouse/pull/20012) ([filimonov](https://github.com/filimonov)).
* `EmbeddedRocksDB` هو محرك تخزين تجريبي. إصلاح المشكلة المتعلقة بغياب التحقق المناسب من الأنواع. كما تم تبسيط الشيفرة. يُغلق هذا [#19967](https://github.com/ClickHouse/ClickHouse/issues/19967). [#19972](https://github.com/ClickHouse/ClickHouse/pull/19972) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح `segfault` في الدالة `fromModifiedJulianDay` عندما يكون نوع الوسيط `Nullable(T)` لأي نوع عددي صحيح بخلاف Int32. [#19959](https://github.com/ClickHouse/ClickHouse/pull/19959) ([PHO](https://github.com/depressed-pho)).
* كانت الدالة `greatCircleAngle` تُرجع نتائج غير دقيقة في الإصدارات السابقة. يُغلق هذا [#19769](https://github.com/ClickHouse/ClickHouse/issues/19769). [#19789](https://github.com/ClickHouse/ClickHouse/pull/19789) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح خطأ نادر كان يمنع بعض العمليات المكررة، مثل `mutation`، من معالجة بعض الأجزاء بعد تلف البيانات. يُصلح [#19593](https://github.com/ClickHouse/ClickHouse/issues/19593). [#19702](https://github.com/ClickHouse/ClickHouse/pull/19702) ([alesapin](https://github.com/alesapin)).
* قد يعلق الخيط الخلفي الذي ينفذ استعلامات `ON CLUSTER` أثناء انتظار الجدول المكرر المحذوف ليفعل شيئًا ما. تم إصلاح ذلك. [#19684](https://github.com/ClickHouse/ClickHouse/pull/19684) ([yiguolei](https://github.com/yiguolei)).
* إصلاح إلغاء التسلسل الخاطئ لوصف الأعمدة. وكان هذا يجعل `INSERT` في جدول يحتوي على عمود اسمه `\` مستحيلًا. [#19479](https://github.com/ClickHouse/ClickHouse/pull/19479) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* وسم الدفعة الموزعة على أنها تالفة في حال وجود كتلة بيانات فارغة في أحد الملفات. [#19449](https://github.com/ClickHouse/ClickHouse/pull/19449) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح خطأ نادر جدًا كان قد يؤدي إلى تعليق `mutation` بعد `DROP/DETACH/REPLACE/MOVE PARTITION`. وكان قد أُصلح جزئيًا بواسطة [#15537](https://github.com/ClickHouse/ClickHouse/issues/15537) في معظم الحالات. [#19443](https://github.com/ClickHouse/ClickHouse/pull/19443) ([tavplubix](https://github.com/tavplubix)).
* إصلاح الخطأ المحتمل `Extremes transform was already added to pipeline`. يُصلح [#14100](https://github.com/ClickHouse/ClickHouse/issues/14100). [#19430](https://github.com/ClickHouse/ClickHouse/pull/19430) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح القيمة الافتراضية في أنواع join ذات القيم الافتراضية غير الصفرية (مثل بعض Enums). يُغلق [#18197](https://github.com/ClickHouse/ClickHouse/issues/18197). [#19360](https://github.com/ClickHouse/ClickHouse/pull/19360) ([vdimir](https://github.com/vdimir)).
* عدم اعتبار ملف العلامات الخاص بالإرسال الموزّع تالفًا عند EOF. [#19290](https://github.com/ClickHouse/ClickHouse/pull/19290) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تسرّب واصف ملف لـ pipe في `async_socket_for_remote`. [#19153](https://github.com/ClickHouse/ClickHouse/pull/19153) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح القراءة اللانهائية من ملف بتنسيق `ORC` (أُدخل هذا الخلل في [#10580](https://github.com/ClickHouse/ClickHouse/issues/10580)). يُصلح [#19095](https://github.com/ClickHouse/ClickHouse/issues/19095). [#19134](https://github.com/ClickHouse/ClickHouse/pull/19134) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح مشكلة في كاتب بيانات MergeTree قد تؤدي إلى marks بحجم أكبر من حجم granularity الثابت. يُصلح [#18913](https://github.com/ClickHouse/ClickHouse/issues/18913). [#19123](https://github.com/ClickHouse/ClickHouse/pull/19123) ([alesapin](https://github.com/alesapin)).
* إصلاح خطأ عند بدء التشغيل عندما لم يكن ClickHouse قادرًا على قراءة compression codec من `LowCardinality(Nullable(...))` ويطلق الاستثناء `Attempt to read after EOF`. يُصلح [#18340](https://github.com/ClickHouse/ClickHouse/issues/18340). [#19101](https://github.com/ClickHouse/ClickHouse/pull/19101) ([alesapin](https://github.com/alesapin)).
* تبسيط تنفيذ `tupleHammingDistance`. دعم tuples ذات أي طول متساوٍ. يُصلح [#19029](https://github.com/ClickHouse/ClickHouse/issues/19029). [#19084](https://github.com/ClickHouse/ClickHouse/pull/19084) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* التأكد من أن `groupUniqArray` يعيد النوع الصحيح لوسيطة من نوع Enum. هذا يُغلق [#17875](https://github.com/ClickHouse/ClickHouse/issues/17875). [#19019](https://github.com/ClickHouse/ClickHouse/pull/19019) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح خطأ محتمل `Expected single dictionary argument for function` عند استخدام الدالة `ignore` مع وسيطة من نوع `LowCardinality`. يُصلح [#14275](https://github.com/ClickHouse/ClickHouse/issues/14275). [#19016](https://github.com/ClickHouse/ClickHouse/pull/19016) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح إدراج column من نوع `LowCardinality` في table بمحرك `TinyLog`. يُصلح [#18629](https://github.com/ClickHouse/ClickHouse/issues/18629). [#19010](https://github.com/ClickHouse/ClickHouse/pull/19010) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح مشكلة طفيفة في JOIN: يحاول Join تحويل الأعمدة الثابتة إلى أعمدة فعلية، بينما تتوقع شيفرتنا وجودها بهذه الصورة في مواضع أخرى. [#18982](https://github.com/ClickHouse/ClickHouse/pull/18982) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تعطيل `optimize_move_functions_out_of_any` لأن هذا التحسين ليس صحيحًا دائمًا. هذا يُغلق [#18051](https://github.com/ClickHouse/ClickHouse/issues/18051). هذا يُغلق [#18973](https://github.com/ClickHouse/ClickHouse/issues/18973). [#18981](https://github.com/ClickHouse/ClickHouse/pull/18981) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح استثناء محتمل `QueryPipeline stream: different number of columns` ناتج عن دمج خطوات `Expression` في خطة الاستعلام. يعالج [#18190](https://github.com/ClickHouse/ClickHouse/issues/18190). [#18980](https://github.com/ClickHouse/ClickHouse/pull/18980) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح حالة تعطل تزامني نادرة جدًا عند الإيقاف. [#18977](https://github.com/ClickHouse/ClickHouse/pull/18977) ([tavplubix](https://github.com/tavplubix)).
* إصلاح حالات تعطل نادرة عند نفاد ذاكرة الخادم. [#18976](https://github.com/ClickHouse/ClickHouse/pull/18976) ([tavplubix](https://github.com/tavplubix)).
* إصلاح سلوك غير صحيح عندما يزيل الاستعلام `ALTER TABLE ... DROP PART 'part_name'` جميع كتل إزالة التكرار الخاصة بالقسم بالكامل. يعالج [#18874](https://github.com/ClickHouse/ClickHouse/issues/18874). [#18969](https://github.com/ClickHouse/ClickHouse/pull/18969) ([alesapin](https://github.com/alesapin)).
* إصلاح المشكلة [#18894](https://github.com/ClickHouse/ClickHouse/issues/18894) عبر إضافة تحقق لتجنب حدوث استثناء عندما يكون الاسم المستعار الطويل للعمود (بنمط 'table.column'، ويُنشأ تلقائيًا عادةً بواسطة أدوات BI مثل Looker) مساويًا لاسم جدول طويل. [#18968](https://github.com/ClickHouse/ClickHouse/pull/18968) ([Daniel Qin](https://github.com/mathfool)).
* إصلاح الخطأ `Task was not found in task queue` (لا يمكن أن يحدث إلا في الاستعلامات البعيدة، مع `async_socket_for_remote = 1`). [#18964](https://github.com/ClickHouse/ClickHouse/pull/18964) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خلل يؤدي إلى تسلسل mutation يحتوي على نص مُهرَّب بشكل غير صحيح بشكل غير صحيح (مثل `ALTER ... UPDATE e = CAST('foo', 'Enum8(\'foo\' = 1')`). يعالج [#18878](https://github.com/ClickHouse/ClickHouse/issues/18878). [#18944](https://github.com/ClickHouse/ClickHouse/pull/18944) ([alesapin](https://github.com/alesapin)).
* سيؤدي `ATTACH PARTITION` إلى إعادة تعيين mutations. [#18804](https://github.com/ClickHouse/ClickHouse/issues/18804). [#18935](https://github.com/ClickHouse/ClickHouse/pull/18935) ([fastio](https://github.com/fastio)).
* إصلاح مشكلة في `bitmapOrCardinality` قد تؤدي إلى فك إشارة مرجع nullptr. هذا يُغلق [#18911](https://github.com/ClickHouse/ClickHouse/issues/18911). [#18912](https://github.com/ClickHouse/ClickHouse/pull/18912) ([sundyli](https://github.com/sundy-li)).
* إصلاح الخطأ `Attempt to read after eof` عند محاولة `CAST` للقيمة `NULL` من `Nullable(String)` إلى `Nullable(Decimal(P, S))`. تُرجع الدالة `CAST` الآن القيمة `NULL` عندما يتعذر عليها تحليل قيمة عشرية من سلسلة نصية قابلة لأن تكون `NULL`. يعالج [#7690](https://github.com/ClickHouse/ClickHouse/issues/7690). [#18718](https://github.com/ClickHouse/ClickHouse/pull/18718) ([Winter Zhang](https://github.com/zhang2014)).
* إصلاح مشكلة تحويل نوع البيانات لمحرك MySQL. [#18124](https://github.com/ClickHouse/ClickHouse/pull/18124) ([bo zeng](https://github.com/mis98zb)).
* إصلاح استثناء الإجهاض في clickhouse-client عند تنفيذ `select` فقط. [#19790](https://github.com/ClickHouse/ClickHouse/pull/19790) ([taiyang-li](https://github.com/taiyang-li)).

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

* تشغيل [SQLancer](https://twitter.com/RiggerManuel/status/1352345625480884228) (مُشغِّل fuzzing منطقي لـ SQL) ضمن CI. [#19006](https://github.com/ClickHouse/ClickHouse/pull/19006) ([Ilya Yatsishin](https://github.com/qoega)).
* سيجري Query Fuzzer عمليات fuzzing أوسع للاختبارات المضافة حديثًا. يُغلق هذا [#18916](https://github.com/ClickHouse/ClickHouse/issues/18916). [#19185](https://github.com/ClickHouse/ClickHouse/pull/19185) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* التكامل مع [Big List of Naughty Strings](https://github.com/minimaxir/big-list-of-naughty-strings/) لتحسين fuzzing. [#19480](https://github.com/ClickHouse/ClickHouse/pull/19480) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة اختبارات تكامل تعمل باستخدام MSan. [#18974](https://github.com/ClickHouse/ClickHouse/pull/18974) ([alesapin](https://github.com/alesapin)).
* إصلاح أخطاء MemorySanitizer في cyrus-sasl و musl. [#19821](https://github.com/ClickHouse/ClickHouse/pull/19821) ([Ilya Yatsishin](https://github.com/qoega)).
* تسبّب فحص الوسائط غير الكافية في الدالة `positionCaseInsensitiveUTF8` في تفعيل address sanitizer. [#19720](https://github.com/ClickHouse/ClickHouse/pull/19720) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إزالة `--project-directory` من docker-compose في اختبار التكامل. وإصلاح تنسيق السجلات القادمة من حاوية docker. [#19706](https://github.com/ClickHouse/ClickHouse/pull/19706) ([Ilya Yatsishin](https://github.com/qoega)).
* تسهيل إنشاء macros.xml لاختبارات التكامل. ولم تعد هناك logging مفرطة من dicttoxml. مشروع dicttoxml غير نشط منذ أكثر من 5 سنوات. [#19697](https://github.com/ClickHouse/ClickHouse/pull/19697) ([Ilya Yatsishin](https://github.com/qoega)).
* السماح بتمكين watchdog أو تعطيله صراحةً عبر متغير البيئة `CLICKHOUSE_WATCHDOG_ENABLE`. ويكون مفعّلًا افتراضيًا إذا لم يكن server متصلًا بالطرفية. [#19522](https://github.com/ClickHouse/ClickHouse/pull/19522) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح ببناء ClickHouse مع دعم Kafka على arm64. [#19369](https://github.com/ClickHouse/ClickHouse/pull/19369) ([filimonov](https://github.com/filimonov)).
* السماح ببناء librdkafka بدون ssl. [#19337](https://github.com/ClickHouse/ClickHouse/pull/19337) ([filimonov](https://github.com/filimonov)).
* استعادة إدخال Kafka في إصدارات FreeBSD المبنية. [#18924](https://github.com/ClickHouse/ClickHouse/pull/18924) ([Alexandre Snarskii](https://github.com/snar)).
* إصلاح احتمال إلغاء مرجع nullptr في table function `VALUES`. [#19357](https://github.com/ClickHouse/ClickHouse/pull/19357) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تجنّب تقارير UBSan في الدالة `arrayElement` و`substring` و`arraySum`. يُصلح [#19305](https://github.com/ClickHouse/ClickHouse/issues/19305). يُصلح [#19287](https://github.com/ClickHouse/ClickHouse/issues/19287). يُغلق هذا [#19336](https://github.com/ClickHouse/ClickHouse/issues/19336). [#19347](https://github.com/ClickHouse/ClickHouse/pull/19347) ([alexey-milovidov](https://github.com/alexey-milovidov)).

<div id="clickhouse-release-211">
  ## إصدار ClickHouse 21.1
</div>

<div id="clickhouse-release-v211332-stable-2021-02-03">
  ### إصدار ClickHouse ‏v21.1.3.32-stable، 2021-02-03
</div>

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

* إصلاح تعطل فهرس BloomFilter. يُصلح [#19757](https://github.com/ClickHouse/ClickHouse/issues/19757). [#19884](https://github.com/ClickHouse/ClickHouse/pull/19884) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح التعطل عند دفع شروط التصفية إلى الاستعلام الفرعي union distinct. يُصلح هذا [#19855](https://github.com/ClickHouse/ClickHouse/issues/19855). [#19861](https://github.com/ClickHouse/ClickHouse/pull/19861) ([Amos Bird](https://github.com/amosbird)).
* إصلاح التصفية على قيم UInt8 الأكبر من 127. [#19799](https://github.com/ClickHouse/ClickHouse/pull/19799) ([Anton Popov](https://github.com/CurtizJ)).
* في الإصدارات السابقة، قد تتسبب الوسيطات غير المعتادة للدالة arrayEnumerateUniq في حدوث تعطل أو حلقة لا نهائية. يُغلق هذا [#19787](https://github.com/ClickHouse/ClickHouse/issues/19787). [#19788](https://github.com/ClickHouse/ClickHouse/pull/19788) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح تجاوز سعة المكدس عند استخدام مقارنة دقيقة بين نوع حسابي ونوع String. [#19773](https://github.com/ClickHouse/ClickHouse/pull/19773) ([tavplubix](https://github.com/tavplubix)).
* إصلاح التعطل عند استخدام اسم عمود Nested في `WHERE` أو `PREWHERE`. يُصلح [#19755](https://github.com/ClickHouse/ClickHouse/issues/19755). [#19763](https://github.com/ClickHouse/ClickHouse/pull/19763) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خطأ تجزئة في الدالة `bitmapAndnot`. يُصلح [#19668](https://github.com/ClickHouse/ClickHouse/issues/19668). [#19713](https://github.com/ClickHouse/ClickHouse/pull/19713) ([Maksim Kita](https://github.com/kitaisreal)).
* قد تتسبب بعض الدوال التي تستخدم أعدادًا صحيحة كبيرة في حدوث segfault. الأعداد الصحيحة الكبيرة ميزة تجريبية. يُغلق هذا [#19667](https://github.com/ClickHouse/ClickHouse/issues/19667). [#19672](https://github.com/ClickHouse/ClickHouse/pull/19672) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح النتيجة غير الصحيحة للدالة `neighbor` مع الوسيط `LowCardinality`. يُصلح [#10333](https://github.com/ClickHouse/ClickHouse/issues/10333). [#19617](https://github.com/ClickHouse/ClickHouse/pull/19617) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح مشكلة use-after-free في CompressedWriteBuffer داخل Connection بعد قطع الاتصال. [#19599](https://github.com/ClickHouse/ClickHouse/pull/19599) ([Azat Khuzhin](https://github.com/azat)).
* قد يعلق الاستعلام `DROP/DETACH TABLE table ON CLUSTER cluster SYNC`، وقد تم إصلاح ذلك. يُصلح [#19568](https://github.com/ClickHouse/ClickHouse/issues/19568). [#19572](https://github.com/ClickHouse/ClickHouse/pull/19572) ([tavplubix](https://github.com/tavplubix)).
* إصلاح تعبير id في استعلام CREATE DICTIONARY. [#19571](https://github.com/ClickHouse/ClickHouse/pull/19571) ([Maksim Kita](https://github.com/kitaisreal)).
* إصلاح SIGSEGV مع merge\_tree\_min\_rows\_for\_concurrent\_read/merge\_tree\_min\_bytes\_for\_concurrent\_read=0/UINT64\_MAX. [#19528](https://github.com/ClickHouse/ClickHouse/pull/19528) ([Azat Khuzhin](https://github.com/azat)).
* كان من الممكن حدوث تجاوز سعة المخزن المؤقت (عند القراءة من الذاكرة) إذا استُدعيت الدالة `addMonth` بوسائط مُصاغة خصيصًا. يُصلح هذا [#19441](https://github.com/ClickHouse/ClickHouse/issues/19441). ويُصلح أيضًا [#19413](https://github.com/ClickHouse/ClickHouse/issues/19413). [#19472](https://github.com/ClickHouse/ClickHouse/pull/19472) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* كان من الممكن حدوث قراءة من ذاكرة غير مهيأة في دوال التشفير/فك التشفير إذا مُرِّرت سلسلة فارغة باعتبارها IV. يُغلق هذا [#19391](https://github.com/ClickHouse/ClickHouse/issues/19391). [#19397](https://github.com/ClickHouse/ClickHouse/pull/19397) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح احتمال حدوث تجاوز سعة المخزن المؤقت في مكتبة Uber H3. راجع [https://github.com/uber/h3/issues/392](https://github.com/uber/h3/issues/392). يُغلق هذا [#19219](https://github.com/ClickHouse/ClickHouse/issues/19219). [#19383](https://github.com/ClickHouse/ClickHouse/pull/19383) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح عمود system.parts \_state (كان يحدث LOGICAL\_ERROR عند الاستعلام عن هذا العمود بسبب ترتيب غير صحيح). [#19346](https://github.com/ClickHouse/ClickHouse/pull/19346) ([Azat Khuzhin](https://github.com/azat)).
* تم إصلاح احتمال ظهور نتيجة غير صحيحة أو حدوث segfault عند aggregation عندما يكون للعرض المادي والجدول الهدف بنية مختلفة. يُصلح [#18063](https://github.com/ClickHouse/ClickHouse/issues/18063). [#19322](https://github.com/ClickHouse/ClickHouse/pull/19322) ([tavplubix](https://github.com/tavplubix)).
* إصلاح الخطأ `Cannot convert column now64() because it is constant but values of constants are different in source and result`. استكمال لـ [#7156](https://github.com/ClickHouse/ClickHouse/issues/7156). [#19316](https://github.com/ClickHouse/ClickHouse/pull/19316) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خلل قد يؤدي إلى تعليق استعلامات `ALTER` و`DROP` المتزامنة أثناء معالجة جدول ReplicatedMergeTree. [#19237](https://github.com/ClickHouse/ClickHouse/pull/19237) ([alesapin](https://github.com/alesapin)).
* تم إصلاح الخطأ `There is no checkpoint` عند إدراج البيانات عبر واجهة HTTP باستخدام format ‏`Template` أو `CustomSeparated`. يُصلح [#19021](https://github.com/ClickHouse/ClickHouse/issues/19021). [#19072](https://github.com/ClickHouse/ClickHouse/pull/19072) ([tavplubix](https://github.com/tavplubix)).
* تعطيل طيّ الثوابت للاستعلامات الفرعية في مرحلة التحليل عندما يتعذر حساب النتيجة. [#18446](https://github.com/ClickHouse/ClickHouse/pull/18446) ([Azat Khuzhin](https://github.com/azat)).
* كان من الممكن أن تتعطل mutation أثناء انتظار part غير موجود بعد `MOVE` أو `REPLACE PARTITION` أو، في حالات نادرة، بعد `DETACH` أو `DROP PARTITION`. وقد تم إصلاح ذلك. [#15537](https://github.com/ClickHouse/ClickHouse/pull/15537) ([tavplubix](https://github.com/tavplubix)).

<div id="clickhouse-release-v211215-stable-2021-01-18">
  ### إصدار ClickHouse ‏v21.1.2.15-stable 2021-01-18
</div>

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

* أصبح الإعداد `input_format_null_as_default` مفعّلًا افتراضيًا. [#17525](https://github.com/ClickHouse/ClickHouse/pull/17525) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* التحقق من قيود الإعدادات الخاصة بإعدادات profile من config. سيفشل server في التشغيل إذا كان ملف users.xml يحتوي على إعدادات لا تستوفي القيود المقابلة. [#18486](https://github.com/ClickHouse/ClickHouse/pull/18486) ([tavplubix](https://github.com/tavplubix)).
* تقييد `ALTER MODIFY SETTING` لمنع تغيير إعدادات Storage التي تؤثر في data parts (`write_final_mark` و `enable_mixed_granularity_parts`). [#18306](https://github.com/ClickHouse/ClickHouse/pull/18306) ([Amos Bird](https://github.com/amosbird)).
* تعيين `insert_quorum_parallel` إلى 1 افتراضيًا. وهذا أكثر سهولةً في الاستخدام بكثير من quorum inserts بنمط "sequential". لكن إذا كنت تعتمد على sequential consistency، فيجب إعادة هذا الإعداد إلى الصفر. [#17567](https://github.com/ClickHouse/ClickHouse/pull/17567) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إزالة الدالة `sumburConsistentHash`. وهذا يُغلق [#18120](https://github.com/ClickHouse/ClickHouse/issues/18120). [#18656](https://github.com/ClickHouse/ClickHouse/pull/18656) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أُزيلت aggregate functions `timeSeriesGroupSum` و `timeSeriesGroupRateSum` لأن صديقًا لي قال إنها لم تعمل قط. وهذا يُصلح [#16869](https://github.com/ClickHouse/ClickHouse/issues/16869). إذا حالفك الحظ في استخدام هاتين الدالتين، فأرسل رسالة بريد إلكتروني إلى [feedback@clickhouse.com](mailto:feedback@clickhouse.com). [#17423](https://github.com/ClickHouse/ClickHouse/pull/17423) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* حظر `toUnixTimestamp(Date())` (إذ كان في السابق يعيد فقط تمثيل UInt16 لـ Date). [#17376](https://github.com/ClickHouse/ClickHouse/pull/17376) ([Azat Khuzhin](https://github.com/azat)).
* السماح باستخدام أنواع الأعداد الصحيحة الموسعة (`Int128` و `Int256` و `UInt256`) في الدالتين `avg` و `avgWeighted`. كما أصبح مسموحًا أيضًا باستخدام أنواع مختلفة (عدد صحيح، Decimal، فاصلة عائمة) للقيمة والوزن في الدالة `avgWeighted`. هذا تغيير غير متوافق مع الإصدارات السابقة: إذ تُرجع الدالتان `avg` و `avgWeighted` الآن دائمًا `Float64` (كما هو موثّق). قبل هذا التغيير، كان return type لوسائط `Decimal` هو أيضًا `Decimal`. [#15419](https://github.com/ClickHouse/ClickHouse/pull/15419) ([Mike](https://github.com/myrrc)).
* لم يعد التعبير `toUUID(N)` يعمل. استبدله بـ `toUUID('00000000-0000-0000-0000-000000000000')`. وقد جاء هذا التغيير بسبب النتائج غير الواضحة لـ `toUUID(N)` عندما تكون N غير صفرية.
* تُرفض SSL Certificates ذات "key usage" غير الصحيح. في الإصدارات السابقة، كانت تُقبل. راجع [#19262](https://github.com/ClickHouse/ClickHouse/issues/19262).
* أُزيلت مراجع `incl` إلى ملف substitution ‏(`/etc/metrika.xml`) من config الافتراضي (`<remote_servers>`, `<zookeeper>`, `<macros>`, `<compression>`, `<networks>`). إذا كنت تستخدم ملف substitution وتعتمد على تلك المراجع الضمنية، فيجب عليك إعادتها يدويًا وبشكل صريح بإضافة الأقسام المقابلة مع السمات `incl="..."` قبل التحديث. راجع [#18740](https://github.com/ClickHouse/ClickHouse/pull/18740) ([alexey-milovidov](https://github.com/alexey-milovidov)).

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

* تنفيذ بروتوكول gRPC في ClickHouse. [#15111](https://github.com/ClickHouse/ClickHouse/pull/15111) ([Vitaly Baranov](https://github.com/vitlibar)).
* إتاحة استخدام مجموعات ZooKeeper متعددة. [#17070](https://github.com/ClickHouse/ClickHouse/pull/17070) ([fastio](https://github.com/fastio)).
* تم تنفيذ الاستعلامين `REPLACE TABLE` و`CREATE OR REPLACE TABLE`. [#18521](https://github.com/ClickHouse/ClickHouse/pull/18521) ([tavplubix](https://github.com/tavplubix)).
* تنفيذ `UNION DISTINCT` واعتبار عبارة `UNION` العادية `UNION DISTINCT` افتراضيًا. وإضافة الإعداد `union_default_mode` الذي يتيح اعتبارها `UNION ALL` أو اشتراط تحديد الوضع صراحةً. [#16338](https://github.com/ClickHouse/ClickHouse/pull/16338) ([flynn](https://github.com/ucasFL)).
* أُضيفت الدالة `accurateCastOrNull`. ويغلق هذا [#10290](https://github.com/ClickHouse/ClickHouse/issues/10290). كما أُضيفت تحويلات الأنواع في التعبيرات `x IN (subquery)`. ويغلق هذا [#10266](https://github.com/ClickHouse/ClickHouse/issues/10266). [#16724](https://github.com/ClickHouse/ClickHouse/pull/16724) ([Maksim Kita](https://github.com/kitaisreal)).
* يدعم IP Dictionary النوعين `IPv4` و`IPv6` مباشرةً. [#17571](https://github.com/ClickHouse/ClickHouse/pull/17571) ([vdimir](https://github.com/vdimir)).
* يدعم IP Dictionary الجلب بالمفتاح. ويحل هذا [#18241](https://github.com/ClickHouse/ClickHouse/issues/18241). [#18480](https://github.com/ClickHouse/ClickHouse/pull/18480) ([vdimir](https://github.com/vdimir)).
* إضافة دعم الضغط/فك الضغط `*.zst` لاستيراد البيانات وتصديرها. ويتيح ذلك استخدام `*.zst` في الدالة `file()` و`Content-encoding: zstd` في عميل HTTP. ويغلق هذا [#16791 ](https://github.com/ClickHouse/ClickHouse/issues/16791). [#17144](https://github.com/ClickHouse/ClickHouse/pull/17144) ([Abi Palagashvili](https://github.com/fibersel)).
* أُضيفت الدوال التجميعية `mannWitneyUTest` و`studentTTest` و`welchTTest`. كما أُعيدت هيكلة `rankCorr` قليلًا. [#16883](https://github.com/ClickHouse/ClickHouse/pull/16883) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إضافة الدالتين `countMatches`/`countMatchesCaseInsensitive`. [#17459](https://github.com/ClickHouse/ClickHouse/pull/17459) ([Azat Khuzhin](https://github.com/azat)).
* تنفيذ `countSubstrings()`/`countSubstringsCaseInsensitive()`/`countSubstringsCaseInsensitiveUTF8()` (عدّ عدد مرات ظهور السلسلة الفرعية). [#17347](https://github.com/ClickHouse/ClickHouse/pull/17347) ([Azat Khuzhin](https://github.com/azat)).
* إضافة معلومات عن قواعد البيانات والجداول والأعمدة المستخدمة في system.query\_log. وإضافة الحقلين `query_kind` و`normalized_query_hash`. [#17726](https://github.com/ClickHouse/ClickHouse/pull/17726) ([Amos Bird](https://github.com/amosbird)).
* إضافة الإعداد `optimize_on_insert`. عند تمكينه، يُجرى على كتلة البيانات المُدرجة نفس التحويل كما لو أُجريت عليها عملية دمج (مثل Replacing وCollapsing وAggregating...). هذا الإعداد مُمكّن افتراضيًا. وقد يؤثر ذلك في سلوك `materialized view` وMaterializeMySQL (انظر الوصف التفصيلي). ويغلق هذا [#10683](https://github.com/ClickHouse/ClickHouse/issues/10683). [#16954](https://github.com/ClickHouse/ClickHouse/pull/16954) ([Kruglov Pavel](https://github.com/Avogar)).
* مصادقة Kerberos لـ HDFS. [#16621](https://github.com/ClickHouse/ClickHouse/pull/16621) ([Ilya Golshtein](https://github.com/ilejn)).
* دعم العبارة `SHOW SETTINGS` لعرض المعلمات في system.settings. كما يدعم أيضًا `SHOW CHANGED SETTINGS` وعبارة `LIKE/ILIKE`. [#18056](https://github.com/ClickHouse/ClickHouse/pull/18056) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* أصبحت الدالة `position` تدعم الآن الصياغة `POSITION(needle IN haystack)` لتحقيق التوافق مع SQL. وهذا يغلق [#18701](https://github.com/ClickHouse/ClickHouse/issues/18701). ... [#18779](https://github.com/ClickHouse/ClickHouse/pull/18779) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* يتوفر الآن إعداد تخزين جديد `max_partitions_to_read` للجداول في MergeTree family. وهو يحدّ من العدد الأقصى لـ partitions التي يمكن الوصول إليها في query واحدة. وأُضيف أيضًا إعداد مستخدم `force_max_partition_limit` لفرض هذا القيد. [#18712](https://github.com/ClickHouse/ClickHouse/pull/18712) ([Amos Bird](https://github.com/amosbird)).
* إضافة عمود `query_id` إلى `system.part_log` للأجزاء المُدرجة. يغلق [#10097](https://github.com/ClickHouse/ClickHouse/issues/10097). [#18644](https://github.com/ClickHouse/ClickHouse/pull/18644) ([flynn](https://github.com/ucasFL)).
* السماح بإنشاء table بصيغة AS SELECT مع تحديد columns. مثال: `CREATE TABLE t1 (x String) ENGINE = Memory AS SELECT 1;`. [#18060](https://github.com/ClickHouse/ClickHouse/pull/18060) ([Maksim Kita](https://github.com/kitaisreal)).
* أُضيفت دوال aggregation ‏`arrayMin` و`arrayMax` و`arrayAvg`. [#18032](https://github.com/ClickHouse/ClickHouse/pull/18032) ([Maksim Kita](https://github.com/kitaisreal)).
* جرى تنفيذ query ‏`ATTACH TABLE name FROM 'path/to/data/' (col1 Type1, ...`. وهي تنشئ table جديدة بالبنية المحددة وتربط بيانات table من directory المحدد في `user_files`. [#17903](https://github.com/ClickHouse/ClickHouse/pull/17903) ([tavplubix](https://github.com/tavplubix)).
* إضافة دعم mutation إلى StorageMemory. وهذا يغلق [#9117](https://github.com/ClickHouse/ClickHouse/issues/9117). [#15127](https://github.com/ClickHouse/ClickHouse/pull/15127) ([flynn](https://github.com/ucasFL)).
* دعم الصياغة `EXISTS DATABASE name`. [#18458](https://github.com/ClickHouse/ClickHouse/pull/18458) ([Du Chuan](https://github.com/spongedu)).
* دعم الدالتين المضمّنتين `isIPv4String` و`isIPv6String` على غرار [MySQL](https://github.com/ClickHouse/ClickHouse/compare/master...spongedu:support_is_ipv4?expand=1). [#18349](https://github.com/ClickHouse/ClickHouse/pull/18349) ([Du Chuan](https://github.com/spongedu)).
* إضافة إعداد جديد `insert_distributed_one_random_shard = 1` للسماح بعملية insert إلى distributed table متعددة المقاطع من دون أي مفتاح distributed. [#18294](https://github.com/ClickHouse/ClickHouse/pull/18294) ([Amos Bird](https://github.com/amosbird)).
* إضافة الإعدادين `min_compress_block_size` و`max_compress_block_size` إلى MergeTreeSettings، وتكون لهما أولوية أعلى من الإعدادات العامة ويسري مفعولهما عند تعيينهما. يُغلق [13890](https://github.com/ClickHouse/ClickHouse/issues/13890). [#17867](https://github.com/ClickHouse/ClickHouse/pull/17867) ([flynn](https://github.com/ucasFL)).
* إضافة دعم bitmaps من نوع roaring ‏64bit. [#17858](https://github.com/ClickHouse/ClickHouse/pull/17858) ([Andy Yang](https://github.com/andyyzh)).
* توسيع صياغة `OPTIMIZE ... DEDUPLICATE` للسماح بقائمة صريحة (أو ضمنية باستخدام asterisk/column transformers) من columns للتحقق من التكرارات فيها. ... [#17846](https://github.com/ClickHouse/ClickHouse/pull/17846) ([Vasily Nemkov](https://github.com/Enmk)).
* تمت إضافة الدوال `toModifiedJulianDay` و`fromModifiedJulianDay` و`toModifiedJulianDayOrNull` و`fromModifiedJulianDayOrNull`. تُحوِّل هذه الدوال بين تاريخ التقويم الميلادي الممتد ورقم Modified Julian Day. [#17750](https://github.com/ClickHouse/ClickHouse/pull/17750) ([PHO](https://github.com/depressed-pho)).
* تمت إضافة إمكانية استخدام custom TLD list: أُضيفت الدالتان `firstSignificantSubdomainCustom` و`cutToFirstSignificantSubdomainCustom`. [#17748](https://github.com/ClickHouse/ClickHouse/pull/17748) ([Azat Khuzhin](https://github.com/azat)).
* تمت إضافة دعم بروتوكول `PROXYv1` لتغليف واجهة native TCP. كما أصبح من الممكن أن تستند quotas إلى عنوان IP المُمرَّر عبر proxy (ويُطبَّق ذلك على عنوان `PROXYv1` وعلى `X-Forwarded-For` من HTTP interface). يفيد ذلك عند إتاحة الوصول إلى ClickHouse فقط عبر proxy موثوق (مثل CloudFlare)، مع الحاجة إلى احتساب موارد المستخدمين بحسب عناوين IP الأصلية الخاصة بهم. يُصلح هذا [#17268](https://github.com/ClickHouse/ClickHouse/issues/17268). [#17707](https://github.com/ClickHouse/ClickHouse/pull/17707) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* يدعم `clickhouse-client` الآن فتح `EDITOR` لتحرير الأوامر. `Alt-Shift-E`. [#17665](https://github.com/ClickHouse/ClickHouse/pull/17665) ([Amos Bird](https://github.com/amosbird)).
* تمت إضافة الدالة `encodeXMLComponent` لتهريب المحارف بهدف وضع سلسلة نصية داخل عقدة نصية في XML أو ضمن attribute. [#17659](https://github.com/ClickHouse/ClickHouse/pull/17659) ([nauta](https://github.com/nautaa)).
* تم تقديم الصياغة `DETACH TABLE/VIEW ... PERMANENTLY`، بحيث لا يعود الجدول للظهور تلقائيًا بعد إعادة التشغيل (بل عند طلب صريح فقط). ولا يزال بالإمكان إعادة Attach للجدول باستخدام الصياغة المختصرة ATTACH TABLE. يحقق ذلك [#5555](https://github.com/ClickHouse/ClickHouse/issues/5555). ويُصلح [#13850](https://github.com/ClickHouse/ClickHouse/issues/13850). [#17642](https://github.com/ClickHouse/ClickHouse/pull/17642) ([filimonov](https://github.com/filimonov)).
* تمت إضافة metrics غير متزامنة لإجمالي عدد rows والبايتات وparts في MergeTree tables. يُصلح هذا [#11714](https://github.com/ClickHouse/ClickHouse/issues/11714). [#17639](https://github.com/ClickHouse/ClickHouse/pull/17639) ([flynn](https://github.com/ucasFL)).
* تمت إضافة الإعدادين `limit` و`offset` لترقيم الصفحات خارج SQL: [#16176](https://github.com/ClickHouse/ClickHouse/issues/16176) وهما مفيدان لبناء واجهات API. سيؤثر هذان الإعدادان في استعلام SELECT كما لو تمت إضافتهما على النحو التالي: `select * from (your_original_select_query) t limit xxx offset xxx;`. [#17633](https://github.com/ClickHouse/ClickHouse/pull/17633) ([hexiaoting](https://github.com/hexiaoting)).
* تم توفير combinator جديد للمُجمِّع: `-SimpleState` لبناء أنواع `SimpleAggregateFunction` عبر query. وهو مفيد لتعريف MaterializedView لمحرك AggregatingMergeTree، وسيفيد projections أيضًا. [#16853](https://github.com/ClickHouse/ClickHouse/pull/16853) ([Amos Bird](https://github.com/amosbird)).
* تمت إضافة parameter ‏`queries-file` لكل من `clickhouse-client` و`clickhouse-local`. [#15930](https://github.com/ClickHouse/ClickHouse/pull/15930) ([Maksim Kita](https://github.com/kitaisreal)).
* تمت إضافة parameter ‏`query` إلى `clickhouse-benchmark`. [#17832](https://github.com/ClickHouse/ClickHouse/pull/17832) ([Maksim Kita](https://github.com/kitaisreal)).
* أصبح `EXPLAIN AST` الآن يدعم queries أخرى غير `SELECT` أيضًا. [#18136](https://github.com/ClickHouse/ClickHouse/pull/18136) ([taiyang-li](https://github.com/taiyang-li)).

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

* أُضيفت دوال لحساب minHash وsimHash لـ n-grams النصية وshingles. وهي مخصّصة للبحث عن العناصر شبه المكررة. كما أُضيفت الدالتان `bitHammingDistance` و`tupleHammingDistance`. [#7649](https://github.com/ClickHouse/ClickHouse/pull/7649) ([flynn](https://github.com/ucasFL)).
* أُضيف نوع بيانات جديد هو `Map`. راجع [#1841](https://github.com/ClickHouse/ClickHouse/issues/1841). لا يدعم الإصدار الأول من `Map` سوى النوع `String` لكلٍّ من المفتاح والقيمة. [#15806](https://github.com/ClickHouse/ClickHouse/pull/15806) ([hexiaoting](https://github.com/hexiaoting)).
* تنفيذ محلل SQL بديل يستند إلى بيئة تشغيل ANTLR4 ومولَّد من قواعد EBNF. [#11298](https://github.com/ClickHouse/ClickHouse/pull/11298) ([Ivan](https://github.com/abyss7)).

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

* تنفيذ جديد لـ IP Dictionary باستهلاك أقل للذاكرة، مع تحسين الأداء في بعض الحالات وإصلاح بعض الأخطاء. [#16804](https://github.com/ClickHouse/ClickHouse/pull/16804) ([vdimir](https://github.com/vdimir)).
* تنسيق متوازٍ لتصدير البيانات. [#11617](https://github.com/ClickHouse/ClickHouse/pull/11617) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تكامل LDAP: أُضيفت المعلَمة `verification_cooldown` إلى إعداد اتصال خادم LDAP للسماح بالتخزين المؤقت لمحاولات "bind" الناجحة لمدة قابلة للتهيئة. [#15988](https://github.com/ClickHouse/ClickHouse/pull/15988) ([Denis Glazachev](https://github.com/traceon)).
* أُضيف الخيار `--no-system-table` إلى `clickhouse-local` للتشغيل دون جداول النظام. وهذا يتجنب تهيئة `DateLUT` التي قد تستغرق وقتًا ملحوظًا (عشرات المللي ثانية) عند بدء التشغيل. [#18899](https://github.com/ClickHouse/ClickHouse/pull/18899) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* استُبدل `PODArray` بـ `PODArrayWithStackMemory` في `AggregateFunctionWindowFunnelData` لتحسين أداء الدالة `windowFunnel`. [#18817](https://github.com/ClickHouse/ClickHouse/pull/18817) ([flynn](https://github.com/ucasFL)).
* عدم إرسال كتل فارغة إلى `shards` عند تنفيذ INSERT متزامن إلى جدول Distributed. هذا يُغلق [#14571](https://github.com/ClickHouse/ClickHouse/issues/14571). [#18775](https://github.com/ClickHouse/ClickHouse/pull/18775) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين القراءة في StorageMemory. [#18052](https://github.com/ClickHouse/ClickHouse/pull/18052) ([Maksim Kita](https://github.com/kitaisreal)).
* استخدام خوارزمية Dragonbox لتحويل float إلى string بدلًا من ryu. وهذا يحسن أداء تحويل float إلى string بشكل ملحوظ. [#17831](https://github.com/ClickHouse/ClickHouse/pull/17831) ([Maksim Kita](https://github.com/kitaisreal)).
* تسريع تنفيذ `IPv6CIDRToRange`. [#17569](https://github.com/ClickHouse/ClickHouse/pull/17569) ([vdimir](https://github.com/vdimir)).
* إضافة الإعداد `remerge_sort_lowered_memory_bytes_ratio` (إذا لم ينخفض استخدام الذاكرة بعد إعادة الدمج بهذه النسبة، فستُعطَّل إعادة الدمج). [#17539](https://github.com/ClickHouse/ClickHouse/pull/17539) ([Azat Khuzhin](https://github.com/azat)).
* تحسين أداء AggregatingMergeTree مع SimpleAggregateFunction(String) في PK. [#17109](https://github.com/ClickHouse/ClickHouse/pull/17109) ([Azat Khuzhin](https://github.com/azat)).
* أصبح الآن المجمِّع `-If` منزوع الافتراضية، وأصبحت `count` تُنفَّذ بشكل متجهي على نحو صحيح. وذلك في [طلب السحب هذا](https://github.com/ClickHouse/ClickHouse/pull/17041). [#17043](https://github.com/ClickHouse/ClickHouse/pull/17043) ([Amos Bird](https://github.com/amosbird)).
* إصلاح مشكلة الأداء عند القراءة من جداول `Merge` عبر عدد كبير جدًا من جداول `MergeTree`. ويُصلح هذا [#7748](https://github.com/ClickHouse/ClickHouse/issues/7748). [#16988](https://github.com/ClickHouse/ClickHouse/pull/16988) ([Anton Popov](https://github.com/CurtizJ)).
* تحسين أداء الدالة `repeat`. [#16937](https://github.com/ClickHouse/ClickHouse/pull/16937) ([satanson](https://github.com/satanson)).
* تحسين طفيف في أداء تحليل الأعداد العائمة. [#16809](https://github.com/ClickHouse/ClickHouse/pull/16809) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة إمكانية تخطي الأقسام المدمجة في `OPTIMIZE TABLE ... FINAL`. [#15939](https://github.com/ClickHouse/ClickHouse/pull/15939) ([Kruglov Pavel](https://github.com/Avogar)).
* الدمج مع [fast\_float from Daniel Lemire](https://github.com/lemire/fast_float) لتحليل الأعداد ذات الفاصلة العائمة. [#16787](https://github.com/ClickHouse/ClickHouse/pull/16787) ([Maksim Kita](https://github.com/kitaisreal)). وهو غير مفعّل لأن أداءه لا يزال أقل من أداء محلّل الأعداد العائمة التقريبي في ClickHouse.
* إصلاح max\_distributed\_connections (يؤثر في `prefer_localhost_replica = 1` و `max_threads != max_distributed_connections`). [#17848](https://github.com/ClickHouse/ClickHouse/pull/17848) ([Azat Khuzhin](https://github.com/azat)).
* اختيار تكيّفي بين الرفع بجزء واحد والرفع متعدد الأجزاء عند إرسال البيانات إلى S3. ويجري التحكّم في الرفع بجزء واحد بواسطة إعداد جديد `max_single_part_upload_size`. [#17934](https://github.com/ClickHouse/ClickHouse/pull/17934) ([Pavel Kovalenko](https://github.com/Jokser)).
* دعم المهام غير المتزامنة في `PipelineExecutor`. ودعم أولي للمقابس غير المتزامنة للاستعلامات البعيدة. [#17868](https://github.com/ClickHouse/ClickHouse/pull/17868) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* السماح باستخدام التحسين `optimize_move_to_prewhere` مع الأجزاء المدمجة عندما تكون أحجام الأعمدة غير معروفة. [#17330](https://github.com/ClickHouse/ClickHouse/pull/17330) ([Anton Popov](https://github.com/CurtizJ)).

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

* تجنّب حدوث حالة deadlock عند تنفيذ `INSERT SELECT` إلى الجدول نفسه من جدول يستخدم محركي الجدول `TinyLog` أو `Log`. يُغلق هذا [#6802](https://github.com/ClickHouse/ClickHouse/issues/6802). يُغلق هذا [#18691](https://github.com/ClickHouse/ClickHouse/issues/18691). يُغلق هذا [#16812](https://github.com/ClickHouse/ClickHouse/issues/16812). يُغلق هذا [#14570](https://github.com/ClickHouse/ClickHouse/issues/14570). [#15260](https://github.com/ClickHouse/ClickHouse/pull/15260) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* دعم البنية `SHOW CREATE VIEW name` على غرار [MySQL](https://dev.mysql.com/doc/refman/5.7/en/show-create-view.html). [#18095](https://github.com/ClickHouse/ClickHouse/pull/18095) ([Du Chuan](https://github.com/spongedu)).
* أصبحت جميع الاستعلامات من النوع `Decimal * Float` أو بالعكس مدعومة، بما في ذلك الاستعلامات التجميعية (مثل `SELECT sum(decimal_field * 1.1)` أو `SELECT dec_col * float_col`)، ويكون نوع النتيجة Float32 أو Float64. [#18145](https://github.com/ClickHouse/ClickHouse/pull/18145) ([Mike](https://github.com/myrrc)).
* تحسين واجهة الويب المبسطة: إضافة السجل؛ وإضافة دعم المشاركة؛ وتجنّب حالة تسابق بين الطلبات المختلفة؛ وإضافة مؤشرات للطلبات أثناء التنفيذ وعند الجاهزية؛ وإضافة favicon؛ واكتشاف Ctrl+Enter إذا لم تكن منطقة النص في وضع التركيز. [#17293](https://github.com/ClickHouse/ClickHouse/pull/17293) [#17770](https://github.com/ClickHouse/ClickHouse/pull/17770) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* لم يكن clickhouse-server يرسل طلب `close` إلى خادم ZooKeeper. [#16837](https://github.com/ClickHouse/ClickHouse/pull/16837) ([alesapin](https://github.com/alesapin)).
* تجنّب التوقف غير الطبيعي للخادم في حال كانت حدود الذاكرة منخفضة جدًا (`max_memory_usage = 1` / `max_untracked_memory = 1`). [#17453](https://github.com/ClickHouse/ClickHouse/pull/17453) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح النتيجة غير الحتمية للدالة `windowFunnel` في حال وجود نفس الطابع الزمني لأحداث مختلفة. [#18884](https://github.com/ClickHouse/ClickHouse/pull/18884) ([Fuwang Hu](https://github.com/fuwhu)).
* Docker: تعيين uid / gid لمستخدم ومجموعة clickhouse صراحةً إلى القيم الثابتة (101) في صور Docker الخاصة بـ clickhouse-server. [#19096](https://github.com/ClickHouse/ClickHouse/pull/19096) ([filimonov](https://github.com/filimonov)).
* عمليات `INSERT` غير المتزامنة إلى جداول `Distributed`: تمت إضافة إعدادين جديدين (على غرار عائلة MergeTree): - `fsync_after_insert` - ينفّذ fsync بعد كل عملية إدراج. سيؤدي ذلك إلى خفض أداء عمليات الإدراج. - `fsync_directories` - ينفّذ fsync للدليل المؤقت (المستخدَم فقط مع `INSERT` غير المتزامن) بعد جميع العمليات (الكتابة، وإعادة التسمية، وما إلى ذلك). [#18864](https://github.com/ClickHouse/ClickHouse/pull/18864) ([Azat Khuzhin](https://github.com/azat)).
* أصبح الأمر `SYSTEM KILL` يعمل في Docker. يُغلق هذا [#18847](https://github.com/ClickHouse/ClickHouse/issues/18847). [#18848](https://github.com/ClickHouse/ClickHouse/pull/18848) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* توسيع وحدات الماكرو في مسار zk عند تنفيذ `FETCH PARTITION`. [#18839](https://github.com/ClickHouse/ClickHouse/pull/18839) ([fastio](https://github.com/fastio)).
* تطبيق `ALTER TABLE <replicated_table> ON CLUSTER MODIFY SETTING ...` على جميع النسخ المتماثلة، لأن أوامر ALTER من هذا النوع لا تُنسخ متماثلًا. [#18789](https://github.com/ClickHouse/ClickHouse/pull/18789) ([Amos Bird](https://github.com/amosbird)).
* السماح لمحوّل الأعمدة `EXCEPT` بقبول سلسلة نصية كمطابِق للتعبير النمطي. هذا يحل [#18685](https://github.com/ClickHouse/ClickHouse/issues/18685). [#18699](https://github.com/ClickHouse/ClickHouse/pull/18699) ([Amos Bird](https://github.com/amosbird)).
* إصلاح `SimpleAggregateFunction` في `SummingMergeTree`. الآن يعمل مثل `AggregateFunction`. في الإصدارات السابقة، كانت القيم تُجمع معًا بغض النظر عن الدالة التجميعية. هذا يصلح [#18564](https://github.com/ClickHouse/ClickHouse/issues/18564). [#8052](https://github.com/ClickHouse/ClickHouse/issues/8052). [#18637](https://github.com/ClickHouse/ClickHouse/pull/18637) ([Amos Bird](https://github.com/amosbird)). وإصلاح آخر لاستخدام `SimpleAggregateFunction` في `SummingMergeTree`. هذا يصلح [#18676](https://github.com/ClickHouse/ClickHouse/issues/18676). [#18677](https://github.com/ClickHouse/ClickHouse/pull/18677) ([Amos Bird](https://github.com/amosbird)).
* إصلاح خطأ assertion داخل allocator في الحالة التي تكون فيها الوسيطة الأخيرة للدالة bar هي NaN. والآن يُطرَح استثناء عادي من ClickHouse. هذا يصلح [#17876](https://github.com/ClickHouse/ClickHouse/issues/17876). [#18520](https://github.com/ClickHouse/ClickHouse/pull/18520) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح مشكلة في سهولة الاستخدام: عدم وجود سطر جديد بعد رسالة الاستثناء في بعض الأدوات. [#18444](https://github.com/ClickHouse/ClickHouse/pull/18444) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إضافة إمكانية تعديل نوع عمود المفتاح الأساسي وعمود مفتاح partition من `LowCardinality(Type)` إلى `Type` والعكس. وإضافة إمكانية تعديل نوع عمود المفتاح الأساسي من `EnumX ` إلى `IntX`. يصلح [#5604](https://github.com/ClickHouse/ClickHouse/issues/5604). [#18362](https://github.com/ClickHouse/ClickHouse/pull/18362) ([alesapin](https://github.com/alesapin)).
* تنفيذ الوصول إلى الحقول باستخدام `untuple`. [#18133](https://github.com/ClickHouse/ClickHouse/issues/18133). [#18309](https://github.com/ClickHouse/ClickHouse/pull/18309) ([hexiaoting](https://github.com/hexiaoting)).
* السماح بتحليل حقول Array من CSV إذا كانت ممثلة كسلسلة نصية تحتوي على مصفوفة جرى تسلسلها كـ CSV متداخل. مثال: `"[""Hello"", ""world"", ""42"""" TV""]"` سيُحلَّل إلى `['Hello', 'world', '42" TV']`. والسماح بتحليل Array في CSV من سلسلة نصية من دون أقواس إحاطة. مثال: `"'Hello', 'world', '42"" TV'"` سيُحلَّل إلى `['Hello', 'world', '42" TV']`. [#18271](https://github.com/ClickHouse/ClickHouse/pull/18271) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين حساب adaptive granularity لأجزاء MergeTree الواسعة. [#18223](https://github.com/ClickHouse/ClickHouse/pull/18223) ([alesapin](https://github.com/alesapin)).
* أصبح `clickhouse install` يعمل الآن على Mac. كانت المشكلة أنه لا يوجد procfs على هذه المنصة. [#18201](https://github.com/ClickHouse/ClickHouse/pull/18201) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تحسين التلميحات الخاصة بصياغة استعلام `SHOW ...`. [#18183](https://github.com/ClickHouse/ClickHouse/pull/18183) ([Du Chuan](https://github.com/spongedu)).
* دعم دوال تجميع المصفوفات `arrayMin` و`arrayMax` و`arraySum` و`arrayAvg` للأنواع `Int128` و`Int256` و`UInt256`. [#18147](https://github.com/ClickHouse/ClickHouse/pull/18147) ([Maksim Kita](https://github.com/kitaisreal)).
* إضافة `disk` إلى إعدادات التخزين لـ `Set` و`Join`. [#18112](https://github.com/ClickHouse/ClickHouse/pull/18112) ([Grigory Pervakov](https://github.com/GrigoryPervakov)).
* التحكم في الوصول: تتطلب دالة الجدول `merge()` الآن أن يمتلك المستخدم الحالي امتياز `SELECT` على كل جدول يقرأ منه البيانات. يُصلح طلب السحب هذا [#16964](https://github.com/ClickHouse/ClickHouse/issues/16964). [#18104](https://github.com/ClickHouse/ClickHouse/pull/18104) [#17983](https://github.com/ClickHouse/ClickHouse/pull/17983) ([Vitaly Baranov](https://github.com/vitlibar)).
* أصبحت الجداول المؤقتة تظهر الآن في جدولي النظام `system.tables` و`system.columns` فقط ضمن الجلسة التي أُنشئت فيها. كما أُخفيت الآن قاعدة البيانات الداخلية `_temporary_and_external_tables` من جدولي النظام هذين؛ وبدلًا من ذلك، تُعرض الجداول المؤقتة كجداول ذات قاعدة بيانات فارغة مع تعيين الراية `is_temporary`. [#18014](https://github.com/ClickHouse/ClickHouse/pull/18014) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح مشكلة في عرض `clickhouse-client` عند تغيّر حجم نافذة الطرفية. [#18009](https://github.com/ClickHouse/ClickHouse/pull/18009) ([Amos Bird](https://github.com/amosbird)).
* خفض مستوى تفصيل السجل للأحداث عند قطع العميل الاتصال من Warning إلى Information. [#18005](https://github.com/ClickHouse/ClickHouse/pull/18005) ([filimonov](https://github.com/filimonov)).
* إزالة ملفات البيانات الوصفية الفارغة أو التالفة قسرًا من نظام الملفات لـ DiskS3. تُعد S3 ميزة تجريبية. [#17935](https://github.com/ClickHouse/ClickHouse/pull/17935) ([Pavel Kovalenko](https://github.com/Jokser)).
* التحكم في الوصول: لم يعد `allow_introspection_functions=0` يمنع منح الامتيازات لدوال الاستبطان، رغم أنه لا يزال يمنع استخدامها (وسيحتاج الطرف الممنوح إلى ضبط `allow_introspection_functions=1` لنفسه حتى يتمكن من استخدام هذا الامتياز). وبالمثل، فإن `allow_ddl=0` يمنع استخدام أوامر DDL، لكنه لم يعد يمنع منح الامتيازات لها. [#17908](https://github.com/ClickHouse/ClickHouse/pull/17908) ([Vitaly Baranov](https://github.com/vitlibar)).
* تحسين في سهولة الاستخدام: تلميحات لأسماء الأعمدة. [#17112](https://github.com/ClickHouse/ClickHouse/issues/17112). [#17857](https://github.com/ClickHouse/ClickHouse/pull/17857) ([fastio](https://github.com/fastio)).
* إضافة معلومات تشخيصية عندما يحاول جدولان من نوع Merge قراءة بيانات بعضهما البعض. [#17854](https://github.com/ClickHouse/ClickHouse/pull/17854) ([徐炘](https://github.com/weeds085490)).
* إتاحة إمكانية تجاوز قيمة `timeout` للسكريبت الجاري تشغيله باستخدام صورة Docker الخاصة بـ ClickHouse. [#17818](https://github.com/ClickHouse/ClickHouse/pull/17818) ([Guillaume Tassery](https://github.com/YiuRULE)).
* التحقق من القواعد النحوية لتعريفات المحرك في جداول سجل النظام لمنع بعض أخطاء الإعداد. لاحظ أن هذا التحقق النحوي ليس دلاليًا، ما يعني أن أخطاء مثل الأعمدة غير الموجودة أو دوال expression لن تُكتشف إلا عند إنشاء الجدول. [#17739](https://github.com/ClickHouse/ClickHouse/pull/17739) ([Du Chuan](https://github.com/spongedu)).
* أُزيل إطلاق الاستثناء عند تهيئة جدول `RabbitMQ` إذا لم يكن هناك اتصال (إذ ستُجرى إعادة الاتصال في الخلفية). [#17709](https://github.com/ClickHouse/ClickHouse/pull/17709) ([Kseniia Sumarokova](https://github.com/kssenii)).
* عدم تجاهل حدود ذاكرة الخادم أثناء عملية flush الخاصة بـ Buffer. [#17646](https://github.com/ClickHouse/ClickHouse/pull/17646) ([Azat Khuzhin](https://github.com/azat)).
* التحول إلى نسخة مُرقّعة من RocksDB (من ClickHouse-Extras) لإصلاح خطأ use-after-free. [#17643](https://github.com/ClickHouse/ClickHouse/pull/17643) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* أُضيفت إزاحة إلى رسالة الاستثناء في parsing المتوازي. يُصلح هذا [#17457](https://github.com/ClickHouse/ClickHouse/issues/17457). [#17641](https://github.com/ClickHouse/ClickHouse/pull/17641) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* عدم طرح الخطأ "Too many parts" في منتصف استعلام `INSERT`. [#17566](https://github.com/ClickHouse/ClickHouse/pull/17566) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* السماح باستخدام query parameters في عبارة `UPDATE` ضمن استعلام `ALTER`. يُصلح [#10976](https://github.com/ClickHouse/ClickHouse/issues/10976). [#17563](https://github.com/ClickHouse/ClickHouse/pull/17563) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* مُعمِّي الاستعلامات: تجنّب استخدام بعض كلمات SQL المفتاحية كأسماء لمعرّفات. [#17526](https://github.com/ClickHouse/ClickHouse/pull/17526) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تصدير أكبر DDL entry مُنفَّذ حاليًا بواسطة DDLWorker عبر Metric على الخادم. يفيد ذلك في التحقق مما إذا كان DDLWorker عالقًا في مكان ما. [#17464](https://github.com/ClickHouse/ClickHouse/pull/17464) ([Amos Bird](https://github.com/amosbird)).
* تصدير Asynchronous metrics الخاصة بالخيوط الحالية في جميع الخوادم. يفيد ذلك في تتبّع مشكلات مثل [هذه](https://github.com/ClickHouse-Extras/poco/pull/28). [#17463](https://github.com/ClickHouse/ClickHouse/pull/17463) ([Amos Bird](https://github.com/amosbird)).
* تضمين الأعمدة الديناميكية مثل `MATERIALIZED` و `ALIAS` في wildcard query عند تفعيل الإعدادين `asterisk_include_materialized_columns` و `asterisk_include_alias_columns`. [#17462](https://github.com/ClickHouse/ClickHouse/pull/17462) ([Ken Chen](https://github.com/chenziliang)).
* السماح بتحديد [TTL](/ar/reference/engines/table-engines/mergetree-family/mergetree#mergetree-table-ttl) لإزالة الإدخالات القديمة من [جداول سجلّات النظام](/ar/reference/system-tables/index)، باستخدام السمة `<ttl>` في `config.xml`. [#17438](https://github.com/ClickHouse/ClickHouse/pull/17438) ([Du Chuan](https://github.com/spongedu)).
* أصبح للاستعلامات الواردة إلى الخادم عبر بروتوكولي MySQL و PostgreSQL أنواع interface مميزة (يمكن رؤيتها في العمود `interface` من الجدول `system.query_log`): `4` لـ MySQL و`5` لـ PostgreSQL، بدلًا من `1` المستخدم سابقًا، والذي أصبح الآن مخصصًا للبروتوكول native فقط. [#17437](https://github.com/ClickHouse/ClickHouse/pull/17437) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح parsing لعبارة SETTINGS في الاستعلام `INSERT ... SELECT ... SETTINGS`. [#17414](https://github.com/ClickHouse/ClickHouse/pull/17414) ([Azat Khuzhin](https://github.com/azat)).
* احتساب الذاكرة بشكل صحيح في RadixSort. [#17412](https://github.com/ClickHouse/ClickHouse/pull/17412) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إضافة فحص eof في `receiveHello` على الخادم لمنع ظهور الاستثناء `Attempt to read after eof`. [#17365](https://github.com/ClickHouse/ClickHouse/pull/17365) ([Kruglov Pavel](https://github.com/Avogar)).
* تجنّب احتمال حدوث تجاوز سعة المكدس عند تحويل bigint. الأعداد الصحيحة الكبيرة ما تزال تجريبية. [#17269](https://github.com/ClickHouse/ClickHouse/pull/17269) ([flynn](https://github.com/ucasFL)).
* ستعمل الآن فهارس `set` مع `GLOBAL IN`. يُصلح هذا [#17232](https://github.com/ClickHouse/ClickHouse/issues/17232) و[#5576](https://github.com/ClickHouse/ClickHouse/issues/5576). [#17253](https://github.com/ClickHouse/ClickHouse/pull/17253) ([Amos Bird](https://github.com/amosbird)).
* إضافة حدّ لعمليات إعادة توجيه HTTP في الطلبات إلى S3 storage (`s3_max_redirects`). [#17220](https://github.com/ClickHouse/ClickHouse/pull/17220) ([ianton-ru](https://github.com/ianton-ru)).
* عند دمج المُركِّب `-OrNull` مع المُركِّبات `-If` و`-Merge` و`-MergeState` و`-State`، يجب وضع `-OrNull` في البداية. [#16935](https://github.com/ClickHouse/ClickHouse/pull/16935) ([flynn](https://github.com/ucasFL)).
* دعم إعداد وكيل HTTP ونقطة نهاية S3 عبر HTTPS. [#16861](https://github.com/ClickHouse/ClickHouse/pull/16861) ([Pavel Kovalenko](https://github.com/Jokser)).
* أُضيفت مصادقة صحيحة باستخدام متغيرات البيئة و`~/.aws` و`AssumeRole` لعميل S3. [#16856](https://github.com/ClickHouse/ClickHouse/pull/16856) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إضافة المزيد من spans في OpenTelemetry، وإضافة مثال على كيفية تصدير بيانات span إلى Zipkin. [#16535](https://github.com/ClickHouse/ClickHouse/pull/16535) ([Alexander Kuzmenkov](https://github.com/akuzm)).
* قواميس cache: إزالة callbacks والأقفال اللازمة للوصول إليها بالكامل. لم تعد المفاتيح تُقسَّم إلى "غير موجودة" و"منتهية الصلاحية"، بل تُخزَّن في الخريطة نفسها أثناء الاستعلام. [#14958](https://github.com/ClickHouse/ClickHouse/pull/14958) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح `fsync_part_directory`/`fsync_after_insert`/`in_memory_parts_insert_sync` التي لم تعمل مطلقًا (ميزة تجريبية). [#18845](https://github.com/ClickHouse/ClickHouse/pull/18845) ([Azat Khuzhin](https://github.com/azat)).
* السماح باستخدام المحرّك `Atomic` لقاعدة البيانات المتداخلة الخاصة بالمحرّك `MaterializeMySQL`. [#14849](https://github.com/ClickHouse/ClickHouse/pull/14849) ([tavplubix](https://github.com/tavplubix)).

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

* إصلاح المشكلة التي قد تتسبب، في حالات نادرة جدًا، في توقف الخادم عن قبول الاتصالات. [#17542](https://github.com/ClickHouse/ClickHouse/pull/17542) (Amos Bird, [alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح تحليل الفهرس للدوال الثنائية ذات الوسيطة الثابتة، والذي كان يؤدي إلى نتائج استعلام خاطئة. يُصلح هذا [#18364](https://github.com/ClickHouse/ClickHouse/issues/18364). [#18373](https://github.com/ClickHouse/ClickHouse/pull/18373) ([Amos Bird](https://github.com/amosbird)).
* إصلاح احتمال حدوث تحليل فهرس غير صحيح عندما تختلف أنواع مقارنة الفهرس. يُصلح هذا [#17122](https://github.com/ClickHouse/ClickHouse/issues/17122). [#17145](https://github.com/ClickHouse/ClickHouse/pull/17145) ([Amos Bird](https://github.com/amosbird)).
* تعطيل الكتابة باستخدام AIO أثناء عمليات الدمج، لأنه قد يؤدي في حالات نادرة للغاية إلى تلف البيانات في أعمدة المفتاح الأساسي أثناء الدمج. [#18481](https://github.com/ClickHouse/ClickHouse/pull/18481) ([alesapin](https://github.com/alesapin)).
* تقييد عمليات الدمج من wide إلى compact parts. وفي حالة vertical merge، كان ذلك يؤدي إلى جزء ناتج تالف. [#18381](https://github.com/ClickHouse/ClickHouse/pull/18381) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح احتمال عدم اكتمال نتيجة الاستعلام أثناء القراءة من `MergeTree*` في حالة read backoff (الرسالة `<Debug> MergeTreeReadPool: Will lower number of threads` في السجلات). أُدخل هذا في [#16423](https://github.com/ClickHouse/ClickHouse/issues/16423). يُصلح [#18137](https://github.com/ClickHouse/ClickHouse/issues/18137). [#18216](https://github.com/ClickHouse/ClickHouse/pull/18216) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خطأ use after free في مكتبة `rocksdb`. [#18862](https://github.com/ClickHouse/ClickHouse/pull/18862) ([sundyli](https://github.com/sundy-li)).
* إصلاح مشكلة القراءة اللانهائية من file بتنسيق `ORC` (أُدخلت في [#10580](https://github.com/ClickHouse/ClickHouse/issues/10580)). يُصلح [#19095](https://github.com/ClickHouse/ClickHouse/issues/19095). [#19134](https://github.com/ClickHouse/ClickHouse/pull/19134) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خطأ في merge tree data writer قد يؤدي إلى marks بحجم أكبر من حجم granularity الثابت. يُصلح [#18913](https://github.com/ClickHouse/ClickHouse/issues/18913). [#19123](https://github.com/ClickHouse/ClickHouse/pull/19123) ([alesapin](https://github.com/alesapin)).
* إصلاح خطأ عند بدء التشغيل، حيث لم يكن ClickHouse قادرًا على قراءة compression codec من `LowCardinality(Nullable(...))` ويطرح الاستثناء `Attempt to read after EOF`. يُصلح [#18340](https://github.com/ClickHouse/ClickHouse/issues/18340). [#19101](https://github.com/ClickHouse/ClickHouse/pull/19101) ([alesapin](https://github.com/alesapin)).
* تقييد استعلامات `MODIFY TTL` لجداول `MergeTree` التي أُنشئت باستخدام الصياغة القديمة. سابقًا كان الاستعلام ينجح، لكنه فعليًا لم يكن له أي تأثير. [#19064](https://github.com/ClickHouse/ClickHouse/pull/19064) ([Anton Popov](https://github.com/CurtizJ)).
* التأكد من أن `groupUniqArray` يعيد النوع الصحيح للوسيطة من نوع Enum. يُغلق هذا [#17875](https://github.com/ClickHouse/ClickHouse/issues/17875). [#19019](https://github.com/ClickHouse/ClickHouse/pull/19019) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح الخطأ المحتمل `Expected single dictionary argument for function` عند استخدام الدالة `ignore` مع وسيطة من نوع `LowCardinality`. يُصلح [#14275](https://github.com/ClickHouse/ClickHouse/issues/14275). [#19016](https://github.com/ClickHouse/ClickHouse/pull/19016) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح إدراج عمود `LowCardinality` في جدول يستخدم المحرك `TinyLog`. يُصلح [#18629](https://github.com/ClickHouse/ClickHouse/issues/18629). [#19010](https://github.com/ClickHouse/ClickHouse/pull/19010) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تحاول عملية Join تجسيد الأعمدة الثابتة، لكن الشيفرة تحتاجها في مواضع أخرى. [#18982](https://github.com/ClickHouse/ClickHouse/pull/18982) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* تعطيل `optimize_move_functions_out_of_any` لأن هذا التحسين ليس صحيحًا دائمًا. هذا يُغلق [#18051](https://github.com/ClickHouse/ClickHouse/issues/18051). هذا يُغلق [#18973](https://github.com/ClickHouse/ClickHouse/issues/18973). [#18981](https://github.com/ClickHouse/ClickHouse/pull/18981) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح الاستثناء المحتمل `QueryPipeline stream: different number of columns` الناتج عن دمج خطوات `Expression` في خطة الاستعلام. يُصلح [#18190](https://github.com/ClickHouse/ClickHouse/issues/18190). [#18980](https://github.com/ClickHouse/ClickHouse/pull/18980) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح حالة توقف متبادل نادرة جدًا عند الإنهاء. [#18977](https://github.com/ClickHouse/ClickHouse/pull/18977) ([tavplubix](https://github.com/tavplubix)).
* إصلاح السلوك غير الصحيح عندما يزيل الاستعلام `ALTER TABLE ... DROP PART 'part_name'` جميع كتل إزالة التكرار الخاصة بالقسم بالكامل. يُصلح [#18874](https://github.com/ClickHouse/ClickHouse/issues/18874). [#18969](https://github.com/ClickHouse/ClickHouse/pull/18969) ([alesapin](https://github.com/alesapin)).
* يجب أن تؤدي عملية Attach partition إلى إعادة تعيين mutation. [#18804](https://github.com/ClickHouse/ClickHouse/issues/18804). [#18935](https://github.com/ClickHouse/ClickHouse/pull/18935) ([fastio](https://github.com/fastio)).
* إصلاح مشكلة في `bitmapOrCardinality` قد تؤدي إلى فكّ مرجع nullptr. هذا يُغلق [#18911](https://github.com/ClickHouse/ClickHouse/issues/18911). [#18912](https://github.com/ClickHouse/ClickHouse/pull/18912) ([sundyli](https://github.com/sundy-li)).
* إصلاح احتمال حدوث تعليق عند الإنهاء في `clickhouse-local`. هذا يُصلح [#18891](https://github.com/ClickHouse/ClickHouse/issues/18891). [#18893](https://github.com/ClickHouse/ClickHouse/pull/18893) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* أُعيدت كتابة الاستعلامات الموجّهة إلى قواعد البيانات الخارجية (MySQL و ODBC و JDBC) بشكل غير صحيح إذا وُجد تعبير بصيغة `x IN table`. هذا يُصلح [#9756](https://github.com/ClickHouse/ClickHouse/issues/9756). [#18876](https://github.com/ClickHouse/ClickHouse/pull/18876) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح المُركِّب \*If مع دالة أحادية المعامل وأنواع Nullable. [#18806](https://github.com/ClickHouse/ClickHouse/pull/18806) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح المشكلة التي قد تؤدي إلى رفض الخادم لعمليات INSERT الموزعة غير المتزامنة إذا كان الإعداد `network_compression_method` مضبوطًا على مستوى عام على قيمة غير افتراضية. هذا يُصلح [#18741](https://github.com/ClickHouse/ClickHouse/issues/18741). [#18776](https://github.com/ClickHouse/ClickHouse/pull/18776) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح الخطأ `Attempt to read after eof` عند محاولة `CAST` للقيمة `NULL` من `Nullable(String)` إلى `Nullable(Decimal(P, S))`. تُرجِع الدالة `CAST` الآن القيمة `NULL` عندما يتعذر عليها تحليل قيمة عشرية من سلسلة نصية Nullable. يُصلح [#7690](https://github.com/ClickHouse/ClickHouse/issues/7690). [#18718](https://github.com/ClickHouse/ClickHouse/pull/18718) ([Winter Zhang](https://github.com/zhang2014)).
* إصلاح مشكلة طفيفة في التسجيل. [#18717](https://github.com/ClickHouse/ClickHouse/pull/18717) ([sundyli](https://github.com/sundy-li)).
* إصلاح إزالة الأجزاء الفارغة في جداول `ReplicatedMergeTree` المُنشأة باستخدام الصياغة القديمة. يُصلح هذا [#18582](https://github.com/ClickHouse/ClickHouse/issues/18582). [#18614](https://github.com/ClickHouse/ClickHouse/pull/18614) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح الخلل السابق عند تجاوز قيمة التاريخ الحد المسموح به مع قيم مختلفة. تم تقييد قيمة Date تقييدًا صارمًا عند "2106-02-07"، وتحويل أي تاريخ أكبر من "2106-02-07" إلى القيمة 0. [#18565](https://github.com/ClickHouse/ClickHouse/pull/18565) ([hexiaoting](https://github.com/hexiaoting)).
* إضافة دعم نوع البيانات FixedString للنسخ المتماثل من MySQL. ويُعد النسخ المتماثل من MySQL ميزة تجريبية. تُصلح هذه الرقعة [#18450](https://github.com/ClickHouse/ClickHouse/issues/18450) كما تُصلح أيضًا [#6556](https://github.com/ClickHouse/ClickHouse/issues/6556). [#18553](https://github.com/ClickHouse/ClickHouse/pull/18553) ([awesomeleo](https://github.com/awesomeleo)).
* إصلاح خطأ محتمل `Pipeline stuck` عند استخدام `ORDER BY` بعد استعلام فرعي يتضمن عملية `join` من النوع `RIGHT` أو `FULL`. [#18550](https://github.com/ClickHouse/ClickHouse/pull/18550) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* إصلاح خلل قد يؤدي إلى تعليق استعلامات `ALTER` بعد إيقاف عملية mutation المقابلة. اكتُشف ذلك بواسطة thread fuzzer. [#18518](https://github.com/ClickHouse/ClickHouse/pull/18518) ([alesapin](https://github.com/alesapin)).
* دعم صحيح لـ 12AM في الدالة `parseDateTimeBestEffort`. يُصلح هذا [#18402](https://github.com/ClickHouse/ClickHouse/issues/18402). [#18449](https://github.com/ClickHouse/ClickHouse/pull/18449) ([vladimir-golovchenko](https://github.com/vladimir-golovchenko)).
* إصلاح الخطأ `value is too short` عند تنفيذ الدوال `toType(...)` (`toDate`, `toUInt32`, إلخ) مع وسيطة من النوع `Nullable(String)`. تُرجع هذه الدوال الآن `NULL` عند أخطاء التحليل بدلًا من إطلاق استثناء. يُصلح هذا [#7673](https://github.com/ClickHouse/ClickHouse/issues/7673). [#18445](https://github.com/ClickHouse/ClickHouse/pull/18445) ([tavplubix](https://github.com/tavplubix)).
* إصلاح السلوك غير المتوقع لـ `SHOW TABLES`. [#18431](https://github.com/ClickHouse/ClickHouse/pull/18431) ([fastio](https://github.com/fastio)).
* إصلاح خلل في المُركِّب -SimpleState كان يولّد نوع وسيطة ونوع إرجاع غير متوافقين. [#18404](https://github.com/ClickHouse/ClickHouse/pull/18404) ([Amos Bird](https://github.com/amosbird)).
* إصلاح احتمال حدوث حالة تسابق عند الاستخدام المتزامن لجداول `Set` أو `Join` واستعلامات `SELECT` من `system.tables`. [#18385](https://github.com/ClickHouse/ClickHouse/pull/18385) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح تعبئة الجدول `system.settings_profile_elements`. يُصلح طلب السحب هذا [#18231](https://github.com/ClickHouse/ClickHouse/issues/18231). [#18379](https://github.com/ClickHouse/ClickHouse/pull/18379) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح أعطال محتملة في الدوال التجميعية مع المُركِّب `Distinct` عند استخدام التجميع ثنائي المستوى. يُصلح هذا [#17682](https://github.com/ClickHouse/ClickHouse/issues/17682). [#18365](https://github.com/ClickHouse/ClickHouse/pull/18365) ([Anton Popov](https://github.com/CurtizJ)).
* أُصلحت مشكلة تحدث عندما يتعذر على الخادم الوصول إلى عملية `clickhouse-odbc-bridge` على الأجهزة ذات مكدس IPv4/IPv6 المزدوج؛ وأُصلحت مشكلة كانت تظهر عند تنفيذ تحديثات قاموس ODBC باستخدام استعلامات غير صحيحة و/أو تتسبب في تعطل عملية `odbc-bridge`؛ وقد يُغلق هذا [#14489](https://github.com/ClickHouse/ClickHouse/issues/14489). [#18278](https://github.com/ClickHouse/ClickHouse/pull/18278) ([Denis Glazachev](https://github.com/traceon)).
* التحكم في الوصول: يمكن الآن تنفيذ `SELECT count() FROM table` إذا كان لدى المستخدم حق الوصول إلى عمود واحد على الأقل من الجدول. يُصلح طلب السحب هذا [#10639](https://github.com/ClickHouse/ClickHouse/issues/10639). [#18233](https://github.com/ClickHouse/ClickHouse/pull/18233) ([Vitaly Baranov](https://github.com/vitlibar)).
* التحكم في الوصول: يتطلب `SELECT JOIN` الآن امتياز `SELECT` على كل جدول من الجداول المنضمة. يُصلح طلب السحب هذا [#17654](https://github.com/ClickHouse/ClickHouse/issues/17654). [#18232](https://github.com/ClickHouse/ClickHouse/pull/18232) ([Vitaly Baranov](https://github.com/vitlibar)).
* إصلاح مقارنة المفاتيح بين النوعين Enum و Int. يُصلح هذا [#17989](https://github.com/ClickHouse/ClickHouse/issues/17989). [#18214](https://github.com/ClickHouse/ClickHouse/pull/18214) ([Amos Bird](https://github.com/amosbird)).
* النسخ المتماثل من MySQL (ميزة تجريبية). يُصلح [#18186](https://github.com/ClickHouse/ClickHouse/issues/18186) و[#16372](https://github.com/ClickHouse/ClickHouse/issues/16372)، ويُصلح مشكلة تحويل المفتاح الفريد في محرك قاعدة البيانات MaterializeMySQL. [#18211](https://github.com/ClickHouse/ClickHouse/pull/18211) ([Winter Zhang](https://github.com/zhang2014)).
* إصلاح عدم الاتساق في الاستعلامات التي تتضمن كلًّا من `WITH FILL` و `WITH TIES` [#17466](https://github.com/ClickHouse/ClickHouse/issues/17466). [#18188](https://github.com/ClickHouse/ClickHouse/pull/18188) ([hexiaoting](https://github.com/hexiaoting)).
* إصلاح إدراج صف بقيمة افتراضية عند حدوث خطأ تحليل في العمود الأخير. يُصلح [#17712](https://github.com/ClickHouse/ClickHouse/issues/17712). [#18182](https://github.com/ClickHouse/ClickHouse/pull/18182) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* إصلاح الخطأ `Unknown setting profile` عند محاولة تعيين ملف إعدادات. [#18167](https://github.com/ClickHouse/ClickHouse/pull/18167) ([tavplubix](https://github.com/tavplubix)).
* إصلاح خطأ يحدث عندما لا يؤدي الاستعلام `MODIFY COLUMN ... REMOVE TTL` فعليًا إلى إزالة TTL الخاص بالعمود. [#18130](https://github.com/ClickHouse/ClickHouse/pull/18130) ([alesapin](https://github.com/alesapin)).
* أُصلح الخطأ `std::out_of_range: basic_string` أثناء تحليل عنوان URL في S3. [#18059](https://github.com/ClickHouse/ClickHouse/pull/18059) ([Vladimir Chebotarev](https://github.com/excitoon)).
* إصلاح المقارنة بين `DateTime64` و `Date`. يُصلح [#13804](https://github.com/ClickHouse/ClickHouse/issues/13804) و [#11222](https://github.com/ClickHouse/ClickHouse/issues/11222). ... [#18050](https://github.com/ClickHouse/ClickHouse/pull/18050) ([Vasily Nemkov](https://github.com/Enmk)).
* النسخ المتماثل من MySQL (ميزة تجريبية): يُصلح [#15187](https://github.com/ClickHouse/ClickHouse/issues/15187) و[#17912](https://github.com/ClickHouse/ClickHouse/issues/17912)، ويُصلح دعم تحويل فهرس البادئة في MySQL لـ MaterializeMySQL. [#17944](https://github.com/ClickHouse/ClickHouse/pull/17944) ([Winter Zhang](https://github.com/zhang2014)).
* عند تهيئة تدوير سجل الخادم باستخدام المعامل `logger.size` بقيمة رقمية أكبر من 2^32، لم تكن السجلات تُدوَّر بشكل صحيح. تم إصلاح ذلك. [#17905](https://github.com/ClickHouse/ClickHouse/pull/17905) ([Alexander Kuzmenkov](https://github.com/akuzm)).
* كان تحسين الاستعلامات البسيطة يُنتج نتيجة غير صحيحة إذا كان الاستعلام يحتوي على ARRAY JOIN (أي إن الاستعلام في الواقع ليس بسيطًا). [#17887](https://github.com/ClickHouse/ClickHouse/pull/17887) ([sundyli](https://github.com/sundy-li)).
* إصلاح احتمال حدوث segfault في الدالة التجميعية `topK`. يُغلق هذا [#17404](https://github.com/ClickHouse/ClickHouse/issues/17404). [#17845](https://github.com/ClickHouse/ClickHouse/pull/17845) ([Maksim Kita](https://github.com/kitaisreal)).
* WAL (ميزة تجريبية): لا تستعِد الأجزاء من WAL إذا كان `in_memory_parts_enable_wal` معطّلًا. [#17802](https://github.com/ClickHouse/ClickHouse/pull/17802) ([detailyang](https://github.com/detailyang)).
* كانت رسالة Exception المتعلقة بالحد الأقصى لحجم الجدول المراد حذفه تُعرَض بشكل غير صحيح. [#17764](https://github.com/ClickHouse/ClickHouse/pull/17764) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح احتمال حدوث segfault عند عدم توفر مساحة كافية أثناء الإدراج في جدول `Distributed`. [#17737](https://github.com/ClickHouse/ClickHouse/pull/17737) ([tavplubix](https://github.com/tavplubix)).
* إصلاح المشكلة التي كانت تتسبب في فشل ClickHouse في استئناف الاتصال بخوادم MySQL. [#17681](https://github.com/ClickHouse/ClickHouse/pull/17681) ([Alexander Kazakov](https://github.com/Akazz)).
* Windows: تم إصلاح الخطأ `Function not implemented` عند تنفيذ استعلام `RENAME` في قاعدة بيانات `Atomic` مع تشغيل ClickHouse على Windows Subsystem for Linux. يُصلح هذا [#17661](https://github.com/ClickHouse/ClickHouse/issues/17661). [#17664](https://github.com/ClickHouse/ClickHouse/pull/17664) ([tavplubix](https://github.com/tavplubix)).
* كان من الممكن تحديد ما إذا كانت المجموعة تعتمد نسخًا متماثلًا دائريًا (ومتقاطعًا) بشكل غير صحيح عند تنفيذ استعلام `ON CLUSTER` بسبب race condition عندما تكون قيمة `pool_size` > 1. تم إصلاح ذلك. [#17640](https://github.com/ClickHouse/ClickHouse/pull/17640) ([tavplubix](https://github.com/tavplubix)).
* إصلاح مشكلة ظهور جدول `system.stack_trace` فارغًا عندما يعمل الخادم في وضع daemon. [#17630](https://github.com/ClickHouse/ClickHouse/pull/17630) ([Amos Bird](https://github.com/amosbird)).
* كان من الممكن تسجيل Exception ‏`fmt::v7::format_error` في الخلفية لِـ MergeTree tables. يُصلح هذا [#17613](https://github.com/ClickHouse/ClickHouse/issues/17613). [#17615](https://github.com/ClickHouse/ClickHouse/pull/17615) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* عند استخدام clickhouse-client في interactive mode مع استعلامات multiline، كان التعليق أحادي السطر يمتدّ بالخطأ حتى نهاية الاستعلام. يُصلح هذا [#13654](https://github.com/ClickHouse/ClickHouse/issues/13654). [#17565](https://github.com/ClickHouse/ClickHouse/pull/17565) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح تعليق استعلام alter عندما تكون mutation المقابلة قد أُوقفت على replica مختلفة. يُصلح هذا [#16953](https://github.com/ClickHouse/ClickHouse/issues/16953). [#17499](https://github.com/ClickHouse/ClickHouse/pull/17499) ([alesapin](https://github.com/alesapin)).
* إصلاح مشكلة في احتساب الذاكرة عندما كان ClickHouse يقلّل تقدير حجم mark cache. قد يحدث ذلك عند وجود عدد كبير من الملفات الصغيرة جدًا التي تحتوي على marks. [#17496](https://github.com/ClickHouse/ClickHouse/pull/17496) ([alesapin](https://github.com/alesapin)).
* إصلاح `ORDER BY` عند تفعيل الإعداد `optimize_redundant_functions_in_order_by`. [#17471](https://github.com/ClickHouse/ClickHouse/pull/17471) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح التكرارات بعد `DISTINCT` التي كان من الممكن أن تحدث بسبب تحسين غير صحيح. يُصلح [#17294](https://github.com/ClickHouse/ClickHouse/issues/17294). [#17296](https://github.com/ClickHouse/ClickHouse/pull/17296) ([li chengxiang](https://github.com/chengxianglibra)). [#17439](https://github.com/ClickHouse/ClickHouse/pull/17439) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* تم إصلاح الارتفاع في استخدام CPU في المهام الخلفية لجداول \*MergeTree. [#17416](https://github.com/ClickHouse/ClickHouse/pull/17416) ([tavplubix](https://github.com/tavplubix)).
* إصلاح احتمال حدوث crash أثناء القراءة من جدول `JOIN` مع الأنواع `LowCardinality`. يُصلح [#17228](https://github.com/ClickHouse/ClickHouse/issues/17228). [#17397](https://github.com/ClickHouse/ClickHouse/pull/17397) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* النسخ المتماثل من MySQL (ميزة تجريبية): يُصلح [#16835](https://github.com/ClickHouse/ClickHouse/issues/16835) مشكلة عدم تطابق header مع عبارة SHOW في MySQL. [#17366](https://github.com/ClickHouse/ClickHouse/pull/17366) ([Winter Zhang](https://github.com/zhang2014)).
* إصلاح مشكلة في الدوال غير الحتمية مع مُحسِّن predicate. يُصلح هذا [#17244](https://github.com/ClickHouse/ClickHouse/issues/17244). [#17273](https://github.com/ClickHouse/ClickHouse/pull/17273) ([Winter Zhang](https://github.com/zhang2014)).
* إصلاح احتمال ظهور الخطأ `Unexpected packet Data received from client` في الاستعلامات الموزعة مع `LIMIT`. [#17254](https://github.com/ClickHouse/ClickHouse/pull/17254) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح إبطال فهرس Set عند وجود أعمدة const في الاستعلام الفرعي. يُصلح هذا [#17246](https://github.com/ClickHouse/ClickHouse/issues/17246). [#17249](https://github.com/ClickHouse/ClickHouse/pull/17249) ([Amos Bird](https://github.com/amosbird)).
* clickhouse-copier: إصلاح للجداول غير المُقسَّمة إلى partition [#15235](https://github.com/ClickHouse/ClickHouse/issues/15235). [#17248](https://github.com/ClickHouse/ClickHouse/pull/17248) ([Qi Chen](https://github.com/kaka11chen)).
* تم إصلاح احتمال عدم عمل mutations للأجزاء المخزنة على قرص S3 (ميزة تجريبية). [#17227](https://github.com/ClickHouse/ClickHouse/pull/17227) ([Pavel Kovalenko](https://github.com/Jokser)).
* إصلاح خطأ في الدالة `fuzzBits`، المشكلة ذات الصلة: [#16980](https://github.com/ClickHouse/ClickHouse/issues/16980). [#17051](https://github.com/ClickHouse/ClickHouse/pull/17051) ([hexiaoting](https://github.com/hexiaoting)).
* إصلاح `optimize_distributed_group_by_sharding_key` للاستعلام الذي يحتوي على OFFSET فقط. [#16996](https://github.com/ClickHouse/ClickHouse/pull/16996) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح الاستعلامات من جداول `Merge` على جداول `Distributed` مع عمليات JOIN. [#16993](https://github.com/ClickHouse/ClickHouse/pull/16993) ([Azat Khuzhin](https://github.com/azat)).
* إصلاح تحسين ORDER BY مع الدوال الرتيبة. يُصلح [#16107](https://github.com/ClickHouse/ClickHouse/issues/16107). [#16956](https://github.com/ClickHouse/ClickHouse/pull/16956) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح المقارنة غير الصحيحة للأنواع `DateTime64` ذات scale المختلفة. يُصلح [#16655](https://github.com/ClickHouse/ClickHouse/issues/16655) ... [#16952](https://github.com/ClickHouse/ClickHouse/pull/16952) ([Vasily Nemkov](https://github.com/Enmk)).
* إصلاح تحسين GROUP BY عند تفعيل الإعداد `optimize_aggregators_of_group_by_keys` ومع عمليات JOIN. يعالج [#12604](https://github.com/ClickHouse/ClickHouse/issues/12604). [#16951](https://github.com/ClickHouse/ClickHouse/pull/16951) ([Anton Popov](https://github.com/CurtizJ)).
* إصلاح طفيف في استعلام SHOW ACCESS. [#16866](https://github.com/ClickHouse/ClickHouse/pull/16866) ([tavplubix](https://github.com/tavplubix)).
* إصلاح السلوك عند تفعيل الإعداد `optimize_trivial_count_query` مع شرط التقسيم. [#16767](https://github.com/ClickHouse/ClickHouse/pull/16767) ([Azat Khuzhin](https://github.com/azat)).
* إرجاع عدد الصفوف المتأثرة لاستعلامات INSERT عبر بروتوكول MySQL wire. كان ClickHouse يعيد دائمًا القيمة 0 سابقًا، وقد تم إصلاح ذلك. يعالج [#16605](https://github.com/ClickHouse/ClickHouse/issues/16605). [#16715](https://github.com/ClickHouse/ClickHouse/pull/16715) ([Winter Zhang](https://github.com/zhang2014)).
* إصلاح السلوك غير المتسق الذي يسببه `select_sequential_consistency` في استعلام العدّ البسيط المُحسَّن وجداول النظام. [#16309](https://github.com/ClickHouse/ClickHouse/pull/16309) ([Hao Chen](https://github.com/haoch)).
* إصدار خطأ عندما يعمل محوِّل الأعمدة `REPLACE` على عمود غير موجود. [#16183](https://github.com/ClickHouse/ClickHouse/pull/16183) ([hexiaoting](https://github.com/hexiaoting)).
* رفع استثناء إذا لم يكن تعبير ON في RIGH|FULL JOIN من نوع equi-join. [#15162](https://github.com/ClickHouse/ClickHouse/pull/15162) ([Artem Zuikov](https://github.com/4ertus2)).

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

* إضافة فحص سلامة بسيط لملف ClickHouse التنفيذي. يتيح ذلك اكتشاف التلف الناتج عن عتاد معيب (مثل تآكل البتات في وسائط التخزين أو انقلاب البتات في RAM). [#18811](https://github.com/ClickHouse/ClickHouse/pull/18811) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تغيير `OpenSSL` إلى `BoringSSL`. يتيح ذلك تجنب المشكلات المتعلقة بـ sanitizers. يُصلح هذا [#12490](https://github.com/ClickHouse/ClickHouse/issues/12490). يُصلح هذا [#17502](https://github.com/ClickHouse/ClickHouse/issues/17502). يُصلح هذا [#12952](https://github.com/ClickHouse/ClickHouse/issues/12952). [#18129](https://github.com/ClickHouse/ClickHouse/pull/18129) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تبسيط سكربت التهيئة `Sys/V`. لم يكن يعمل على Ubuntu 12.04 أو الإصدارات الأقدم. [#17428](https://github.com/ClickHouse/ClickHouse/pull/17428) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسينات متعددة على سكربت `./clickhouse install`. [#17421](https://github.com/ClickHouse/ClickHouse/pull/17421) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* يمكن لـ ClickHouse الآن أن يتظاهر بأنه ZooKeeper وهمي. حاليًا، تنفيذ التخزين ليس سوى جدول hash داخل الذاكرة، كما أن الخادم يدعم بروتوكول ZooKeeper جزئيًا. [#16877](https://github.com/ClickHouse/ClickHouse/pull/16877) ([alesapin](https://github.com/alesapin)).
* إصلاح إزالة watches الميتة في TestKeeperStorage ‏(محاكاة لـ ZooKeeper). [#18065](https://github.com/ClickHouse/ClickHouse/pull/18065) ([alesapin](https://github.com/alesapin)).
* إضافة الأمر `SYSTEM SUSPEND` لحقن الأعطال. يمكن استخدامه لتسهيل اختبارات failover. يُغلق هذا [#15979](https://github.com/ClickHouse/ClickHouse/issues/15979). [#18850](https://github.com/ClickHouse/ClickHouse/pull/18850) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إنشاء معرّف build عندما يكون ClickHouse مرتبطًا مع `lld`. وقد تبيّن أن `lld` لا ينشئه افتراضيًا على جهازي. يُستخدم معرّف build في تقارير crash وعمليات introspection. [#18808](https://github.com/ClickHouse/ClickHouse/pull/18808) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* إصلاح أخطاء shellcheck في فحص Style check. [#18566](https://github.com/ClickHouse/ClickHouse/pull/18566) ([Ilya Yatsishin](https://github.com/qoega)).
* تحديث معلومات المناطق الزمنية إلى 2020e. [#18531](https://github.com/ClickHouse/ClickHouse/pull/18531) ([alesapin](https://github.com/alesapin)).
* إصلاح تحذيرات codespell. تقسيم فحوصات التنسيق إلى أجزاء منفصلة. تحديث صورة Docker الخاصة بفحوصات التنسيق. [#18463](https://github.com/ClickHouse/ClickHouse/pull/18463) ([Ilya Yatsishin](https://github.com/qoega)).
* فحص آلي لاكتشاف بقايا علامات التعارض في الوثائق. [#18332](https://github.com/ClickHouse/ClickHouse/pull/18332) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تمكين Thread Fuzzer لفحص flaky في stateless tests. [#18299](https://github.com/ClickHouse/ClickHouse/pull/18299) ([alesapin](https://github.com/alesapin)).
* عدم استخدام الدالة غير thread-safe ‏`strerror`. [#18204](https://github.com/ClickHouse/ClickHouse/pull/18204) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحديث إجراء سير العمل `anchore/scan-action@main` (نُقل من `master` إلى `main`). [#18192](https://github.com/ClickHouse/ClickHouse/pull/18192) ([Stig Bakken](https://github.com/stigsb)).
* ينفّذ `clickhouse-test` الآن عمليتي DROP/CREATE لقواعد البيانات مع timeout. [#18098](https://github.com/ClickHouse/ClickHouse/pull/18098) ([alesapin](https://github.com/alesapin)).
* تم تمكين الدعم التجريبي لإطار العمل Pytest للاختبارات الوظيفية عديمة الحالة. [#17902](https://github.com/ClickHouse/ClickHouse/pull/17902) ([Ivan](https://github.com/abyss7)).
* نستخدم الآن إصدارًا أحدث من docker daemon في اختبارات التكامل. [#17671](https://github.com/ClickHouse/ClickHouse/pull/17671) ([alesapin](https://github.com/alesapin)).
* إرسال معلومات عن البنية الرسمية والذاكرة وCPU ومساحة القرص الحرة إلى Sentry إذا كانت مُمكّنة. وتُعد Sentry ميزة اختيارية لمساعدة مطوري ClickHouse. يُغلق هذا [#17279](https://github.com/ClickHouse/ClickHouse/issues/17279). [#17543](https://github.com/ClickHouse/ClickHouse/pull/17543) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* كانت هناك قيمة لمتغير غير مهيّأة في شيفرة clickhouse-copier. [#17363](https://github.com/ClickHouse/ClickHouse/pull/17363) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح [أحد تقارير MSan](https://clickhouse-test-reports.s3.yandex.net/17309/065cd002578f2e8228f12a2744bd40c970065e0c/stress_test_\(memory\)/stderr.log) من [#17309](https://github.com/ClickHouse/ClickHouse/issues/17309). [#17344](https://github.com/ClickHouse/ClickHouse/pull/17344) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* إصلاح مشكلة IPv6 في مكتبة Arrow Flight. راجع [التعليقات](https://github.com/ClickHouse/ClickHouse/pull/16243#issuecomment-720830294) لمزيد من التفاصيل. [#16664](https://github.com/ClickHouse/ClickHouse/pull/16664) ([Zhanna](https://github.com/FawnD2)).
* إضافة مكتبة تستبدل بعض دوال `libc` بمصائد تؤدي إلى إنهاء العملية. [#16366](https://github.com/ClickHouse/ClickHouse/pull/16366) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* توفير معلومات تشخيصية في سجلات الخادم عند حدوث تجاوز لسعة المكدس، مع إرسال رسالة خطأ إلى clickhouse-client. يُغلق هذا [#14840](https://github.com/ClickHouse/ClickHouse/issues/14840). [#16346](https://github.com/ClickHouse/ClickHouse/pull/16346) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* يمكننا الآن تشغيل معظم الاختبارات الوظيفية عديمة الحالة بالتوازي. [#15236](https://github.com/ClickHouse/ClickHouse/pull/15236) ([alesapin](https://github.com/alesapin)).
* إصلاح تلف في فك ضغط snappy في `librdkafka` (كانت المشكلة تظهر فقط في البنيات التي تستخدم gcc10، لكن البنيات الرسمية تستخدم clang بالفعل، لذا فإن الإصدارات الرسمية الحديثة على الأقل غير متأثرة). [#18053](https://github.com/ClickHouse/ClickHouse/pull/18053) ([Azat Khuzhin](https://github.com/azat)).
* إذا أُنهي الخادم بواسطة OOM killer، فستُطبع رسالة في السجل. [#13516](https://github.com/ClickHouse/ClickHouse/pull/13516) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* PODArray: تجنّب استدعاء memcpy باستخدام الوسيطات (nullptr, 0) (إصلاح تقرير UBSan). يُصلح هذا [#18525](https://github.com/ClickHouse/ClickHouse/issues/18525). [#18526](https://github.com/ClickHouse/ClickHouse/pull/18526) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* تحسين طفيف لربط مسارات ZooKeeper داخل DDLWorker. [#17767](https://github.com/ClickHouse/ClickHouse/pull/17767) ([Bharat Nallan](https://github.com/bharatnc)).
* السماح بإعادة تحميل الرموز من ملف debug. ويُصلح طلب السحب هذا أيضًا مشكلة في build-id. [#17637](https://github.com/ClickHouse/ClickHouse/pull/17637) ([Amos Bird](https://github.com/amosbird)).

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