Skip to content

Commit e2bb66c

Browse files
committed
IronDrop: bump version to v2.6.4
1 parent 2347f96 commit e2bb66c

12 files changed

Lines changed: 72 additions & 54 deletions

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "irondrop"
3-
version = "2.6.3"
3+
version = "2.6.4"
44
edition = "2024"
55
license = "MIT"
66
description = "Drop files, not dependencies - a well tested fully featured & battle-ready server in a single Rust binary with support for indexing through 10M files."

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -242,16 +242,16 @@ IronDrop has extensive documentation covering its architecture, API, and feature
242242
243243
## Testing
244244
245-
IronDrop is rigorously tested with **189 comprehensive tests across 16 test files** covering all aspects of functionality.
245+
IronDrop is rigorously tested with **199 comprehensive tests across 16 test files** covering all aspects of functionality.
246246
247247
### Test Categories
248-
- **Integration Tests** (8 tests): End-to-end functionality and HTTP handling
248+
- **Integration Tests** (16 tests): End-to-end functionality and HTTP handling
249249
- **Monitor Tests** (2 tests): Real-time monitoring dashboard and metrics
250-
- **Rate Limiter Tests** (5 tests): Memory-based rate limiting and DoS protection
251-
- **Template Tests** (7 tests): Embedded template system and rendering
252-
- **Ultra-Compact Search Tests** (5 tests): Advanced search engine functionality
250+
- **Rate Limiter Tests** (7 tests): Memory-based rate limiting and DoS protection
251+
- **Template Tests** (8 tests): Embedded template system and rendering
252+
- **Ultra-Compact Search Tests** (10 tests): Advanced search engine functionality
253253
- **Configuration Tests** (12 tests): INI parsing and configuration validation
254-
- **Core Server & Unit Tests** (41 tests): Library functions, utilities, and core logic
254+
- **Core Server & Unit Tests** (40 tests): Library functions, utilities, and core logic
255255
256256
```bash
257257
# Run all tests
@@ -278,7 +278,7 @@ IronDrop is licensed under the [MIT License](./LICENSE).
278278
<div align="center">
279279
<p>
280280
<strong>Made with ❤️ and 🦀 in Rust</strong><br>
281-
<em>Zero dependencies • Production ready • Battle tested with 189 comprehensive tests</em>
281+
<em>Zero dependencies • Production ready • Battle tested with 199 comprehensive tests</em>
282282
</p>
283283
<p>
284284
<a href="https://github.com/dev-harsh1998/IronDrop">⭐ Star us on GitHub</a>

doc/API_REFERENCE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# IronDrop API Reference v2.5
1+
# IronDrop API Reference v2.6.4
22

33
## Overview
44

@@ -193,7 +193,7 @@ Content-Type: text/html; charset=utf-8
193193
#### `POST /_irondrop/upload`
194194
Uploads files using direct binary streaming for optimal performance and unlimited file size support.
195195

196-
**Direct Upload Features (v2.5):**
196+
**Direct Upload Features (v2.6.4):**
197197
- **Direct Binary Streaming**: No multipart parsing overhead
198198
- **Automatic Mode Selection**: Small uploads (≤2MB) processed in memory, large uploads (>2MB) streamed to disk
199199
- **Constant Memory Usage**: ~7MB RAM usage regardless of file size
@@ -827,4 +827,4 @@ All inputs are validated:
827827
- File names for path traversal attempts
828828
- HTTP headers for malformed content
829829

830-
This API reference covers all functionality available in IronDrop v2.6 and provides comprehensive examples for client integration.
830+
This API reference covers all functionality available in IronDrop v2.6.4 and provides comprehensive examples for client integration.

doc/ARCHITECTURE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# IronDrop Architecture Documentation v2.5
1+
# IronDrop Architecture Documentation v2.6.4
22

33
## Overview
44

@@ -179,7 +179,7 @@ tests/
179179
├── test_1gb_upload.sh # Large file upload testing
180180
└── test_executable_portability.sh # Portability validation
181181
182-
Total: 189 tests across 16 test files
182+
Total: 199 tests across 16 test files
183183
```
184184

185185
## Search System Architecture
@@ -257,7 +257,7 @@ Request → Cache Check → Hit: Return Cached Results
257257
## HTTP Layer Streaming Architecture
258258

