Skip to content

Commit c7f614e

Browse files
vahmoclaude
andcommitted
docs: fix CHANGELOGs — mark all published versions with real dates
- v0.1.9 through v0.3.1 were marked [Unreleased] despite being published on npm - Added real publication dates from npm registry for all versions - Added batch-publish note for v0.1.9–v0.2.2 (same commit bb7d250) - Fixed v0.1.0 date: 2025-01-25 → 2025-12-05 (actual npm publish) - Fixed v0.1.0-alpha.4 date: 2025-01-25 → 2026-01-23 - Removed planned [1.0.0] section from between released versions - Added comparison links for all 20 versions - CHANGELOG.ar.md: complete rewrite — synced with EN, fixed fabricated dates (Oct 2026, Jul-Dec 2025), removed fabricated content Anomalies #9 and #18 resolved Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 6c054bd commit c7f614e

File tree

2 files changed

+146
-136
lines changed

2 files changed

+146
-136
lines changed

CHANGELOG.ar.md

Lines changed: 112 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,180 +1,184 @@
11
# سجل التغييرات
22

3-
توثيق جميع التغييرات الملحوظة في هذا المشروع في هذا الملف.
3+
توثيق جميع التغييرات الملحوظة في هذا المشروع.
44

55
الصيغة مبنية على [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
وهذا المشروع يتبع [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## [غير مُصدّر]
99

10-
## [1.0.0] - مخطط فبراير 2027
10+
## [0.3.2] - 2026-03-24
1111

12-
### الملخص
13-
إصدار API freeze. واجهة `RDAPClient` مستقرة ومضمونة عدم وجود تغييرات breaking في الإصدارات اللاحقة 1.x. جميع 83 تصديراً عاماً مصنفة في `API_STABILITY_ANALYSIS.md`.
12+
### تم إصلاحه
13+
- `TelemetryExporter`: `RDAPIFY_VERSION` يُقرأ الآن من `package.json` (كان `'0.2.3'`)
14+
- `src/index.ts`: JSDoc `@version` صُحّح إلى `0.3.2`
15+
- تصدير `VERSION` حُدّث إلى `'0.3.2'`
16+
- قوالب cloud ومثال `express_app` حُدّثت إلى `^0.3.1`
17+
- `SECURITY.md`: 0.2.x و 0.3.x مدعومان الآن
1418

15-
### الميزات البارزة
16-
- **تغطية الفروع**: ≥ 90% (1066 اختبار).
17-
- **API freeze**: 83 تصديراً مقفولة؛ جميع APIs المهملة محذوفة.
18-
- **دعم Runtime**: Node.js (مؤكد)، Bun/Deno/Cloudflare Workers (تم التحقق خارجياً).
19-
- **تدقيق الأمان**: تم حل جميع النتائج الحرجة/العالية (يتطلب اكتمال التدقيق الخارجي).
20-
- **التوثيق**: وثائق عربية وإنجليزية كاملة على rdapify.com.
19+
### داخلي
20+
- خطاف `prepublishOnly` أُعيد تفعيله
21+
- `docs.yml`: أُزيلت حلول `|| true`
2122

22-
### تغييرات Breaking (من 0.3.1)
23-
جميع APIs المجهزة بـ `@deprecated` في v0.3.1 محذوفة في v1.0.0.
24-
انظر `MIGRATION_1_0.md` (سيتم نشره مع الإصدار).
25-
26-
## [0.3.1] - غير مُصدّر
23+
## [0.3.1] - 2026-03-23
2724

2825
### مهملة
29-
30-
APIs التالية مهملة اعتباراً من v0.3.1 وسيتم إزالتها أو تغييرها في v1.0.0.
31-
قوائم المسارات البديلة مدرجة. التحذيرات صادرة عبر `process.emitWarning` (Node.js)
32-
أو `console.warn` (runtimes أخرى) في معظم الأحوال مرة واحدة لكل lifetime العملية.
33-
34-
| API | كود الإيقاف | الهجرة |
35-
|-----|-----------|--------|
36-
| `client.getBatchProcessor()` | `DEP_RDAPIFY_0001` | استخدم `client.streamBatch()` للحصول على نتائج streaming أو استدعاء `processBatch()` عبر معالج الدفعات. في v1.0.0، ستكون `processBatch()` طريقة مباشرة على `RDAPClient`. |
26+
- `client.getBatchProcessor()` (`DEP_RDAPIFY_0001`) — استخدم `client.streamBatch()`
3727

3828
### مضاف
39-
40-
- **تحليل استقرار API**`API_STABILITY_ANALYSIS.md` في دليل التخطيط الداخلي يصنف جميع 83 تصديراً عاماً كـ Stable / Evolving / Deprecated لـ API freeze v1.0.0؛ تفاصيل مسارات الهجرة لكل API مهملة
41-
- **`BrowserFetcher`** — منتقي RDAP متوافق مع المتصفح يوجه الطلبات عبر وكيل عكسي يدعم CORS من المطور؛ يستخدم فقط Web-standard APIs (`fetch` و `AbortSignal` و `URLSearchParams`)؛ يفعّل rdapify في بيئات React و Vue و Angular و vanilla browser
42-
- **نوع `BrowserFetcherOptions`**`{ proxyUrl: string; timeout?: number; headers?: Record<string, string> }`
29+
- تحليل استقرار API — 83 تصديراً مصنّفاً
30+
- `BrowserFetcher` — منتقي RDAP متوافق مع المتصفح
4331

4432
### تم تغييره
33+
- إصلاح promise rejection غير معالج في `BatchProcessor.processBatch()`
4534

46-
- تم تحديث JSDoc فئة `BatchProcessor` ليعكس حالتها المتطورة؛ استيرادات فئة مباشرة يجب أن تفضّل `client.streamBatch()` أو طرق الراحة المضافة في v1.0.0
47-
- تم إصلاح promise rejection غير معالج في `BatchProcessor.processBatch()` عند `continueOnError: false``.finally()` على promise الداخلي كان ينشئ promise مرفوض معلق؛ تم استبداله بـ `.then(cleanup, cleanup)` لإزالة آمنة للعناصر المكتملة من قائمة في-التقدم
48-
49-
## [0.3.0] - أكتوبر 2026
35+
## [0.3.0] - 2026-03-22
5036

5137
### مضاف
38+
- **Streaming Batch API**`client.streamBatch()` مولّد async
39+
- **Prometheus Exporter** — مع `createHttpHandler()`
40+
- **قالب Grafana**`RDAPIFY_GRAFANA_DASHBOARD`
41+
- **OpenTelemetry OTLP**`TelemetryExporter`
42+
- **Bootstrap متعدد المناطق**`regions`
43+
- **أداة الإيقاف**`deprecated()`
44+
- 42 اختبار جديد
5245

53-
- **Streaming Batch API**: `client.streamBatch(queries[])``AsyncIterable<QueryResult>` مع back-pressure (لا overflow في 1000+ استعلام)
54-
- **Prometheus Exporter**: فئة `PrometheusExporter` مع `createHttpHandler()` لـ metrics scraping
55-
- **لوحة معلومات Grafana**: قالب JSON مدمج `RDAPIFY_GRAFANA_DASHBOARD` — استيراد مباشر إلى Grafana
56-
- **OpenTelemetry Traces**: `TelemetryExporter` + `ClientConfig.telemetry.endpoint` للتتبع الموزع
57-
- **Bootstrap متعدد المناطق**: `ClientConfig.bootstrap.regions: ['us', 'eu', 'ap']` — اختيار تلقائي لأقرب مرآة IANA
58-
- **محرك الإيقاف**: أداة `deprecated()` — تحذير وقت التشغيل عبر `process.emitWarning`
59-
- **BrowserFetcher**: منتقي متوافق مع المتصفح لبيئات proxy-based browser
46+
## [0.2.3] - 2026-03-22
6047

61-
### تم تصحيحه
48+
### مضاف
49+
- **مخطط GraphQL**`createRdapifySchema(client)`
50+
- **وسيط Express**`rdapifyExpress(client)`
51+
- **وحدة NestJS**`RdapifyModule.forRoot()`
52+
- 24 اختبار جديد
6253

63-
- تم إصلاح promise rejection غير معالج في batch processor
64-
- تحسينات الأداء على connection pooling
65-
- تحسينات دقة اختبار التغطية
54+
## [0.2.2] - 2026-03-22
6655

67-
## [0.2.3] - سبتمبر 2026
56+
> **ملاحظة:** الإصدارات 0.1.9 إلى 0.2.2 نُشرت دفعة واحدة (2026-03-22) من نفس الـ commit.
6857
6958
### مضاف
59+
- **دعم Deno**`DenoFetcher`
60+
- **Cloudflare Workers**`CloudflareWorkersFetcher`
61+
- **تصدير الحزمة**`./worker` و `./deno` و `./node`
62+
- 22 اختبار جديد
7063

71-
- **مخطط GraphQL**: `{ typeDefs, resolvers }` — يعمل مع graphql-yoga وأي خادم GraphQL
72-
- **وسيط Express**: `rdapifyExpress(client)``GET /domain/:name` و `/ip/:address` و `/asn/:number`
73-
- **وحدة NestJS**: `RdapifyModule.forRoot(config)` + decorator `@InjectRdapClient()`
74-
75-
## [0.2.2] - أغسطس 2026
64+
## [0.2.1] - 2026-03-22
7665

7766
### مضاف
67+
- **دعم Bun**`BunFetcher` مع `isBun()`
68+
- 14 اختبار جديد
7869

79-
- **دعم Deno**: `DenoFetcher` مع اكتشاف runtime `isDeno()`
80-
- **Cloudflare Workers**: `CloudflareWorkersFetcher` — بدون اعتماديات `fs` أو `process`
81-
- **تصدير الحزمة**: نقاط دخول `./worker` و `./deno` و `./node`
82-
83-
## [0.2.1] - يوليو 2026
70+
## [0.2.0] - 2026-03-22
8471

8572
### مضاف
73+
- **قاطع الدائرة**`CircuitBreaker`
74+
- **إيقاف Middleware**`ctx.abort()`
75+
- **أولوية Middleware** — ترتيب رقمي
76+
- **ضغط مفاتيح Redis** — SHA-256
77+
- **Redis pipeline**`getMany`/`setMany`
78+
- **HTTP/2** — اختياري
79+
- 63 اختبار جديد
8680

87-
- **BunFetcher**: `BunFetcher implements IFetcherPort` — استخدام `Bun.fetch`
88-
- **CI**: وظيفة Bun المضافة إلى `.github/workflows/ci.yml`
89-
90-
## [0.2.0] - يونيو 2026
81+
## [0.1.9] - 2026-03-22
9182

9283
### مضاف
84+
- **توفر النطاق**`client.checkAvailability()` و `checkAvailabilityBatch()`
85+
- **اختبارات تكامل مباشرة**`LIVE_TESTS=1`
86+
- **إعداد Bootstrap متقدم**`customServers` و `ttl` و `fallback`
87+
- 17 اختبار جديد
9388

94-
- **قاطع الدائرة**: الحالة الكاملة `closed → open → half-open → closed/open`
95-
- **Redis Pipeline**: batch `getMany`/`setMany` + ضغط مفاتيح SHA-256
96-
- **Middleware `ctx.abort()`**: يمكن لخطافات `beforeQuery` إيقاف الاستعلامات
97-
- **أولوية Middleware**: ترتيب الأولوية الرقمي (الأقل = أولوية أعلى)
98-
- **دعم HTTP/2**: اختياري عبر `ClientConfig.http2: boolean`
99-
100-
## [0.1.9] - إبريل 2026
89+
## [0.1.8] - 2026-03-21
10190

10291
### مضاف
92+
- **Rust native backend** — عبر `rdapify-nd`
93+
- **خيار `backend`**`'auto'` | `'native'` | `'typescript'`
94+
- 28 اختبار جديد
10395

104-
- **توفر النطاق**: `client.checkAvailability(domain)` — RDAP فقط
105-
- **التوفر بالدفعات**: `client.checkAvailabilityBatch(domains[])` — دفعة متزامنة
106-
- **اختبارات التكامل المباشرة**: إختيار عبر `LIVE_TESTS=1`
107-
- **إعداد Bootstrap متقدم**: `customServers` و override `ttl`
96+
## [0.1.7] - 2026-03-19
10897

109-
## [0.1.8] - مارس 2026
98+
### تم إصلاحه
99+
- مزامنة Playground، Jest forceExit، اختبارات redis-cache
110100

111101
### مضاف
102+
- استعلامات Nameserver و Entity مع أوامر CLI
112103

113-
- **CLI Tool**: `rdapify domain/ip/asn/nameserver/entity` مع flags
114-
- **استعلامات Nameserver و Entity**: `client.nameserver()` و `client.entity()` مع دعم RDAP الكامل
115-
116-
## [0.1.7] - فبراير 2026
104+
## [0.1.6] - 2026-03-17
117105

118106
### مضاف
107+
- أداة CLI — `rdapify domain/ip/asn`
108+
- كشف Cloudflare Workers
119109

120-
- **أداة CLI**: دعم domain و ip و asn
121-
- **مسارات دخول معكوسة**: تحسينات إضافية
110+
### تم إصلاحه
111+
- RedisCache.clear() و size() (حرج) — إصلاح مسح DB الكامل
122112

123-
## [0.1.6] - يناير 2026
113+
## [0.1.5] - 2026-03-14
124114

125115
### مضاف
116+
- RedisCache، AuthenticationManager، ProxyManager، CompressionManager
117+
- PersistentCache، MiddlewareManager، QueryDeduplicator، AuditLogger، ResponseValidator
126118

127-
- **دعم IPv6**: معالجة كاملة للعناوين IPv6
128-
- **تحسينات التحقق**: تحسينات validation
129-
130-
## [0.1.5] - ديسمبر 2025
119+
## [0.1.4] - 2026-03-13
131120

132121
### مضاف
122+
- MiddlewareHooks، QueryDeduplicator، AuditLogger، ResponseValidator
133123

134-
- **Audit Logging**: مسار تدقيق GDPR/SOC2/CCPA
135-
- **تحسينات الأداء**: تحسينات connection pooling
124+
## [0.1.3] - 2026-03-12
136125

137-
## [0.1.4] - نوفمبر 2025
126+
### تم إصلاحه
127+
- فحوصات null دفاعية في Normalizer و BootstrapDiscovery و Fetcher
128+
- مهلة ConnectionPool، نسخ عميق PIIRedactor، أقواس IPv6، حماية القسمة على صفر
138129

139-
### مضاف
130+
## [0.1.2] - 2026-01-28
140131

141-
- **دعم Proxy**: HTTP/HTTPS/SOCKS4/SOCKS5
142-
- **مصادقة متقدمة**: Basic/Bearer/API Key/OAuth2
132+
### مضاف
133+
- Playground تفاعلي، Connection Pooling، مقاييس ومراقبة، تسجيل منظم
143134

144-
## [0.1.3] - أكتوبر 2025
135+
## [0.1.1] - 2026-01-25
145136

146137
### مضاف
138+
- مصادقة، دعم Proxy، ضغط الاستجابة، استراتيجيات إعادة المحاولة
139+
- أولوية الاستعلامات، التحقق المحسّن، Persistent Cache، Rate Limiting
147140

148-
- **ضغط الاستجابة**: gzip/brotli/deflate
149-
- **استراتيجيات إعادة المحاولة**: Circuit breaker مع exponential backoff
150-
151-
## [0.1.2] - سبتمبر 2025
141+
## [0.1.0] - 2025-12-05
152142

153143
### مضاف
144+
- الإصدار العام الأول — عميل RDAP مع domain و IP و ASN
145+
- IANA Bootstrap، حماية SSRF، حذف PII، ذاكرة مؤقتة، 146 اختبار
154146

155-
- **Connection Pooling**: إعادة استخدام اتصال HTTP
156-
- **مراقبة ومقاييس**: جمع مقاييس شامل
157-
- **تسجيل منظم**: مستويات قابلة للتكوين
158-
159-
## [0.1.1] - أغسطس 2025
147+
## [0.1.0-alpha.4] - 2026-01-23
160148

161149
### مضاف
150+
- Dependabot، CI/CD محسّن، CodeQL، Playground، ملفات صحة المجتمع
162151

163-
- **Persistent Cache**: ذاكرة مؤقتة قائمة على ملفات JSON
164-
- **Redis Cache**: محول Redis
165-
- **مصادقة**: Basic و Bearer Token و API Key
152+
## [0.1.0-alpha.2] - 2026-01-22
166153

167-
## [0.1.0] - يوليو 2025
154+
### تم إصلاحه
155+
- إلغاء مؤقت timeout في `withTimeout()`
168156

169-
### مضاف
157+
## [0.1.0-alpha.1] - 2026-01-22
170158

171-
- **عميل RDAP الأساسي**: استعلامات Domain و IP و ASN
172-
- **حماية SSRF**: حجب IPs الخاصة والداخلية
173-
- **حذف PII**: حذف تلقائي للبيانات الشخصية
174-
- **ذاكرة مؤقتة داخل الذاكرة**: ذاكرة مؤقتة LRU مع TTL
175-
- **Normalization**: تطبيع الاستجابة عبر السجلات
176-
- **TypeScript Strict**: تعريفات نوع كاملة
159+
### مضاف
160+
- إصدار alpha الأول — عميل RDAP، حماية SSRF، حذف PII، 146 اختبار
177161

178162
---
179163

180-
تم تعديل آخر: مارس 2026
164+
[Unreleased]: https://github.com/rdapify/RDAPify/compare/v0.3.2...HEAD
165+
[0.3.2]: https://github.com/rdapify/RDAPify/compare/v0.3.1...v0.3.2
166+
[0.3.1]: https://github.com/rdapify/RDAPify/compare/v0.3.0...v0.3.1
167+
[0.3.0]: https://github.com/rdapify/RDAPify/compare/v0.2.3...v0.3.0
168+
[0.2.3]: https://github.com/rdapify/RDAPify/compare/v0.2.2...v0.2.3
169+
[0.2.2]: https://github.com/rdapify/RDAPify/compare/v0.2.1...v0.2.2
170+
[0.2.1]: https://github.com/rdapify/RDAPify/compare/v0.2.0...v0.2.1
171+
[0.2.0]: https://github.com/rdapify/RDAPify/compare/v0.1.9...v0.2.0
172+
[0.1.9]: https://github.com/rdapify/RDAPify/compare/v0.1.8...v0.1.9
173+
[0.1.8]: https://github.com/rdapify/RDAPify/compare/v0.1.7...v0.1.8
174+
[0.1.7]: https://github.com/rdapify/RDAPify/compare/v0.1.6...v0.1.7
175+
[0.1.6]: https://github.com/rdapify/RDAPify/compare/v0.1.5...v0.1.6
176+
[0.1.5]: https://github.com/rdapify/RDAPify/compare/v0.1.4...v0.1.5
177+
[0.1.4]: https://github.com/rdapify/RDAPify/compare/v0.1.3...v0.1.4
178+
[0.1.3]: https://github.com/rdapify/RDAPify/compare/v0.1.2...v0.1.3
179+
[0.1.2]: https://github.com/rdapify/RDAPify/compare/v0.1.1...v0.1.2
180+
[0.1.1]: https://github.com/rdapify/RDAPify/compare/v0.1.0...v0.1.1
181+
[0.1.0]: https://github.com/rdapify/RDAPify/compare/v0.1.0-alpha.4...v0.1.0
182+
[0.1.0-alpha.4]: https://github.com/rdapify/RDAPify/compare/v0.1.0-alpha.2...v0.1.0-alpha.4
183+
[0.1.0-alpha.2]: https://github.com/rdapify/RDAPify/compare/v0.1.0-alpha.1...v0.1.0-alpha.2
184+
[0.1.0-alpha.1]: https://github.com/rdapify/RDAPify/releases/tag/v0.1.0-alpha.1

0 commit comments

Comments
 (0)