Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate V1.0.0 changes into develop #303

Merged
merged 16 commits into from
Aug 21, 2023
Merged

Integrate V1.0.0 changes into develop #303

merged 16 commits into from
Aug 21, 2023

Commits on May 17, 2023

  1. Integrate Android example (#275)

    * Upgrade Gradle version to 8.0
    * Refactor Android example
    * Add 2 Android gradle plugins (without applying) to the root build (haven't managed to isolate them in Android example module)
    * Add android.useAndroidX property to the root gradle.properties (for some reason defining this property in the Android submodule doesn't work)
    * Add libp2p.gradle.custom per project property which indicates whether common gradle code for submodules should be skipped (set it up for Adnroid example)
    * Move Maven repositories definitions to settings.gradle
    * In the settings.gradle detect if Android SDK is installed and conditionally include :examples:android-chatter module
    * Add Setup Android SDK GitHub action
    Nashatyrev authored May 17, 2023
    Configuration menu
    Copy the full SHA
    98df084 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e7d633e View commit details
    Browse the repository at this point in the history
  3. Remove Apache commons-codec dependency (#277)

    * Get rid of Apache commons-codec dependency
    Nashatyrev authored May 17, 2023
    Configuration menu
    Copy the full SHA
    c6fb638 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2023

  1. Migrate to slf4j (#279)

    * Replace log4j-api entries and dependencies with corresponding slf4j analogs
    * Add log4j-slf4j2-impl runtime dependencies for examples, tests and simulator module
    Nashatyrev authored May 18, 2023
    Configuration menu
    Copy the full SHA
    441e620 View commit details
    Browse the repository at this point in the history
  2. Support webtransport multiaddrs (#280)

    * add multiaddr dependency from jitpack
    * Support webtransport multiaddrs
    * Implement dns multiaddr
    * Support quic-v1 and wss multiaddr
    ---------
    Co-authored-by: ian <ianopolous@protonmail.com>
    kevodwyer authored May 18, 2023
    Configuration menu
    Copy the full SHA
    f42740f View commit details
    Browse the repository at this point in the history

Commits on May 24, 2023

  1. Yamux implementation (#281)

    * Initial yamux implementation
    * Implement per stream write buffers and per connection max write buffer size limit.
    * Make MuxHandler abstract. Move Mplex specific members to MplexHandler. Derive YamuxHandler from it
    * Refactor MuxHandler tests
    * Refactor MplexFrame, remove obsolete MuxFrame
    * Flush buffered writes in yamux on local disconnect
    ---------
    Co-authored-by: Anton Nashatyrev <anton.nashatyrev@gmail.com>
    ianopolous authored May 24, 2023
    Configuration menu
    Copy the full SHA
    8971b31 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2023

  1. Refactor: test fixtures sort. Regression bug fix (#284)

    * Refactor: move test utility classes to testFixtures module
    * Fix regression: MplexFrame should implement ReferenceCounted to release the underlying ByteBuf after encoding with MplexFrameCodec
    * Add unit test reproducing the issue
    Nashatyrev authored May 25, 2023
    Configuration menu
    Copy the full SHA
    63869ca View commit details
    Browse the repository at this point in the history

Commits on May 30, 2023

  1. Improve muxer test coverage. Fix several muxer issues (#285)

    * Refactor MuxHandlerAbstractTest: add ability to handle outbound messages
    * Control and check ByteBuf allocations and releases
    * Add more testcases and assertions
    * [Generic] (buffer leak) release message buffer if inbound frame have non-existing streamId: 71c68c4
    * [Yamux] Process RST (Reset) flag: 42e40f6
    * [Generic] Writing to a stream which was prior closed should be prohibited: d3c4580
    * [Generic] Receiving a data on a steam which was remotely closed should result in exception (recoverable, i.e. connection should not be terminated): 8974317
    * [Yamux] switch the logic of onLocalDisconnect() and onLocalClose() methods. onLocalDisconnect() should leave the stream open for inbound data: 820c252
    * [Yamux] need to clean up stream entries on any kind of stream closure (local Reset, remote Reset, local + remote Close): 66ef36b
    * Convert RemoteWriteClosed to singleton
    Nashatyrev authored May 30, 2023
    Configuration menu
    Copy the full SHA
    0981ec6 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2023

  1. Implement TLS security protocol including early muxer negotiation (#283)

    * Add early muxer negotiation support 
    * Implement TLS security protocol
    * Remove the insecure Secio from builders so it can't be accidentally included
    * Add TLS tests
    ianopolous authored May 31, 2023
    Configuration menu
    Copy the full SHA
    de42c11 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2023

  1. Fix ecdsa cert usage in TLS which bouncycastle broke (#293)

    * Bouncycastle ECDSA certs in TLS were broken
    * Change unit test to cover this
    
    Co-authored-by: Anton Nashatyrev <Nashatyrev@users.noreply.github.com>
    ianopolous and Nashatyrev authored Jun 8, 2023
    Configuration menu
    Copy the full SHA
    7a00ca3 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2023

  1. Fix yamux remote open (#292)

    * yamux: Don't error on window update for closed stream
    * stream closes are often window updates with size 0
    * Make sure window is initialised before calling onRemoteOpen
    * Add the unit test reproducing issues with Yamux
    ---------
    
    Co-authored-by: Anton Nashatyrev <anton.nashatyrev@gmail.com>
    ianopolous and Nashatyrev authored Jun 9, 2023
    Configuration menu
    Copy the full SHA
    3c88678 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2023

  1. Fix yamux handling of writes bigger than the window size (#295)

    * Fix yamux handling of writes bigger than the window size
    * Fix inefficient window size handling
    * Release delayed yamux send buffer once sent. 
    * Add Unit test
    ---------
    Co-authored-by: Anton Nashatyrev <anton.nashatyrev@gmail.com>
    ianopolous authored Aug 15, 2023
    Configuration menu
    Copy the full SHA
    bf15e47 View commit details
    Browse the repository at this point in the history
  2. Add Yamux specific unit tests (#298)

    * Add Yamux specific unit tests
    * Minor Yamux refactorings
    StefanBratanov authored Aug 15, 2023
    Configuration menu
    Copy the full SHA
    7b853f6 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2023

  1. Configuration menu
    Copy the full SHA
    1664417 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2023

  1. Update README.md for upcoming v1.0.0 (#301)

    * Add component status table
    * Remove outdated roadmap and the old list of components
    * Add 'Notable Users' section
    * Add 'Android support' module
    Nashatyrev authored Aug 18, 2023
    Configuration menu
    Copy the full SHA
    95a2a69 View commit details
    Browse the repository at this point in the history
  2. Add Host.getProtocols() and fix addProtocolHandler (#299)

    * Add Host.getProtocols()
    * Fix Host.addProtocolHandler (There was in internal CopyOnWriteArrayList for protocols in the muxer, so it didn't see newly added protocols)
    * Make a thread-safe shared MutableList for Host and Muxers
    ---------
    
    Co-authored-by: Anton Nashatyrev <anton.nashatyrev@gmail.com>
    ianopolous and Nashatyrev authored Aug 18, 2023
    Configuration menu
    Copy the full SHA
    4e73088 View commit details
    Browse the repository at this point in the history