Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified README.md
Binary file not shown.
39 changes: 35 additions & 4 deletions docs/release-notes/v0.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ Version 0.0.0 focuses on a simple API, core stability, and robust quality contro
- [2. Architectural & Usability Enhancements](#2-architectural--usability-enhancements)
- [3. Stability and Quality Assurance](#3-stability-and-quality-assurance)
- [4. Scope Clarification](#4-scope-clarification)
- [5. A History of Closed Issues to reach V0.0.0](#5-a-history-of-closed-issues-to-reach-v000)
- [5. Expansion Possibilities](#5-expansion-possibilities)
- [6. A History of Closed Issues to reach V0.0.0](#5-a-history-of-closed-issues-to-reach-v000)

## 1. Features
- **Simple API** for exposing and calling remote procedures.
Expand Down Expand Up @@ -44,8 +45,12 @@ Version 0.0.0 focuses on a simple API, core stability, and robust quality contro
## 4. Scope Clarification
Protocol Adherence: In this version, the project has consciously decided not to strictly adhere to RFC 1057 (Sun RPC).<br>SRPC is positioned as a prototyping and academic library rather than a production-ready system, allowing for faster<br> development and distributed systems principles.

## 5. Expansion Possibilities
- ***Performance Benchmarking*** — Implement comprehensive tests and metrics<br>(e.g., latency, throughput, resource utilization) to enable users to evaluate real-world behavior.
- ***Security Review*** — Analysis of serialization, transport layers, failure modes, in order to turn the library for broader deployment.
- ***Authentication & Authorization Layers*** — Provide mechanisms for authentication and access control, enabling secure RPC

## 5. A History of Closed Issues to reach V0.0.0
## 6. A History of Closed Issues to reach V0.0.0
This timeline reflects the project's maturation from its early stages to a more robust and organized state.

### Phase I: Addressing Core Stability and Infrastructure (May–August 2025)
Expand Down Expand Up @@ -117,7 +122,33 @@ changing the name from 'rpc' to 'srpc' (Simple RPC) in both library and generate
#### Issue #11: Encapsulate the binder logic inside server-stub (Completed: October 14, 2025):
This was a major usability enhancement. The logic for managing the server binder (thread, start, stop)<br>
was fully encapsulated within the generated `SrpcServerStub`. This simplified the user's server setup significantly,<br>
reducing initialization to the elegant, single-line form:
reducing initialization to the elegant, single-line form:

***Before***
```python
# rpc_server.py
from Rpc_Server_Binder import RpcServerBinder
from Calc_rpc_server_stub import RpcServerStub # from <Modulename>_rpc_server_stub import RpcServerStub
import threading

HOST = "localhost"
server_stub = RpcServerStub(HOST)
binder = RpcServerBinder(HOST)

binder_thread = threading.Thread(target=binder.start_binder, name="binder_thread", daemon=True)
binder_thread.start()

server_stub.start()
input("Server started, press any key to stop...")
binder.stop()
server_stub.stop()
```

***After***
```python
my_calc_srpc_server = SrpcServerStub()
# server.py
from srpc_calc_server_stub import SrpcCalcServerStub

calcServerStub = SrpcCalcServerStub()
calcServerStub.start()
```