All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Signing and verification of MIME messages
- Adjusted Control protocol to JSON-RPC 2.0 format
- DHT replication
- OpenSSL 3.0.0 support
- Disable Control by befault
- Load bootstrap nodes in case of low count of usual nodes (<10)
- Email send/recv to Identity as lymbda/bind = remove EmailWorker
- Userspace conf dir to
~/.config/pboted
with back compatible (copy old to new) - Autocrypt header added to whitelist
- I2P/Bote V4 parts will be removed on release 0.8.0
- Windows support
- Local DHT cleanup on startup
- Replaced
boost::filesystem
withstd::filesystem
- Reduced timeouts for faster processing
- Cleanup optimized
- Emails and Index cleanup moved to new email packets processing
- Incomplete task only try to restore mails from parts
- Sent Email remove request only after Index for this Email removed
- Shutdown optimization
- SMTP/POP3: High CPU usage
- SMTP: Message-ID setup
- Blocking on accept /receive
- Index cleanup logic
- Crash on new packet receive to already removed batch
- Logging of signals
- Email delivery confirmation
- Basic support for big messages (spliting huge email to ~30KiB packets)
- Clean unreachable peers and nodes (not responde more than 1 week by default)
- Email retrieving optimized
- Reduced waiting time for responses
- Files not needed in project were removed from
libi2pd
andi2psam
- Initialization and shutdown optimizations
- Bug with deadlock in POP3 RETR
- Bug with comparations of packet types
- Bug with Message-ID assignment
- Support for SECP521R1
- Support for X25519
- SAM session error handling and reconnecting
- Path parameter to store/load SAM destination key
- Cleaner for old index entries (remove old packets only if we have less than 10 MiB of free storage space)
- SMTP/POP3: Changed default ports
- Datagram receiving optimization
- Updated
i2pd
andi2psam
- Kilo and etc. formatted to Kibi and etc.
- Optimized filling for MIME fields FROM, SENDER, and TO
- Saving email to source outbox file after assigning an Message-ID to prevent re-sending with different Message-ID
- Simplified search for closest nodes
- Reworked calculation of the remaining responses
- Changed seeding of the random number generator
- Packets parsing optimization
- Save/remove logic for Index and Email packets
- Issue with index updating
- Issue with delete requests parsing
- Filesystem deadlock
- Leak in active batches
- Daemon initialization
- Some logs typos
- Filename conversion
- Overflow in uptime and traffic
- Some logs typos
- Updated used OpenSSL functions with
_EVP
- Message-ID not reset if exist
- Delete Auth not reset
- Email Hash verification
- Selection for compression/decompression algorithm
- Alias search for FROM and TO fields
- SMTP/POP3: Reworked session logic
- SMTP/POP3: Now both servers process connections sequentially without multithreading
- SMTP/POP3: Updated command processing logic
- Network improvements and optimizations
- Improved application initialization
- Peer min and max metric
- The node blocking mechanism has been redesigned
- SMTP/POP3: Added the 1 second delay to the loop as a workaround (the reason for the high load has been eliminated). Need to rework the solution with condition_variable (as a true way)
- Samples rollback if have no responses from peers
- Crash on remove iterated file
- Output of remain responses
- Node blocking logic
- Adding peer reachability
- Bug in MessageID conversion
- Control interface
- Updated
i2psam
andi2pd
submodules - Minor optimizations
- Crash when receiving/sending packets
- Bug with not closing socket
- ZLIB support
- Email Identity refactoring
- Message-ID usage
- Saving of Inbox messages
- Removing of old packets
- Logic for processing duplicated data
- Packet handler optimization
- POP3: response formatting optimization
- Optimization of arrays
- Delay in the loop to reduce the frequency of connection retries and not litter the log with errors
- Logic for correct Index Packet processing
- Memory leak in IVEC
- Import for
libi2pd
- Bug with padding in AES decryption
- GitHub Actions CI build
- Disk space usage limit config parameter
- Check store response status and do not move message to sent in case of failure
- Updated default config file
- Unused 7-zip SDK code
- Fixed
checkOutbox()
for non-alias addresses - Fixed response in case if disk usage limit reached
- POP3 client able to remove email after fetch
- README.md fixes and minor spelling
- Replacement of alias for SMTP-created mails
- POP3 server
- SMTP server
- Email Delete request for retrieved emails
- Index Delete request for retrieved Index packets
- Run CheckEmailTask with one identity without loop
- Handlee for bad requests
- After sending, email will be moved to sent with metadata
- Relay Peers reachability setup
- Full DHT node functionality
- Review Relay Peers worker
- Encrypting and sending MIME message
- DHT find
- Parse email identity from file
- Increasing and decreasing peer metrics
- Workaround for received peers and nodes - add to lists as DSA
- LZMA support
- Receiving, decrypting and decompressing of MIME message
- Remove
ClosestNodesLookupTask
and re-make it as function - Move
random_cid ()
to context - Change log format
- Network bug with trimming packages
- Peer creation with sign key type enumeration
- Identity loading
- Peers and DHT nodes interaction
- Complete relay peers discovery task
- Basic networking done
- SAMv3 session creation