- Integration test status badge
- Fix ios dependency versions
- event listeners don't use callbacks anymore
- new syntax for listening to events:
final listener = socket.on('event-name').listen((data) => print(data));
- to cancel listening:
await listener.cancel();
- Clear existing connections on hot-resart
- A new API is introduced:
await socket.connectSync()
will wait until aconnected
, orconenctError
event is recieved and will accordingly resolve, or throw error.
- Introducing codegen to generate constants for java, swift and dart to help reduce errors
- Add code linting rules to improvise flutter's auto formatting and code-readability
- Add integration tests
- Use Github Actions to
- run lint checks
- run integration tests on both Android and iOS emulators
- Fix for pub.dev to display support for iOS too. See more
- PR 120 Update Gradle Dependencies to latest available version (3.5.3) @Saifallak
Releasing PRs:
- AndroidX support
- Bug fix for Stop listen event not working with one event #72
- Formatting, and updating readme
- Lint fix for namespaces in Socket.io swift code.
- Show error when namespaces don't start with '/'
- namespace example added
- iOS SWIFT_VERSION bumped up to use 5.0 as defined by Socket.IO-Client-Swift 15.1.0
- PR 57 fix for iOS (reqId wasn't optional) @Saifallak
- Typo fix for nameSpace ( changed SocketOptions.namesapce to SocketOptions.nameSpace )
- ACK Bug fixes for android 27+ | UIThread/EventThread issue resolved
- Bug fixes from 0.3.0
- PR 18 - Update deployment target to 9.0 and allow for most recent version of Starscream
- PR 27 - Android bug fix | Methods marked with @UiThread must be executed on the main thread
- PR 35 - ACK Support
- PR 44 - fix for duplicated listeners from platform channel
- PR 45 - Bug Fix | Java class cast exception for timeout
- PR 48 - Bug Fix | Swift version error on
pod install
- PR 52 - Namespace support for iOS | Any contributors can develop similarly for android
- Convert all arguments for SocketIOManager to a single Options object
old config
socket = await manager.createInstance(
URI,
query: {"auth": "--SOME AUTH STRING---",},
enableLogging: false
);
new config
socket = await manager.createInstance(SocketOptions(
URI,
query: {"auth": "--SOME AUTH STRING---",},
enableLogging: false,
));
- Introducing
transports
in SocketOptions
- BugFix: Methods marked with @UiThread must be executed on the main thread.
- Fix for #8
clearInstance
BugFix on iOS
- BugFix for iOS running on iPhone 6
- Optimized serialization code for Android
- Bug fix for Map representation characters/reserved characters for map representation as a string (
=
and/
)
- Disabling unnecessary logging of events in platform implementations in both Android and iOS,
can enable if required by passing
enableLogging: true
tocreateInstance
- Android and iOS data serialization handled properly to send objects and arrays
- Android query bug: Extra ? is being sent. fixed
- Added support for socket.io handshake query params for both iOS and Android
- Fully working version of basic Socket.io connection for both Android and iOS