Releases: OpenBioCard/OpenBioCardServer
Releases · OpenBioCard/OpenBioCardServer
Dev. v2025.12.23.A
🚀 Update Log
⚠️ BREAKING CHANGEPlease Note: This release modifies the database entity model. Launching the application with a database from a previous version will cause errors. You may need to manually migrate your data or alter the database schema to match the new structure.
✨ New Features & Improvements
- 🔄 Incremental Updates: Added support for incremental Profile updates. The full-update API remains available.
- 👤 Account Types: Added support for selecting an Account Type in Profiles.
- 🏗️ Database Optimization: Refactored the database structure to pave the way for upcoming features (such as Account Types, multi-language profiles, etc.).
- 🎨 Code Refactoring: Optimized naming conventions for various data structures to improve code clarity.
Dev. v2025.12.22.B
Update Log
This version mainly includes some project code optimizations.
- The login API now supports passing parameters via GET.
Dev. v2025.12.22.A
Update Log
- Added support for importing and exporting User Profile data
Dev. v2025.12.21.A
Update Log
- Optimized the rate-limiting section in the configuration file.
- Added a health check endpoint.
- Fixed the issue of service unavailability caused by database connection pool exhaustion due to instantaneous requests. Now uses a dedicated library for caching and provides more detailed configuration parameters.
Dev. v2025.12.20.B
Update Log
- Optimized project code to make it cleaner and more readable
- The API for public website settings is now cached to improve request handling performance
- Added validators for all configuration file entries. Invalid configurations will now cause the server to refuse startup.
Dev. v2025.12.20.A (Cache)
Update Log
- Optimized Base64 processing logic: Achieved a noticeable improvement in processing performance.
- Added Cache Support for User Profile API: Now supports Memory Cache (default) or Redis. When caching is enabled, request processing efficiency reaches incredible levels in certain scenarios. Please refer to the stress test results below for details.
Simple Stress Test (For Reference Only)
- Test Configuration: Local Debug environment, SQLite database, Log level set to Warning to minimize I/O impact.
- Test Duration: Each test lasted approximately 30 seconds.
- Concurrency:
- With Cache: 8 concurrent threads.
- Without Cache: 4 concurrent threads.
- Disclaimer: Non-standardized benchmark; results are indicative only.
Due to the performance limitations of the testing tool itself, these results may not fully represent real-world high-load scenarios.
⚡ Performance With Cache Enabled
(Using the default configuration: Memory Cache)
| Test Scenario | Duration | Average RPS (Req/s) | Total Requests | Avg Response Size | Total Data Throughput |
|---|---|---|---|---|---|
| Plain Text / No Images (User Profile with almost no images) |
30.12s | 95,334.10 ⚡⚡ | 2,871,595 | 1.03 KB | 2,889.19 MB |
| Few Images (User Profile with a moderate number of images) |
30.13s | 744.12 ⚡ | 22,424 | 3.42 MB | 76,615.90 MB |
| Many Images (User Profile with a large number of images) |
30.13s | 85.14 ⚡ | 2,565 | 24.83 MB | 63,688.72 MB |
🐢 Performance Without Cache
| Test Scenario | Duration | Average RPS (Req/s) | Total Requests | Avg Response Size | Total Data Throughput |
|---|---|---|---|---|---|
| Plain Text / No Images (User Profile with almost no images) |
30.12s | 3,783.58 | 113,971 | 1.03 KB | 114.67 MB |
| Few Images (User Profile with a moderate number of images) |
30.13s | 222.56 | 6,706 | 3.42 MB | 22,912.34 MB |
| Many Images (User Profile with a large number of images) |
30.13s | 39.86 | 1,201 | 24.83 MB | 29,820.72 MB |
Dev. v2025.12.19.D
Update Log
- Used transactions to improve reliability
- Optimized database write performance. With a large number of images, write performance improved by ~23 times (7.8s -> 347ms). (Local SQLite)
Simple Stress Test (For Reference Only)
- Test Configuration: Local Debug environment, SQLite database, log level adjusted to Warning to reduce I/O impact.
- Stress Test: Conducted using 4 concurrent threads, each test lasting approximately 180 seconds.
- Disclaimer: Non-standardized benchmark; results are indicative only.
| Test Scenario | Test Duration | Average RPS (Req/s) | Total Requests | Average Response Size | Total Data Throughput |
|---|---|---|---|---|---|
| Plain Text / No Images (User Profile with almost no images) |
180s | 3,867.14 | 696,492 | 1.03 KB | 700.76 MB |
| Few Images (User Profile with a moderate number of images) |
180s | 199.61 | 35,955 | 3.42 MB | 122,847.15 MB |
| Many Images (User Profile with a large number of images) |
180s | 34.39 | 6,195 | 24.83 MB | 153,821.29 MB |
Dev. v2025.12.19.C
Update Log
- Significantly optimized SQL read performance. Reading performance has improved by ~166 times (5.0s -> 30ms) in cases involving a large number of images. (Local SQLite)
Dev. v2025.12.19.B (Security)
Security Update
- Fixed a critical authentication vulnerability
If you have already deployed an older version, please upgrade immediately!
Dev. v2025.12.19.A
Update Log
- Added website title and LOGO setting functionality
- Updated compatibility layer API to support new frontend features