---
title: "سجل تغييرات API فريقي"
description: "كل تغيير في REST API فريقي، إصداراً بإصدار: ما أُضيف، وما تغيّر، وما حُذف، وما على تكاملك أن يفعله."
url: https://fareeqy.com/api/v1/docs/changelog
language: ar
---

للمطوّرين

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

كل إصدار وما حمله. المواصفة تصف الواجهة كما هي اليوم ولا تتذكر ما كانت عليه، وهذه الصفحة هي تلك الذاكرة.

الإصدار الحالي v1.3.0

المحتويات

في هذه الصفحة

-   v1.3.0
-   v1.2.0
-   v1.1.0
-   v1.0.0

المسارات

-   [الحساب](https://fareeqy.com/api/v1/docs/account)
-   [الأحداث](https://fareeqy.com/api/v1/docs/events)
-   [المشاريع](https://fareeqy.com/api/v1/docs/projects)
-   [الأعضاء](https://fareeqy.com/api/v1/docs/members)
-   [قوائم المهام](https://fareeqy.com/api/v1/docs/task-lists)
-   [المهام](https://fareeqy.com/api/v1/docs/tasks)
-   [التعليقات](https://fareeqy.com/api/v1/docs/comments)
-   [المجلس](https://fareeqy.com/api/v1/docs/discussions)
-   [الملفات](https://fareeqy.com/api/v1/docs/files)
-   [المجلدات](https://fareeqy.com/api/v1/docs/folders)

في هذه الصفحة

-   v1.3.0
-   v1.2.0
-   v1.1.0
-   v1.0.0

المسارات

-   [الحساب](https://fareeqy.com/api/v1/docs/account)
-   [الأحداث](https://fareeqy.com/api/v1/docs/events)
-   [المشاريع](https://fareeqy.com/api/v1/docs/projects)
-   [الأعضاء](https://fareeqy.com/api/v1/docs/members)
-   [قوائم المهام](https://fareeqy.com/api/v1/docs/task-lists)
-   [المهام](https://fareeqy.com/api/v1/docs/tasks)
-   [التعليقات](https://fareeqy.com/api/v1/docs/comments)
-   [المجلس](https://fareeqy.com/api/v1/docs/discussions)
-   [الملفات](https://fareeqy.com/api/v1/docs/files)
-   [المجلدات](https://fareeqy.com/api/v1/docs/folders)

## v1.3.0

الحالي تغيير جذري صدر في 2026-09-25

### قراءة مرفقات التعليقات، وعنوان الصفحة في كل مورد

صار المرفق داخل التعليق كائناً له معرّف، ومعه مسار يرجع نص الملف المرفق. وكل مورد يحمل الآن عنوان صفحته في فريقي. وتوحّد ما ترجعه حقول `*_slug` واستجابات الحذف على المعرّف الثابت.

-   أُضيف `GET` على `/lists/{ref}/comments/{comment}/attachments/{id}` و `/tasks/{ref}/comments/{comment}/attachments/{id}`، ونظيريهما المتداخلين تحت `/projects/{project}/lists/{list}`. ترجع نص ملف مرفق بتعليق، ومعه `comment_id` و `comment_url`. تُقرأ الملفات النصية وحدها حتى 256 كيلوبايت، وما عداها يُرفض بالرمز 422 مع ذكر اسمه. تحتاج `comments:read`.
-   أُضيف حقل `url` في المشروع، وقائمة المهام، والمهمة، وموضوع المجلس، والتعليق، والملف، والمجلد، والحدث، ونتيجة البحث: العنوان الكامل للصفحة التي يفتحها الشخص في فريقي. والعضو وحده بلا `url`.
-   أُضيف `widened` في استجابة البحث، حاضر دائماً. يسمّي كل نوع لم يحمل فيه أي سجل كل كلمات البحث، فنتائجه تقريبية.
-   أُضيف رمزا خطأ: `unknown_endpoint` (404) لمسار لا يطابق أي endpoint، ويعيد المسار في الرسالة، و `project_in_use` (409) عند حذف مشروع يغذّيه تكامل موصول.
-   تغيّر كل عنصر في `attachments` داخل التعليق صار كائناً `{id, name, content_type, byte_size}`، وكان اسم الملف وحده.
-   تغيّر حقول `project_slug`، و `task_list_slug`، و `task_slug`، و `discussion_slug` في الاستجابات تحمل المعرّف الثابت، لا الـ slug.
-   تغيّر تصحيح في التوثيق: `POST /tasks/{ref}/move` المسطّح يستقبل في `target_task_list_slug` المعرّف الثابت وحده، ويجوز أن تكون القائمة الوجهة في مشروع آخر من الشركة. وكان التوثيق يقول إنه يبقى داخل المشروع نفسه. أما العنوان المتداخل فيبقى داخل مشروعه.
-   تغيّر قائمة مواضيع المجلس ترجع المواضيع المنشورة وحدها، ولا تظهر فيها المسودات.
-   حُذف لم تعد استجابة حذف قائمة المهام، والمهمة، وموضوع المجلس تحمل `slug`. السجل المحذوف يُسمّى بـ `id` وحده.

ما على تكاملك أن يفعله

-   إن كنت تقرأ `attachments` على أنها نصوص، فاقرأ `name` من كل عنصر.
-   إن كنت تعرض قيمة حقل `*_slug` لإنسان، فهي معرّف ثابت الآن. اعرض `title` أو `name`. وتمريرها إلى أي مسار يبقى صالحاً كما هو.
-   إن كنت تقرأ `slug` من استجابة الحذف، فاقرأ `id`.
-   لنقل مهمة عبر العنوان المسطّح، أرسل المعرّف الثابت للقائمة الوجهة، لا الـ slug.

## v1.2.0

صدر في 2026-09-11

### الوقت المستغرق على المهمة، كتابةً وقراءةً

صار للمهمة حقل واحد للمدة التي استغرقتها. يُكتب بفعل مستقل عن التعديل لأن صلاحيته مختلفة، ويُقرأ في كل استجابة مهمة بلا شرط خطة.

-   أُضيف `POST /tasks/{ref}/time` و `POST /projects/{project}/lists/{list}/tasks/{task}/time`: تسجّل المدة بإحدى ثلاث صيغ تعني جميعها تسعين دقيقة، `"1:30"` و `"1.5"` بالساعات العشرية و `"90"` بالدقائق، والسلسلة الفارغة تمسح الحقل. القيمة تحلّ محلّ السابقة ولا تُضاف إليها، و `"0"` مرفوضة لأن من يرسلها يقصد المسح غالباً. تحتاج `tasks:write` وخطة تحمل تتبّع الوقت، وإلا 403 بلا تسجيل.
-   أُضيف `time_spent_minutes` في كل استجابة مهمة، حاضر دائماً و `null` حين لم يقس أحد. و `null` ليست صفراً: الأولى تعني أن أحداً لم يقل كم استغرقت، والثانية تعني أنها لم تستغرق شيئاً. القراءة لا تشترط خطة، لأن الأرقام سجل العميل عن عمله.

## v1.1.0

تغيير جذري صدر في 2026-08-22

### عنوان مسطّح لكل سجل، وقراءة للتعليقات

صار لكل سجل عنوان ثانٍ قصير يكفي وحده، بلا سلسلة الآباء التي كانت تسبقه. ومعه كسبت `comments` نصفها القارئ، وتغيّر مقطع قوائم المهام في المسار.

-   تغيّر مقطع قوائم المهام في المسار صار `lists` بدل `task-lists`، في المسارات المتداخلة كلها: `/projects/{project}/lists` و `/projects/{project}/lists/{list}/tasks` وما تفرّع عنهما.
-   تغيّر حقل `id` في الاستجابة صار المعرّف الثابت: `prj-8f3kd` للمشروع، و `lst-4m2qp` للقائمة، و `tsk-9wb7t` للمهمة، و `mjl-6khz2` لموضوع المجلس. وكان الـ slug.
-   أُضيف عنوان مسطّح لكل سجل يحمل معرّفاً ثابتاً: `GET` / `PATCH` / `DELETE` على `/lists/{ref}` و `/tasks/{ref}` و `/discussions/{ref}`، و `DELETE /files/{ref}`، ومعها `complete` و `incomplete` و `move`. لا يستقبل هذا العنوان الـ slug، لأن الـ slug يتكرر بين المشاريع.
-   أُضيف مجموعة تحت أب مسطّح: `GET` / `POST /lists/{ref}/tasks` و `/lists/{ref}/comments` و `/tasks/{ref}/comments`. المجموعة تبقى تحت أبيها، لكن الأب يُسمّى بمعرّفه وحده.
-   أُضيف عملية `comments:read`، ومعها `GET` على تعليقات قائمة المهام وتعليقات المهمة، مرتّبةً من الأقدم إلى الأحدث ومقسّمةً إلى صفحات. كانت `comments` المجموعة الوحيدة التي تكتب ولا تقرأ.
-   أُضيف حقلان في التعليق: `updated_at`، ويساوي `created_at` حتى يُعدَّل التعليق، و `attachments`، وهو أسماء الملفات المضمّنة في المتن التي يُسقطها النص العادي.
-   تغيّر نتائج البحث ترجع المعرّف الثابت في `id`، ومعه مفاتيح `*_slug` كما كانت. والمجلد وحده بلا `id`، فمعرّفه الرقمي هو كل ما تستقبله مساراته.
-   حُذف لم يعد `/projects/{project}/task-lists` وما تفرّع عنه يُحلّ. المقطع الجديد `lists`.

ما على تكاملك أن يفعله

-   استبدل `task-lists` بـ `lists` في كل مسار تبنيه. هذا هو التغيير الوحيد الذي يوقف تكاملاً قائماً.
-   الـ slug ما زال مقبولاً في كل موضع كان يُقبل فيه، والمعرّف الرقمي للملف كذلك، فما خزّنته لا يحتاج ترحيلاً. الجديد أنك تستقبل معرّفاً ثابتاً بدله.
-   إن كنت تعرض `id` لمستخدم على أنه عنوان مقروء، فهو الآن معرّف ثابت لا اسم. اعرض `title` أو `name`.
-   لقراءة التعليقات، أضف `comments:read` إلى العمليات المسموحة لمفتاحك. المفاتيح المُصدرة قبل هذا التاريخ لا تحملها.

## v1.0.0

صدر في 2026-08-05

### الإصدار الأول

أول إصدار عام للواجهة، في مرحلة معاينة تُفعَّل لكل شركة على حدة.

-   أُضيف المشاريع، وقوائم المهام، والمهام، ومواضيع المجلس، والتعليقات، والملفات، والمجلدات، وأحداث التقويم، والأعضاء، والبحث الموحّد، وهوية المفتاح.
-   أُضيف مصادقة بمفتاح Bearer، وبوابتان: النطاق سقفاً، وقائمة العمليات المسموحة بوابةً فعلية. وعمليات الحذف خارج المنح الافتراضي.
-   أُضيف أشكال استجابة موحّدة، وترقيم صفحات، وحصة يومية لكل شركة مع headers تُضاف إلى كل استجابة مخدومة.

## كيف نُرقّم

الرقم هنا هو إصدار **العقد** الذي تصفه هذه الوثائق، وهو غير الـ `v1` في عنوان الخدمة، فذاك إصدار المسار ولا يتحرك إلا حين يقوم سطح جديد بجانب القديم. والواجهة في مرحلة معاينة، فكل تحديث يرفع الرقم الأوسط، ويبقى الأول محجوزاً لما بعد الإتاحة العامة. وكل إصدار هنا يطابق `info.version` في ملف OpenAPI، وفحص في البناء يمنع الاثنين من الافتراق.

[الرجوع إلى نظرة عامة](https://fareeqy.com/api/v1/docs)
