v0.33.0: Optimized nomination, many registry features, fixed some RPC crashes
Major improvements since v0.32.0:
- Stats listening port and address configuration have changed (#2887)
- Configuration now recognizes
agora://
instead of TCP, default to port 2826 (#2883) - Fixed a crash that could happen when a stake for a key a node controlled was externalized by another node (#2895)
- The number of registry queries have been greatly optimized (#2899)
- RPC now keeps unmerged connection alive (#2904)
- Some RPC optimizations should result in less memory allocation (#2905)
- RPC now support HAProxy's proxy protocol V1 (#2863)
- RPC: Fixed a crash on wrong mutex lock (#2908)
- Nodes will now longer perform network-crawling discovery (#2911)
- Validators will now accept block with less-than-majority signature if their participation leads to majority (#2910)
- Nodes will now issue a configuration error instead of crashing on a wrong
network
configuration (#2912) - Flash:
ChannelConfig
struct has had a redundant field removed (#2917) - RPC: Fixed a race condition leading to a crash occuring on connection close (#2922)
- DNS resolver will now open the port with
SO_REUSEPORT
or equivalent, making node restart more seamless (#2703) - Name registry no longer assume it is primary, and can be caching or secondary (#2703)
- Validators will now always pick up when a stake they control was externalized by a third party (#2834)
- SCP: Nomination time has been greatly optimized (#2941)
- Length check on binary deserialization has been disabled to allow for larger blocks (#2956)
- Registry: TCP answers now use a larger buffer to allow for AXFR (#2946)
- Registry: Zone serial will now correctly increase when multiple updates per second happen (#2954)
- Redundant double spend validation has been removed to optimize validation time (#2950)
- Removed a spurious log message that would always been printed to the console (#2967)
- Configuration field
validator.registry_address
has been moved to thenode
section (#2968) - DNS: Fix a bug where the
OPT
record was 512 bytes at max, instead of at min (#2975) - DNS: Internal buffer size has been update to be in sync with the
OPT
record (2048 -> 4096) (#2977) - DNS resolver will now accept resolvers by host name, not only IP addresses (#2934)
- Improved nomination timer behavior to reduce the chance of nominator getting suck (#2978)
- DNS: AXFR queries are now done over TCP, as per specifications, instead of UDP (#2980)
- DNS client will now retry queries over TCP when the UDP query is truncated (#2980)