rdapify 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +316 -0
- package/README.md +456 -69
- package/dist/application/client/RDAPClient.d.ts +53 -0
- package/dist/application/client/RDAPClient.d.ts.map +1 -0
- package/dist/application/client/RDAPClient.js +163 -0
- package/dist/application/client/RDAPClient.js.map +1 -0
- package/dist/application/client/index.d.ts +2 -0
- package/dist/application/client/index.d.ts.map +1 -0
- package/dist/application/client/index.js +6 -0
- package/dist/application/client/index.js.map +1 -0
- package/dist/application/services/BatchProcessor.d.ts +27 -0
- package/dist/application/services/BatchProcessor.d.ts.map +1 -0
- package/dist/application/services/BatchProcessor.js +89 -0
- package/dist/application/services/BatchProcessor.js.map +1 -0
- package/dist/application/services/QueryOrchestrator.d.ts +27 -0
- package/dist/application/services/QueryOrchestrator.d.ts.map +1 -0
- package/dist/application/services/QueryOrchestrator.js +201 -0
- package/dist/application/services/QueryOrchestrator.js.map +1 -0
- package/dist/application/services/QueryPriority.d.ts +35 -0
- package/dist/application/services/QueryPriority.d.ts.map +1 -0
- package/dist/application/services/QueryPriority.js +114 -0
- package/dist/application/services/QueryPriority.js.map +1 -0
- package/dist/application/services/index.d.ts +3 -0
- package/dist/application/services/index.d.ts.map +1 -0
- package/dist/application/services/index.js +8 -0
- package/dist/application/services/index.js.map +1 -0
- package/dist/core/ports/bootstrap.port.d.ts +8 -0
- package/dist/core/ports/bootstrap.port.d.ts.map +1 -0
- package/dist/core/ports/bootstrap.port.js +3 -0
- package/dist/core/ports/bootstrap.port.js.map +1 -0
- package/dist/core/ports/cache.port.d.ts +10 -0
- package/dist/core/ports/cache.port.d.ts.map +1 -0
- package/dist/core/ports/cache.port.js +3 -0
- package/dist/core/ports/cache.port.js.map +1 -0
- package/dist/core/ports/fetcher.port.d.ts +5 -0
- package/dist/core/ports/fetcher.port.d.ts.map +1 -0
- package/dist/core/ports/fetcher.port.js +3 -0
- package/dist/core/ports/fetcher.port.js.map +1 -0
- package/dist/core/ports/index.d.ts +6 -0
- package/dist/core/ports/index.d.ts.map +1 -0
- package/dist/core/ports/index.js +9 -0
- package/dist/core/ports/index.js.map +1 -0
- package/dist/core/ports/normalizer.port.d.ts +5 -0
- package/dist/core/ports/normalizer.port.d.ts.map +1 -0
- package/dist/core/ports/normalizer.port.js +3 -0
- package/dist/core/ports/normalizer.port.js.map +1 -0
- package/dist/core/ports/pii-redactor.port.d.ts +6 -0
- package/dist/core/ports/pii-redactor.port.d.ts.map +1 -0
- package/dist/core/ports/pii-redactor.port.js +3 -0
- package/dist/core/ports/pii-redactor.port.js.map +1 -0
- package/dist/index.d.ts +26 -7
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +65 -16
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/cache/CacheManager.d.ts +28 -0
- package/dist/infrastructure/cache/CacheManager.d.ts.map +1 -0
- package/dist/infrastructure/cache/CacheManager.js +117 -0
- package/dist/infrastructure/cache/CacheManager.js.map +1 -0
- package/dist/infrastructure/cache/InMemoryCache.d.ts +24 -0
- package/dist/infrastructure/cache/InMemoryCache.d.ts.map +1 -0
- package/dist/infrastructure/cache/InMemoryCache.js +96 -0
- package/dist/infrastructure/cache/InMemoryCache.js.map +1 -0
- package/dist/infrastructure/cache/PersistentCache.d.ts +39 -0
- package/dist/infrastructure/cache/PersistentCache.d.ts.map +1 -0
- package/dist/infrastructure/cache/PersistentCache.js +194 -0
- package/dist/infrastructure/cache/PersistentCache.js.map +1 -0
- package/dist/infrastructure/cache/index.d.ts +3 -0
- package/dist/infrastructure/cache/index.d.ts.map +1 -0
- package/dist/infrastructure/cache/index.js +8 -0
- package/dist/infrastructure/cache/index.js.map +1 -0
- package/dist/infrastructure/http/AuthenticationManager.d.ts +38 -0
- package/dist/infrastructure/http/AuthenticationManager.d.ts.map +1 -0
- package/dist/infrastructure/http/AuthenticationManager.js +99 -0
- package/dist/infrastructure/http/AuthenticationManager.js.map +1 -0
- package/dist/infrastructure/http/BootstrapDiscovery.d.ts +21 -0
- package/dist/infrastructure/http/BootstrapDiscovery.d.ts.map +1 -0
- package/dist/infrastructure/http/BootstrapDiscovery.js +130 -0
- package/dist/infrastructure/http/BootstrapDiscovery.js.map +1 -0
- package/dist/infrastructure/http/CompressionManager.d.ts +30 -0
- package/dist/infrastructure/http/CompressionManager.d.ts.map +1 -0
- package/dist/infrastructure/http/CompressionManager.js +86 -0
- package/dist/infrastructure/http/CompressionManager.js.map +1 -0
- package/dist/infrastructure/http/ConnectionPool.d.ts +25 -0
- package/dist/infrastructure/http/ConnectionPool.d.ts.map +1 -0
- package/dist/infrastructure/http/ConnectionPool.js +101 -0
- package/dist/infrastructure/http/ConnectionPool.js.map +1 -0
- package/dist/infrastructure/http/Fetcher.d.ts +29 -0
- package/dist/infrastructure/http/Fetcher.d.ts.map +1 -0
- package/dist/infrastructure/http/Fetcher.js +114 -0
- package/dist/infrastructure/http/Fetcher.js.map +1 -0
- package/dist/infrastructure/http/Normalizer.d.ts +11 -0
- package/dist/infrastructure/http/Normalizer.d.ts.map +1 -0
- package/dist/infrastructure/http/Normalizer.js +151 -0
- package/dist/infrastructure/http/Normalizer.js.map +1 -0
- package/dist/infrastructure/http/ProxyManager.d.ts +43 -0
- package/dist/infrastructure/http/ProxyManager.d.ts.map +1 -0
- package/dist/infrastructure/http/ProxyManager.js +87 -0
- package/dist/infrastructure/http/ProxyManager.js.map +1 -0
- package/dist/infrastructure/http/RateLimiter.d.ts +28 -0
- package/dist/infrastructure/http/RateLimiter.d.ts.map +1 -0
- package/dist/infrastructure/http/RateLimiter.js +101 -0
- package/dist/infrastructure/http/RateLimiter.js.map +1 -0
- package/dist/infrastructure/http/RetryStrategy.d.ts +58 -0
- package/dist/infrastructure/http/RetryStrategy.d.ts.map +1 -0
- package/dist/infrastructure/http/RetryStrategy.js +136 -0
- package/dist/infrastructure/http/RetryStrategy.js.map +1 -0
- package/dist/infrastructure/http/index.d.ts +4 -0
- package/dist/infrastructure/http/index.d.ts.map +1 -0
- package/dist/infrastructure/http/index.js +10 -0
- package/dist/infrastructure/http/index.js.map +1 -0
- package/dist/infrastructure/logging/Logger.d.ts +49 -0
- package/dist/infrastructure/logging/Logger.d.ts.map +1 -0
- package/dist/infrastructure/logging/Logger.js +126 -0
- package/dist/infrastructure/logging/Logger.js.map +1 -0
- package/dist/infrastructure/monitoring/MetricsCollector.d.ts +53 -0
- package/dist/infrastructure/monitoring/MetricsCollector.d.ts.map +1 -0
- package/dist/infrastructure/monitoring/MetricsCollector.js +109 -0
- package/dist/infrastructure/monitoring/MetricsCollector.js.map +1 -0
- package/dist/infrastructure/security/PIIRedactor.d.ts +13 -0
- package/dist/infrastructure/security/PIIRedactor.d.ts.map +1 -0
- package/dist/infrastructure/security/PIIRedactor.js +83 -0
- package/dist/infrastructure/security/PIIRedactor.js.map +1 -0
- package/dist/infrastructure/security/SSRFProtection.d.ts +13 -0
- package/dist/infrastructure/security/SSRFProtection.d.ts.map +1 -0
- package/dist/infrastructure/security/SSRFProtection.js +142 -0
- package/dist/infrastructure/security/SSRFProtection.js.map +1 -0
- package/dist/infrastructure/security/index.d.ts +3 -0
- package/dist/infrastructure/security/index.d.ts.map +1 -0
- package/dist/infrastructure/security/index.js +8 -0
- package/dist/infrastructure/security/index.js.map +1 -0
- package/dist/shared/constants/http.constants.d.ts +26 -0
- package/dist/shared/constants/http.constants.d.ts.map +1 -0
- package/dist/shared/constants/http.constants.js +29 -0
- package/dist/shared/constants/http.constants.js.map +1 -0
- package/dist/shared/constants/index.d.ts +3 -0
- package/dist/shared/constants/index.d.ts.map +1 -0
- package/dist/shared/constants/index.js +6 -0
- package/dist/shared/constants/index.js.map +1 -0
- package/dist/shared/constants/rdap.constants.d.ts +9 -0
- package/dist/shared/constants/rdap.constants.d.ts.map +1 -0
- package/dist/shared/constants/rdap.constants.js +21 -0
- package/dist/shared/constants/rdap.constants.js.map +1 -0
- package/dist/shared/errors/base.error.d.ts +44 -0
- package/dist/shared/errors/base.error.d.ts.map +1 -0
- package/dist/shared/errors/base.error.js +122 -0
- package/dist/shared/errors/base.error.js.map +1 -0
- package/dist/shared/errors/index.d.ts +2 -0
- package/dist/shared/errors/index.d.ts.map +1 -0
- package/dist/shared/errors/index.js +5 -0
- package/dist/shared/errors/index.js.map +1 -0
- package/dist/shared/types/entities.d.ts +50 -0
- package/dist/shared/types/entities.d.ts.map +1 -0
- package/dist/shared/types/entities.js +3 -0
- package/dist/shared/types/entities.js.map +1 -0
- package/dist/shared/types/enums.d.ts +10 -0
- package/dist/shared/types/enums.d.ts.map +1 -0
- package/dist/shared/types/enums.js +3 -0
- package/dist/shared/types/enums.js.map +1 -0
- package/dist/shared/types/errors.d.ts +40 -0
- package/dist/shared/types/errors.d.ts.map +1 -0
- package/dist/shared/types/errors.js +101 -0
- package/dist/shared/types/errors.js.map +1 -0
- package/dist/shared/types/generics.d.ts +32 -0
- package/dist/shared/types/generics.d.ts.map +1 -0
- package/dist/shared/types/generics.js +3 -0
- package/dist/shared/types/generics.js.map +1 -0
- package/dist/shared/types/index.d.ts +4 -0
- package/dist/shared/types/index.d.ts.map +1 -0
- package/dist/shared/types/index.js +3 -0
- package/dist/shared/types/index.js.map +1 -0
- package/dist/shared/types/options.d.ts +60 -0
- package/dist/shared/types/options.d.ts.map +1 -0
- package/dist/shared/types/options.js +50 -0
- package/dist/shared/types/options.js.map +1 -0
- package/dist/shared/types/responses.d.ts +76 -0
- package/dist/shared/types/responses.d.ts.map +1 -0
- package/dist/shared/types/responses.js +3 -0
- package/dist/shared/types/responses.js.map +1 -0
- package/dist/shared/utils/enhanced-validators.d.ts +18 -0
- package/dist/shared/utils/enhanced-validators.d.ts.map +1 -0
- package/dist/shared/utils/enhanced-validators.js +162 -0
- package/dist/shared/utils/enhanced-validators.js.map +1 -0
- package/dist/shared/utils/helpers/async.d.ts +9 -0
- package/dist/shared/utils/helpers/async.d.ts.map +1 -0
- package/dist/shared/utils/helpers/async.js +47 -0
- package/dist/shared/utils/helpers/async.js.map +1 -0
- package/dist/shared/utils/helpers/cache.d.ts +2 -0
- package/dist/shared/utils/helpers/cache.d.ts.map +1 -0
- package/dist/shared/utils/helpers/cache.js +7 -0
- package/dist/shared/utils/helpers/cache.js.map +1 -0
- package/dist/shared/utils/helpers/format.d.ts +3 -0
- package/dist/shared/utils/helpers/format.d.ts.map +1 -0
- package/dist/shared/utils/helpers/format.js +22 -0
- package/dist/shared/utils/helpers/format.js.map +1 -0
- package/dist/shared/utils/helpers/http.d.ts +2 -0
- package/dist/shared/utils/helpers/http.d.ts.map +1 -0
- package/dist/shared/utils/helpers/http.js +17 -0
- package/dist/shared/utils/helpers/http.js.map +1 -0
- package/dist/shared/utils/helpers/index.d.ts +8 -0
- package/dist/shared/utils/helpers/index.d.ts.map +1 -0
- package/dist/shared/utils/helpers/index.js +29 -0
- package/dist/shared/utils/helpers/index.js.map +1 -0
- package/dist/shared/utils/helpers/object.d.ts +3 -0
- package/dist/shared/utils/helpers/object.d.ts.map +1 -0
- package/dist/shared/utils/helpers/object.js +24 -0
- package/dist/shared/utils/helpers/object.js.map +1 -0
- package/dist/shared/utils/helpers/runtime.d.ts +6 -0
- package/dist/shared/utils/helpers/runtime.d.ts.map +1 -0
- package/dist/shared/utils/helpers/runtime.js +33 -0
- package/dist/shared/utils/helpers/runtime.js.map +1 -0
- package/dist/shared/utils/helpers/string.d.ts +4 -0
- package/dist/shared/utils/helpers/string.d.ts.map +1 -0
- package/dist/shared/utils/helpers/string.js +29 -0
- package/dist/shared/utils/helpers/string.js.map +1 -0
- package/dist/shared/utils/validators/asn.d.ts +3 -0
- package/dist/shared/utils/validators/asn.d.ts.map +1 -0
- package/dist/shared/utils/validators/asn.js +30 -0
- package/dist/shared/utils/validators/asn.js.map +1 -0
- package/dist/shared/utils/validators/domain.d.ts +3 -0
- package/dist/shared/utils/validators/domain.d.ts.map +1 -0
- package/dist/shared/utils/validators/domain.js +34 -0
- package/dist/shared/utils/validators/domain.js.map +1 -0
- package/dist/shared/utils/validators/index.d.ts +5 -0
- package/dist/shared/utils/validators/index.d.ts.map +1 -0
- package/dist/shared/utils/validators/index.js +19 -0
- package/dist/shared/utils/validators/index.js.map +1 -0
- package/dist/shared/utils/validators/ip.d.ts +5 -0
- package/dist/shared/utils/validators/ip.d.ts.map +1 -0
- package/dist/shared/utils/validators/ip.js +55 -0
- package/dist/shared/utils/validators/ip.js.map +1 -0
- package/dist/shared/utils/validators/network.d.ts +4 -0
- package/dist/shared/utils/validators/network.d.ts.map +1 -0
- package/dist/shared/utils/validators/network.js +48 -0
- package/dist/shared/utils/validators/network.js.map +1 -0
- package/package.json +108 -20
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.1.2] - 2026-01-27
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **Interactive Playground**: Try-before-install experience for rdapify.com
|
|
14
|
+
- Client ID management with localStorage persistence
|
|
15
|
+
- Real-time quota tracking (remainingToday, resetAt)
|
|
16
|
+
- 429 rate limit handling with retry hints
|
|
17
|
+
- Multiple package manager support (npm, yarn, pnpm)
|
|
18
|
+
- Integrated into website navigation
|
|
19
|
+
- Production-ready documentation and testing guides
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- Updated website navigation to include Playground link
|
|
23
|
+
- Enhanced documentation for production deployment
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- ESLint errors in Logger.ts and enhanced-validators.ts (6 issues resolved)
|
|
27
|
+
|
|
28
|
+
## [0.1.1] - 2026-01-25
|
|
29
|
+
|
|
30
|
+
### Added - Phase 3 Improvements
|
|
31
|
+
- **Authentication Support**: Multiple authentication methods for RDAP servers
|
|
32
|
+
- Basic Authentication (username/password)
|
|
33
|
+
- Bearer Token authentication
|
|
34
|
+
- API Key authentication (custom header support)
|
|
35
|
+
- OAuth2 authentication with token expiration checking
|
|
36
|
+
- Secure header generation without exposing credentials
|
|
37
|
+
- **Proxy Support**: HTTP/HTTPS/SOCKS proxy configuration
|
|
38
|
+
- Support for HTTP, HTTPS, SOCKS4, and SOCKS5 protocols
|
|
39
|
+
- Proxy authentication (username/password)
|
|
40
|
+
- Bypass list with wildcard pattern matching
|
|
41
|
+
- Proxy URL generation with credential encoding
|
|
42
|
+
- **Response Compression**: Automatic compression/decompression
|
|
43
|
+
- Support for gzip, brotli, and deflate compression
|
|
44
|
+
- Automatic Accept-Encoding header generation
|
|
45
|
+
- Automatic response decompression
|
|
46
|
+
- Compression statistics and ratio calculation
|
|
47
|
+
- Configurable compression threshold
|
|
48
|
+
|
|
49
|
+
### Added - Phase 2 Improvements
|
|
50
|
+
- **Retry Strategies**: Advanced retry logic with circuit breaker pattern
|
|
51
|
+
- Exponential, linear, and fixed backoff strategies
|
|
52
|
+
- Exponential backoff with jitter to prevent thundering herd
|
|
53
|
+
- Circuit breaker pattern for failing services
|
|
54
|
+
- Configurable retry based on error type and status code
|
|
55
|
+
- Half-open state for gradual recovery
|
|
56
|
+
- **Query Prioritization**: Priority queue system for managing query execution
|
|
57
|
+
- High, normal, and low priority levels
|
|
58
|
+
- Configurable concurrency control
|
|
59
|
+
- Automatic queue processing
|
|
60
|
+
- Queue statistics and monitoring
|
|
61
|
+
- **Enhanced Validation**: Improved input validation with international support
|
|
62
|
+
- IDN (Internationalized Domain Names) support with punycode conversion
|
|
63
|
+
- IPv6 with zone ID support (e.g., fe80::1%eth0)
|
|
64
|
+
- ASN range validation (e.g., AS15169-AS15200)
|
|
65
|
+
- Email and phone number validation
|
|
66
|
+
- URL validation
|
|
67
|
+
- **Persistent Cache**: Cache that survives application restarts
|
|
68
|
+
- File-based and memory-based storage
|
|
69
|
+
- Automatic save intervals
|
|
70
|
+
- TTL and max size enforcement
|
|
71
|
+
- LRU eviction policy
|
|
72
|
+
- Cache statistics and cleanup
|
|
73
|
+
|
|
74
|
+
### Changed
|
|
75
|
+
- **Exports**: Added new exports for Phase 2 features in index.ts
|
|
76
|
+
|
|
77
|
+
### Tests
|
|
78
|
+
- Added comprehensive test suites for Phase 3 features:
|
|
79
|
+
- `authentication-manager.test.ts`: 17 tests covering all auth methods
|
|
80
|
+
- `proxy-manager.test.ts`: 16 tests covering proxy configuration
|
|
81
|
+
- `compression-manager.test.ts`: 19 tests covering compression/decompression
|
|
82
|
+
- Added comprehensive test suites for Phase 2 features:
|
|
83
|
+
- `retry-strategy.test.ts`: 13 tests covering retry logic and circuit breaker
|
|
84
|
+
- `query-priority.test.ts`: 8 tests covering priority queue functionality
|
|
85
|
+
- `enhanced-validators.test.ts`: 21 tests covering validation enhancements
|
|
86
|
+
- `persistent-cache.test.ts`: 13 tests covering persistent storage
|
|
87
|
+
|
|
88
|
+
### Performance
|
|
89
|
+
- **Retry Strategies**: Intelligent retry reduces failed requests
|
|
90
|
+
- **Query Prioritization**: Critical queries execute first
|
|
91
|
+
- **Persistent Cache**: Faster startup with pre-loaded cache
|
|
92
|
+
|
|
93
|
+
## [0.1.2] - 2026-01-26
|
|
94
|
+
|
|
95
|
+
### Added - Phase 1 Improvements
|
|
96
|
+
- **Connection Pooling**: HTTP connection reuse for 30-40% performance improvement
|
|
97
|
+
- Configurable max connections per host
|
|
98
|
+
- Automatic idle connection cleanup
|
|
99
|
+
- Keep-alive support for persistent connections
|
|
100
|
+
- **Metrics & Monitoring**: Comprehensive query metrics tracking
|
|
101
|
+
- Success/failure rates and response times
|
|
102
|
+
- Cache hit/miss statistics
|
|
103
|
+
- Query type distribution (domain/IP/ASN)
|
|
104
|
+
- Error type tracking
|
|
105
|
+
- Time-based filtering and analysis
|
|
106
|
+
- **Request/Response Logging**: Detailed logging system with multiple levels
|
|
107
|
+
- Configurable log levels (debug, info, warn, error)
|
|
108
|
+
- Request/response logging with timing
|
|
109
|
+
- Cache operation logging
|
|
110
|
+
- Performance metrics logging
|
|
111
|
+
- JSON and text output formats
|
|
112
|
+
- Log filtering and export capabilities
|
|
113
|
+
- **Client API Extensions**: New methods for monitoring and debugging
|
|
114
|
+
- `getMetrics()`: Get query metrics summary
|
|
115
|
+
- `getConnectionPoolStats()`: Get connection pool statistics
|
|
116
|
+
- `getLogger()`: Access logger instance
|
|
117
|
+
- `getLogs()`: Retrieve recent logs
|
|
118
|
+
- `clearAll()`: Clear all caches, metrics, and logs
|
|
119
|
+
- `destroy()`: Clean up resources
|
|
120
|
+
|
|
121
|
+
### Changed
|
|
122
|
+
- **QueryOrchestrator**: Integrated logging and metrics collection into all query methods
|
|
123
|
+
- **RDAPClient**: Added connection pool, metrics collector, and logger initialization
|
|
124
|
+
|
|
125
|
+
### Tests
|
|
126
|
+
- Added comprehensive test suites for new features:
|
|
127
|
+
- `connection-pool.test.ts`: 9 tests covering connection management
|
|
128
|
+
- `metrics-collector.test.ts`: 11 tests covering metrics tracking
|
|
129
|
+
- `logger.test.ts`: 18 tests covering logging functionality
|
|
130
|
+
|
|
131
|
+
## [0.1.1] - 2026-01-25
|
|
132
|
+
|
|
133
|
+
### Added
|
|
134
|
+
- **Rate Limiting**: Token bucket rate limiter with multi-key support and auto-cleanup
|
|
135
|
+
- **Batch Processing**: Efficient concurrent processing of multiple RDAP queries
|
|
136
|
+
- **Enhanced Error Handling**: Errors now include suggestions, timestamps, and user-friendly messages
|
|
137
|
+
- **Generic Types**: Type-safe query functions with automatic result type inference
|
|
138
|
+
- **Tree Shaking Support**: Modular exports for smaller bundle sizes
|
|
139
|
+
- **Comprehensive Tests**: Added 37+ new tests for PIIRedactor, CacheManager, and RateLimiter
|
|
140
|
+
|
|
141
|
+
### Changed
|
|
142
|
+
- **Error Classes**: All errors now include `suggestion`, `timestamp`, and `getUserMessage()` method
|
|
143
|
+
- **RateLimitError**: Added `retryAfter` field to indicate when to retry
|
|
144
|
+
- **Package Exports**: Added modular exports for errors, types, and validators
|
|
145
|
+
- **TypeScript Config**: Optimized for better tree shaking and smaller output
|
|
146
|
+
|
|
147
|
+
### Improved
|
|
148
|
+
- **Test Coverage**: Increased from 76.74% to ~85-90% (estimated)
|
|
149
|
+
- **Type Safety**: Better generic types for query operations
|
|
150
|
+
- **Developer Experience**: More helpful error messages and suggestions
|
|
151
|
+
- **Performance**: Batch processing with configurable concurrency
|
|
152
|
+
|
|
153
|
+
### Fixed
|
|
154
|
+
- Fixed prism-react-renderer theme import in Docusaurus configuration
|
|
155
|
+
- Fixed MDX compilation errors caused by unescaped `<` and `>` characters in markdown tables
|
|
156
|
+
- Fixed self-closing HTML tags (`<br>` → `<br/>`) in documentation
|
|
157
|
+
- Fixed deprecated GitHub Actions (upload-artifact@v3 → v4, actions/create-release → softprops/action-gh-release)
|
|
158
|
+
- Fixed empty workflow file (examples.yml)
|
|
159
|
+
- Fixed missing sidebars.js configuration
|
|
160
|
+
- Removed empty pages causing build failures
|
|
161
|
+
|
|
162
|
+
### Changed
|
|
163
|
+
- Standardized Node.js version to v20 across all GitHub Actions workflows
|
|
164
|
+
- Updated all workflows to use `node-version-file: .nvmrc` for consistency
|
|
165
|
+
- Improved npm caching in CI/CD workflows for faster builds
|
|
166
|
+
- Added `NODE_ENV: production` to website build workflow
|
|
167
|
+
- Added `onBrokenMarkdownImages: 'warn'` to Docusaurus config
|
|
168
|
+
- Enhanced release workflow with better error handling
|
|
169
|
+
|
|
170
|
+
### Added
|
|
171
|
+
- Created SVG placeholder icons for homepage features (typescript, performance, security, multi-env, unified, privacy)
|
|
172
|
+
- Added examples validation workflow
|
|
173
|
+
- Added fork check for Snyk security scans to prevent token exposure
|
|
174
|
+
- Added comprehensive CI/CD fixes documentation
|
|
175
|
+
|
|
176
|
+
## [0.1.0] - 2025-01-25
|
|
177
|
+
|
|
178
|
+
### Added
|
|
179
|
+
- Initial public release of RDAPify
|
|
180
|
+
- Core RDAP client with domain, IP, and ASN query support
|
|
181
|
+
- Automatic RDAP server discovery via IANA Bootstrap
|
|
182
|
+
- SSRF protection with proper CIDR matching for IPv4 and IPv6
|
|
183
|
+
- PII redaction for GDPR/CCPA compliance
|
|
184
|
+
- In-memory caching with configurable TTL
|
|
185
|
+
- Data normalization for consistent response format
|
|
186
|
+
- Comprehensive TypeScript types and interfaces
|
|
187
|
+
- Input validation for domains, IPs, and ASNs
|
|
188
|
+
- Retry logic with configurable backoff strategies
|
|
189
|
+
- Interactive playground for testing RDAP queries
|
|
190
|
+
- Playground API proxy server with Express
|
|
191
|
+
- Comprehensive community health files (SECURITY.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SUPPORT.md)
|
|
192
|
+
- Issue templates (bug report, feature request, question)
|
|
193
|
+
- Pull request template with comprehensive checklist
|
|
194
|
+
- Funding configuration for GitHub Sponsors and Open Collective
|
|
195
|
+
- Organization profile with professional presentation
|
|
196
|
+
|
|
197
|
+
### Infrastructure
|
|
198
|
+
- CI/CD workflows for Node.js 16, 18, and 20
|
|
199
|
+
- CodeQL security analysis (weekly scans)
|
|
200
|
+
- Dependabot for automated dependency updates
|
|
201
|
+
- Dependency review for pull requests
|
|
202
|
+
- Automated testing and linting
|
|
203
|
+
- GitHub Actions for release automation
|
|
204
|
+
|
|
205
|
+
### Security
|
|
206
|
+
- SSRF protection blocks private IPs, localhost, and internal domains
|
|
207
|
+
- Certificate validation enforced (HTTPS only)
|
|
208
|
+
- Proper CIDR matching using ipaddr.js library
|
|
209
|
+
- Input validation prevents injection attacks
|
|
210
|
+
- Automated security scanning with CodeQL
|
|
211
|
+
- Secret scanning configuration
|
|
212
|
+
- Dependabot security updates
|
|
213
|
+
|
|
214
|
+
### Documentation
|
|
215
|
+
- Comprehensive README with examples
|
|
216
|
+
- API documentation
|
|
217
|
+
- Security policy
|
|
218
|
+
- Contributing guidelines
|
|
219
|
+
- Code of conduct
|
|
220
|
+
- Support resources
|
|
221
|
+
|
|
222
|
+
### Testing
|
|
223
|
+
- 146+ unit and integration tests
|
|
224
|
+
- Mocked fixtures for reliable testing
|
|
225
|
+
- Coverage reporting
|
|
226
|
+
|
|
227
|
+
## [0.1.0-alpha.4] - 2025-01-25
|
|
228
|
+
|
|
229
|
+
### Added
|
|
230
|
+
- Dependabot configuration for automated dependency updates
|
|
231
|
+
- Enhanced CI/CD workflows with multi-version Node.js testing (Node.js 16, 18, 20)
|
|
232
|
+
- CodeQL security analysis workflow (weekly scans)
|
|
233
|
+
- Dependency review workflow for pull requests
|
|
234
|
+
- Interactive playground for testing RDAP queries
|
|
235
|
+
- Playground API proxy server with Express
|
|
236
|
+
- Comprehensive community health files (SECURITY.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SUPPORT.md)
|
|
237
|
+
- Issue templates (bug report, feature request, question)
|
|
238
|
+
- Pull request template with comprehensive checklist
|
|
239
|
+
- Funding configuration for GitHub Sponsors and Open Collective
|
|
240
|
+
- Organization profile with professional presentation
|
|
241
|
+
|
|
242
|
+
### Changed
|
|
243
|
+
- Improved CI workflow to test on multiple Node.js versions
|
|
244
|
+
- Simplified CodeQL configuration
|
|
245
|
+
- Updated organization profile with professional presentation
|
|
246
|
+
- Enhanced documentation structure
|
|
247
|
+
- Improved .gitignore to exclude .kiro directory
|
|
248
|
+
|
|
249
|
+
### Security
|
|
250
|
+
- Added automated security scanning with CodeQL
|
|
251
|
+
- Enabled dependency review for pull requests
|
|
252
|
+
- Configured Dependabot for security updates
|
|
253
|
+
- Set up weekly security scans
|
|
254
|
+
|
|
255
|
+
### Infrastructure
|
|
256
|
+
- Added CI/CD workflows for automated testing
|
|
257
|
+
- Configured Dependabot for dependency management
|
|
258
|
+
- Set up CodeQL for security analysis
|
|
259
|
+
|
|
260
|
+
## [0.1.0-alpha.2] - 2026-01-22
|
|
261
|
+
|
|
262
|
+
### Fixed
|
|
263
|
+
- Cancel timeout timer in `withTimeout()` to prevent Jest exit warning
|
|
264
|
+
- Improve integration test fetch mock cleanup with proper `beforeEach`/`afterEach`
|
|
265
|
+
|
|
266
|
+
## [0.1.0-alpha.1] - 2026-01-22
|
|
267
|
+
|
|
268
|
+
### Added
|
|
269
|
+
- Initial alpha release of RDAPify
|
|
270
|
+
- Core RDAP client with domain, IP, and ASN query support
|
|
271
|
+
- Automatic RDAP server discovery via IANA Bootstrap
|
|
272
|
+
- SSRF protection with proper CIDR matching for IPv4 and IPv6
|
|
273
|
+
- PII redaction for GDPR/CCPA compliance
|
|
274
|
+
- In-memory caching with configurable TTL
|
|
275
|
+
- Data normalization for consistent response format
|
|
276
|
+
- Comprehensive TypeScript types and interfaces
|
|
277
|
+
- Input validation for domains, IPs, and ASNs
|
|
278
|
+
- Retry logic with configurable backoff strategies
|
|
279
|
+
- 146 unit and integration tests with mocked fixtures
|
|
280
|
+
|
|
281
|
+
### Security
|
|
282
|
+
- SSRF protection blocks private IPs, localhost, and internal domains
|
|
283
|
+
- Certificate validation enforced (HTTPS only)
|
|
284
|
+
- Proper CIDR matching using ipaddr.js library
|
|
285
|
+
- Input validation prevents injection attacks
|
|
286
|
+
|
|
287
|
+
### Known Limitations
|
|
288
|
+
- Redis cache not yet implemented (in-memory only)
|
|
289
|
+
- No CLI tool in this release
|
|
290
|
+
- Bun/Deno/Cloudflare Workers support untested
|
|
291
|
+
- Live integration tests not included in CI
|
|
292
|
+
- Documentation references features not yet available
|
|
293
|
+
|
|
294
|
+
### Dependencies
|
|
295
|
+
- ipaddr.js: ^2.2.0 (for CIDR matching)
|
|
296
|
+
- tslib: ^2.8.1 (TypeScript runtime)
|
|
297
|
+
|
|
298
|
+
### Development
|
|
299
|
+
- TypeScript 5.3.3 with strict mode
|
|
300
|
+
- Jest for testing
|
|
301
|
+
- ESLint for code quality
|
|
302
|
+
- Prettier for code formatting
|
|
303
|
+
|
|
304
|
+
## [Unreleased]
|
|
305
|
+
|
|
306
|
+
### Planned for v0.2.0
|
|
307
|
+
- Redis cache implementation
|
|
308
|
+
- CLI tool for quick queries
|
|
309
|
+
- Live integration tests
|
|
310
|
+
- Improved error messages
|
|
311
|
+
- Performance benchmarks
|
|
312
|
+
- Additional runtime support (Bun, Deno)
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
[0.1.0-alpha.1]: https://github.com/rdapify/rdapify/releases/tag/v0.1.0-alpha.1
|