259259
### Overview
260-
IronDrop v2.5 introduces advanced HTTP layer streaming for efficient handling of large file uploads. The system automatically switches between memory-based and disk-based processing based on content size, providing optimal performance and resource utilization.
260+
IronDrop v2.6.4 provides advanced HTTP layer streaming for efficient handling of large file uploads. The system automatically switches between memory-based and disk-based processing based on content size, providing optimal performance and resource utilization.
261261

262262
### RequestBody Architecture
263263

@@ -577,4 +577,4 @@ pub enum AppError {
577577
4. **CDN Integration**: Edge caching and global distribution
578578
5. **Database Caching**: Redis integration for session management
579579

580-
This architecture documentation reflects the current state of IronDrop v2.5 and serves as a foundation for understanding the system's design principles, implementation details, and operational characteristics.
580+
This architecture documentation reflects the current state of IronDrop v2.6.4 and serves as a foundation for understanding the system's design principles, implementation details, and operational characteristics.

doc/CONFIGURATION_SYSTEM.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## IronDrop Configuration System (v2.6)
1+
## IronDrop Configuration System (v2.6.4)
22

33
### Overview
44
IronDrop 2.5 introduces a first‑class configuration system with hierarchical precedence and zero external dependencies. It complements (not replaces) the existing CLI flags, enabling reproducible deployments, easier automation, and environment portability. The system is intentionally simple: an internal INI parser (`src/config/ini_parser.rs`) plus a composition layer (`src/config/mod.rs`) that merges values from multiple sources.

doc/DEPLOYMENT.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# IronDrop Deployment Guide v2.5
1+
# IronDrop Deployment Guide v2.6.4
22

33
## Overview
44

@@ -674,4 +674,4 @@ perf record -g irondrop -d /srv/files
674674
strace -p $(pgrep irondrop)
675675
```
676676

677-
This deployment guide provides comprehensive coverage of production deployment scenarios and operational best practices for IronDrop v2.5.
677+
This deployment guide provides comprehensive coverage of production deployment scenarios and operational best practices for IronDrop v2.6.4.

doc/HTTP_STREAMING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# IronDrop Direct Upload Streaming (v2.6)
1+
# IronDrop Direct Upload Streaming (v2.6.4)
22

33
## Overview
44

55
IronDrop implements direct streaming uploads. Large request bodies are streamed to disk, avoiding unbounded memory growth. Small bodies are processed in memory.
66

7-
**Status**: Production-ready (v2.5)
7+
**Status**: Production-ready (v2.6.4)
88
- Direct streaming implementation with bounded memory usage
99
- Handling from small to very large files
1010
- Tests cover stability and cleanup
@@ -310,7 +310,7 @@ The streaming system integrates with IronDrop's monitoring:
310310

311311
## Version History
312312

313-
- **v2.6**: Direct streaming implementation with unlimited file size support
313+
- **v2.6.4**: Direct streaming implementation with unlimited file size support
314314
- Automatic memory/disk switching based on content size
315315
- `RequestBody` enum with `Memory` and `File` variants
316316
- Comprehensive test coverage with dedicated streaming tests

doc/MONITORING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# IronDrop Monitoring Guide (v2.6)
1+
# IronDrop Monitoring Guide (v2.6.4)
22

33
This guide documents the built-in monitoring capabilities introduced with the `/monitor` endpoint and supporting health APIs.
44

@@ -125,4 +125,4 @@ done
125125
Monitoring schema may evolve with additive fields. Consumers should ignore unknown keys. Breaking changes (renames/removals) will bump minor version >= 2.x.
126126

127127
---
128-
*Monitoring Guide for IronDrop v2.6*
128+
*Monitoring Guide for IronDrop v2.6.4*

doc/MULTIPART_README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# IronDrop Direct Upload System v2.5
1+
# IronDrop Direct Upload System v2.6.4
22

33
This document describes the simplified direct upload system that replaced the multipart parser in IronDrop.
44

55
## Overview
66

7-
IronDrop v2.5 removed multipart parsing in favor of a direct binary upload system focused on predictable memory use and simpler processing. The system handles raw binary uploads with bounded memory.
7+
IronDrop replaces legacy multipart parsing with a direct binary upload system focused on predictable memory use and simpler processing. The system handles raw binary uploads with bounded memory. (v2.6.4)
88

99
**Current Status**: Production-ready with direct streaming implementation and comprehensive test coverage (verified memory stability across all file sizes).
1010

doc/README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Recent updates include direct streaming uploads and the ultra-compact search mod
2626
- Security architecture and defense-in-depth implementation
2727
- Performance characteristics and scalability considerations
2828
- Template system design and asset pipeline
29-
- Testing architecture with 189 comprehensive tests across 16 test files
29+
- Testing architecture with 199 comprehensive tests across 16 test files
3030

3131
**Key Sections:**
3232
- Core module breakdown with line counts and responsibilities
@@ -91,15 +91,15 @@ Native zero-dependency template engine: variables, conditionals, embedded assets
9191
**Purpose**: Comprehensive testing suite documentation and validation procedures
9292

9393
**Contents:**
94-
- **Complete Test Coverage**: 189 tests across 16 test files covering all functionality
94+
- **Complete Test Coverage**: 199 tests across 16 test files covering all functionality
9595
- **Test Categories**: Core server, integration, edge cases, memory optimization, performance, stress testing, streaming
9696
- **Security Testing**: Path traversal prevention, input validation, authentication mechanisms
9797
- **Performance Benchmarks**: Memory efficiency targets, upload speed thresholds, stress test metrics
9898
- **Shell Script Tests**: End-to-end validation, large file uploads, executable portability
9999
- **Streaming Tests**: HTTP layer streaming validation and large file bash integration tests
100100
- **Test Infrastructure**: Helper functions, data management, execution procedures
101101

102-
**Implementation Status**: ✅ **Production Ready** (v2.6)
102+
**Implementation Status**: ✅ **Production Ready** (v2.6.4)
103103
- **English-Only Testing**: All test messages and output standardized to English
104104
- **Comprehensive Coverage**: Edge cases, security scenarios, performance validation, and streaming functionality
105105
- **Memory Optimization Tests**: Ultra-compact search engine validation for 10M+ files
@@ -119,7 +119,7 @@ Native zero-dependency template engine: variables, conditionals, embedded assets
119119
- Multi-file concurrent upload handling
120120
- Client-side validation and error handling
121121

122-
**Implementation Status**: ✅ **Production Ready** (v2.5)
122+
**Implementation Status**: ✅ **Production Ready** (v2.6.4)
123123
- Complete upload system with 29 comprehensive tests
124124
- Professional UI matching IronDrop's design language
125125
- Integrated with template engine and security systems
@@ -136,7 +136,7 @@ Native zero-dependency template engine: variables, conditionals, embedded assets
136136
- CLI configuration security enhancements
137137
- Defense-in-depth implementation details
138138

139-
**Security Status**: ✅ **Fully Implemented** (v2.5)
139+
**Security Status**: ✅ **Fully Implemented** (v2.6.4)
140140
- Comprehensive input validation at multiple layers
141141
- System directory blacklisting and write permission checks
142142
- Direct streaming with unlimited file size support
@@ -154,7 +154,7 @@ Native zero-dependency template engine: variables, conditionals, embedded assets
154154
- Configuration options and customization
155155
- Comprehensive API usage examples
156156

157-
**Implementation Status**: ✅ **Production Ready** (v2.5.1)
157+
**Implementation Status**: ✅ **Production Ready** (v2.6.4)
158158
- RFC 7578 compliance with robust boundary detection and streaming support
159159
- Advanced streaming implementation for memory-efficient large file processing
160160
- 7+ dedicated test cases covering edge cases and streaming scenarios
@@ -175,7 +175,7 @@ Native zero-dependency template engine: variables, conditionals, embedded assets
175175
- **Integration Guide**: Seamless integration with existing upload handlers
176176
- **Testing Framework**: Comprehensive test coverage with dedicated HTTP streaming tests
177177

178-
**Implementation Status**: ✅ **Production Ready** (v2.5)
178+
**Implementation Status**: ✅ **Production Ready** (v2.6.4)
179179
- **Automatic Mode Selection**: ≤1MB in memory, >1MB streamed to disk
180180
- **Zero Configuration**: Works transparently with existing upload handlers
181181
- **Resource Protection**: Prevents memory exhaustion from large uploads
@@ -211,7 +211,7 @@ Native zero-dependency template engine: variables, conditionals, embedded assets
211211
- Security implementation and access control
212212
- Configuration options and troubleshooting guide
213213

214-
**Implementation Status**: ✅ **Production Ready** (v2.5)
214+
**Implementation Status**: ✅ **Production Ready** (v2.6.4)
215215
- **Standard Search Engine**: Thread-safe search with LRU caching (5-minute TTL)
216216
- **Ultra-Compact Search Engine**: Memory-optimized for massive directories (10M+ files)
217217
- **Automatic Mode Selection**: Transparent switching based on directory size
@@ -222,7 +222,7 @@ Native zero-dependency template engine: variables, conditionals, embedded assets
222222
- Accessibility-compliant UI with keyboard navigation support
223223
- Performance testing and benchmarking infrastructure
224224

225-
**🎉 NEW in v2.6**: Revolutionary direct streaming upload system with **unlimited file size support**, constant memory usage (~7MB), and simplified binary upload architecture.
225+
**🎉 NEW in v2.6**: Revolutionary direct streaming upload system with **unlimited file size support**, constant memory usage (~7MB), and simplified binary upload architecture. (v2.6.4)
226226

227227
---
228228

@@ -330,7 +330,7 @@ Open a browser at [http://127.0.0.1:8080](http://127.0.0.1:8080) and you will se
330330

331331
---
332332

333-
## 🎉 What's New in v2.5
333+
## 🎉 What's New in v2.6.4
334334

335335
### 📤 **Complete File Upload System**
336336
IronDrop v2.5 introduces a **production-ready file upload system** with enterprise-grade features:
@@ -339,7 +339,7 @@ IronDrop v2.5 introduces a **production-ready file upload system** with enterpri
339339
- **⚡ Performance**: Handles unlimited file sizes with constant memory usage and concurrent processing
340340
- **🎨 Professional UI**: Integrated upload interface accessible at `/upload` with real-time feedback
341341
- **🛡️ Robust Validation**: Multi-layer security including extension filtering, size limits, and malformed data rejection
342-
- **🧪 Battle-Tested**: 189 tests across 16 test files covering edge cases, security scenarios, and performance stress testing
342+
- **🧪 Battle-Tested**: 199 tests across 16 test files covering edge cases, security scenarios, and performance stress testing
343343

344344
### 🔍 **Advanced Search System** (New in v2.5)
345345
IronDrop v2.5 introduces a **dual-mode search engine** optimized for directories of any size:
@@ -625,7 +625,7 @@ Every module is documented and formatted with `cargo fmt` and `clippy -- -D warn
625625

626626
### Comprehensive Test Suite
627627

628-
The project includes **189 comprehensive tests across 16 test files** covering all aspects of functionality, with complete upload system validation:
628+
The project includes **199 comprehensive tests across 16 test files** covering all aspects of functionality, with complete upload system validation:
629629

630630
```bash
631631
# Run all tests (covers upload, download, security, concurrency)
@@ -977,7 +977,7 @@ UI system and template integration:
977977

978978
### 🧪 **Testing & Quality Assurance**
979979

980-
IronDrop includes **189 comprehensive tests across 16 test files** covering:
980+
IronDrop includes **199 comprehensive tests across 16 test files** covering:
981981

982982
- **Core Server Tests** (19 tests): HTTP handling, directory listing, authentication
983983
- **Upload System Tests** (29 tests): File uploads, validation, concurrent handling
@@ -1069,7 +1069,7 @@ We welcome contributions! Here's how to get started:
10691069

10701070
### **For Developers**
10711071
- **Pure Rust**: No external dependencies, everything built from scratch
1072-
- **Comprehensive Tests**: 189 tests across 16 files ensure reliability and stability
1072+
- **Comprehensive Tests**: 199 tests across 16 files ensure reliability and stability
10731073
- **Clean Architecture**: Well-documented, modular codebase
10741074
- **Performance Focus**: Custom thread pool and optimized file streaming
10751075

0 commit comments

Comments
 (0)