Releases: Tribler/py-ipv8
IPv8 v2.14.2170 release
Includes the first 2170 commits (+59 since v2.13) for IPv8, containing:
- Added methods for task retrieval to
TaskManager
- Added ruff/mypy/unittest workflows
- Added serialization of lists of ints and booleans
- Added validation tests to GitHub Actions
- Added workflow for generating code coverage reports
- Fixed GitHub increment version not pushing to correct remote
- Fixed bootstrap with infinite max_peers
- Fixed coverage job failures
- Fixed increment version deleting its current branch
- Fixed indentation in coverage.yml
- Fixed missing file key in ConfigBuilder
- Fixed pending task error in test_unload_while_contacting_node
- Fixed relaying to exits
- Fixed run_all_tests for Mac
- Removed IRMA identity format
- Removed expired DNS entries from bootstrap list
- Updated README.md workflow badge
- Updated TunnelCommunity docs
- Updated default dll import path to be '.'
- Updated the Mock DHT provider to inherit from its intended superclass
IPv8 v2.13.2111 release
Includes the first 2111 commits (+108 since v2.12) for IPv8, containing:
- Added IPv6 support to TunnelCommunity
- Added Python 3.12 support
- Added automatic
libsodium.dll
downloader for Windows unit tests - Added cryptography-based fallback when NaCL import fails
- Added direction argument to encrypt_str/decrypto_str
- Added dummy workflow file for extended validation tests
- Added support for Futures to the TaskManager
- Added validation action status checks
- Added pip dependencies cache in validate runs
- Fixed DHT storage not getting cleaned up
- Fixed cache leaks in Network
- Fixed empty sha on validate action status setting
- Fixed issue with serializing nested payloads that use raw
- Fixed missing dependency: typing-extensions
- Fixed mock IPv6 address generation
- Fixed peer addresses not being updated
- Fixed possibly unclosed sockets for LAN discovery
- Fixed spelling and grammar instance in index.rst
- Fixed the GitHub validate action
- Fixed tracker service super args
- Fixed tunnel endpoints
- Fixed typing issues
- Fixed validate job not installing dependencies
- Fixed validation action errors
- Fixed wrong hypen location in GitHub validate PR action
- Removed
distutils_forwardport.py
- Removed overwrite dataclass construction
- Removed separate prefix argument from setup_tunnels
- Updated Endpoint.close to be optionally async
- Updated IPv8 exit node script to use RustEndpoint
- Updated TunnelCommunity cell logic
- Updated aiohttp version
- Updated best practices code to fit CommunitySettings
- Updated hidden services to stop removing data circuits
- Updated the project age
- Updated validate action to run the unit tests
IPv8 v2.12.2003 release
Includes the first 2003 commits (+103 since v2.11) for IPv8, containing:
- Added ruff configuration file
- Added typed request cache add/get/pop
- Fixed ReadTheDocs configuration build.os
- Fixed Sphinx deprecations and dependency versions
- Fixed TestBase hanging when event loop missing
- Fixed crypto related issues in TunnelCommunity
- Fixed doc validation not running as main
- Fixed example lines in testbase_tutorial
- Fixed line numbers in docs
- Fixed ruff violations
- Removed simulation code
- Updated DiscoveryCommunity payloads to use ipv4 instead of 4SH
- Updated DiscoveryStrategy to be a generic of its overlay
- Updated IPv8 scripts to use asyncio.run
- Updated LAN discovery to run on a different thread
- Updated
MockRestIPv8
to not use real socket - Updated
TestIdentityEndpoint
to not use real files - Updated
test_load_key
to not use a real db file - Updated bootstrappers to be less complex
- Updated codebase with pyupgrade
- Updated dht community to use DHTValue type
- Updated mid to always be the hash of the public key
- Updated overlay basics doc to use PeerObserver
- Updated overlays to use a settings parameter
- Updated readme test instructions
- Updated the ruff rules to allow more args and ignore pandas violations
IPv8 v2.11.1899 release
Includes the first 1899 commits (+29 since v2.10) for IPv8, containing:
- Added Network PeerObservers
- Added test for JSON serialization of config
- Fixed MyPy issues after upgrade
- Fixed PeriodicSimilarity sampling from set
- Fixed circuit retry log message
- Fixed discovery cache creation
- Fixed truncation in verbose test results
- Fixed vp_compile not passing default values
- Removed
asynctest
requirement for Python > 3.7 - Updated
IPv8
class to guard againstget_peers()
- Updated
run_all_tests.py
to handle segfaults - Updated LAN interface discovery
- Updated Windows test runner script
IPv8 v2.10.1870 release
Includes the first 1870 commits (+18 since v2.9) for IPv8, containing:
- Added Python 3.11 support
- Added TestBase 'received by' assertion logic
- Added advanced discovery docs
- Added auto PR review
- Fixed
create_task
inDiscreteLoop
- Removed autoprreview.yml
- Updated project age in README
- Updated supported Python versions in
setup.py
IPv8 v2.9.1852 release
🥳🎉 In celebration of the IPv8 repository's 5-year anniversary! 🥳🎉
Includes the first 1852 commits (+43 since v2.8) for IPv8, containing:
- Added ConfigBuilder ephemeral key shortcut
- Added UDP broadcast bootstrap timeout
- Added documentation on third-party serialization (and nested payloads)
- Fixed GitHub issue template labels
- Fixed
CommunityLauncher
andtest_loader
super()
usage - Fixed
vp_compile
decorator having wrong return type - Fixed anonymization utils using absolute import
- Fixed bootstrap received addresses callback not checking for cancel
- Fixed duplicate schema in tunnel REST endpoint
- Fixed idna Lookup Error
- Fixed shutdown of RequestCache in tests
- Fixed test suite crash with 0.0.0.0 subnet mask
- Updated error when community_id is missing
- Updated exit data rules
- Updated issue templates for new tags
- Updated overlay tutorial to use dataclass payloads
- Updated retry cache for circuits
- Updated support for different coverage versions
IPv8 v2.8.1809 release
Includes the first 1809 commits (+52 since v2.7) for IPv8, containing:
- Added API documentation generation
- Added Payload match support
- Added ReadTheDocs config file
- Added best practices documentation
- Added bootstrapping documentation
- Added dataclass Payload
- Added option to configure IPv8 with raw private key material
- Added script to publish standalone TaskManager
- Added tasks tutorial
- Added support for custom my_peer instead of key curve in MockIPv8
- Fixed AddressTester using different LAN check
- Fixed ReadTheDocs unrendered code-blocks
- Fixed crashing unitialized endpoint on shutdown
- Fixed dataclass typing
- Fixed deprecated config not having fallbacks
- Fixed missing token for TaskManager PyPi project
- Fixed readthedocs links
- Removed old database.py workarounds
- Updated CONTRIBUTING to exempt tests from linked issues
- Updated Endpoint initialization to use 'interfaces' configuration
- Updated MockEndpoint behavior
- Updated discovery docs directory
IPv8 v2.7.1757 release
Includes the first 1757 commits (+58 since v2.6) for IPv8, containing:
- Added RequestCache.passthrough()
- Added TestBase tutorial
- Added UDP broadcast bootstrapper
- Added basic simulation capabilities to IPv8
- Added link latencies to the IPv8 simulator
- Fixed CONTRIBUTING.md grammar
- Fixed compatibility with Python 3.8
- Fixed estimated WAN address being set to a LAN address
- Fixed for getting exits from TunnelEndpoint
- Fixed pytest compatibility
- Fixed uninitialized EndpointListener._local_interfaces
- Updated CreatePayloads to use a unique identifier while sending
- Updated IRMA enroll script
- Updated hidden services peer discovery
- Updated hidden services to disallow IPv8 packets over end-to-end circuits
- Updated prefix decoding before printing
- Updated simulation tutorial with bootstrap server
- Updated typing for Peer key
IPv8 v2.6.1699 release
Includes the first 1699 commits (+45 since v2.5) for IPv8, containing:
- Added DiscoveryStrategies to OverlaysEndpoint
- Added RequestCache documentation
- Added TunnelSettings.from_dict classmethod
- Added request cache documentation to TOC
- Added tracker_reporter_plugin script to collect anonymized tracker statistics
- Fixed DHTCommunityProvider serialization
- Fixed UDPEndpoint.send when transport is None
- Fixed awaiting exhaust_callbacks in TestBase
- Fixed broken image in the peer discovery docs
- Fixed issue with missing bootstrappers in PexCommunity
- Fixed result signature for EZPackOverlay._ez_unpack_auth
- Fixed scripts due to bootstrap refactoring
- Updated Community bootstrapping to be modular
- Updated the name of CommunityLauncher
- Updated tracker script
IPv8 v2.5.1654 release
Includes the first 1654 commits (+119 since v2.4) for IPv8, containing:
- Added 'q' format to Serializer defaults
- Added Community base class IPv6 support
- Added CommunityLauncher decorators
- Added Endpoint unit tests
- Added IPv6 support to DHTCommunity
- Added Network.snapshot support for all addresses
- Added Sentry support to the exit node script
- Added TestBase shortcuts
- Added address packer to default Serializer
- Added cache retrieval wrapper
- Added coverage barplot script generation
- Added deferred bootstrap DNS resolution
- Added documentation examples validation script
- Added fragile packet handling mode in TestBase
- Added hiddenimports to CommunityLauncher
- Added identity integration test isolation
- Added identity integration test scripts
- Added isolation endpoint tests
- Added overlay and walk strategy loading from a function
- Added static typing support
- Added tests for the REST overlays endpoint
- Added typing for VariablePayload
- Added unload_overlay to mock IPv8
- Fixed Bootstrap script resolving IPv6 tuples
- Fixed RequestCache futures not being cancelled after shutdown
- Fixed for introducing peers to outdated addresses
- Fixed incorrect lan_introduction_address in the IntroductionResponse
- Fixed new style punctures sent to old style peers
- Fixed overzealous defensive programming in create_introduction_request
- Fixed setting anonymization and statistics for overwritten endpoints
- Fixed tracker peer for intro overwrite
- Fixed tracker script not being general listener
- Removed Trustchain (moved to AnyDex)
- Removed UDPIPv6 from default endpoints
- Removed generate_key script
- Removed end-of-life tracker
- Updated "too many peers" log level to DEBUG
- Updated CreateRequestCache to use the payload identifier
- Updated DHTCommunity serialization
- Updated MockIPv8.unload naming to MockIPv8.stop
- Updated Network class polish
- Updated NumberCache.on_timeout to no longer be abstract
- Updated TunnelCommunity payloads and crypto
- Updated documentation by extracting examples into Python files