- Downgraded the meta package version to
^1.17.0to resolve conflicts with Flutter SDK.
- Updated all dependencies in
pubspec.yaml. - Upgraded Dart SDK version.
- Removed
dart_code_metricsanalysis. - Applied code quality improvements.
- Updated README.md.
- Updated dependency:
pinenacl: ^0.6.0
- Fixed the licence url in README
- Added parameter
overrideContentTypeHeaderinto the factory constructors ofEndpointAuthorizableChannelTokenAuthorizationDelegateto opt overriding the content type header. It'strueby default.
- Minimum Dart SDK version:
^3.0.0 - Upgraded http package to version
^1.0.0 - Converted abstract classes that are used as mixins to abstract mixin classes
- Encapsulated the helper extension methods
- Added
publish.ymlworkflow to automatically publish releases
NEW FEATURES:
- Support for Private Encrypted Channels
Expressing the deepest gratitude to Sameh Doush for developing and providing a test environment that boosted a release of the feature.
- Fixed the detected typos in README.
- Added the Milestones section in README.
- Fixed mistakes in the docs.
- Updated the platforms metadata.
- Updated the metadata of this package.
- Fixed linking in the README.
Whole the project has been rethinked and redesigned in this update. The structure is more convenient and canonical according to the official documentation
NEW FEATURES:
- Support for Presence Channels
- Triggering events
- Tested on all the platforms
BREAKING CHANGES:
Refactored:
- Renamed and reorganized a hierarchy of the event classes
- Reorganized a hierarchy of the channel classes
- Divided the whole lifecycle of the client in separate layers:
- Connection layer
- Channels layer
- Client's layer
Removed:
ConnectionDelegateWebSocketChannelConnectionDelegateTokenAuthorizationDelegateEventReadEventSendEvent
Added:
- Unit tests
PusherChannelsConnection- interface for a connection layerPusherChannelsWebSocketConnection- implementation ofPusherChannelsConnectionPusherChannelsClientLifeCycleController- internal controller of a client's lifecycleChannelsManager- internal delegate of channelsChannelMembersChannelExtensionTriggerableChannelMixinEndpointAuthorizableChannelEndpointAuthorizableChannelAuthorizationDelegatePresenceChannel
Updated kDartPusherChannelsLibraryVersion constant metadata to 0.3.1
Added shouldSupplyQueryMetaData to PusherChannelsOptions. It will regulate whether to include or omit the metadata such as client, version, protocol.
BREAKING CHANGE: PusherChannelOptions was deprecated and renamed to PusherChannelsOptions for conveniency.
Returning '/' in path getter of PusherChannelOptions if both key and path parameters are provided as null.
Updated README.md
Minimal changes:
-
keyparameter ofPusherChannelOptionsis nullable now. -
Added a feature to set custom endpoint path to
PusherChannelOptionswithpathparameter. -
Made
versionparameter ofPusherChannelOptionsequals tokDartPusherChannelsLibraryVersion. -
Updated the inline documentation.
-
Updated
README.md. -
Update the example file.
Bug fixes:
- Fixed bug when connection status was set to
ConnectionStatus.conncetedeach time the pusher error event occured.
(Even if connection status was set to ConnectionStatus.established before).
- Fixed bug on double connections triggered by concurrent attempts to reconnect.
Internal changes:
- Using
disconnectSafelyinstead ofdisconnecton disposing the delegate.
- Fixed markdown of
README
-
Updated inline documentation of the package
-
Change:
connectanddisconnectmethods ofConnectionDelegateare@protected. UseconnectSafelyanddisconnectSafelyrespectively from the outside.
Merging pull requests #6,
#8, #10, #12. Thanks to Nicolas Britos for contributions.
- Added an additional member
pingWaitPongDurationto theConnectionDelegateand the parameter with the same name
to the constructor PusherChannelsClient.websocket. It will regulate timeout of ping waiting for pong (checking if connection is alive).
-
Fixed multiple connections occuring after
disconnectcommited by multiplereconnectcalls. -
Distincting manual disconnections of
ConnectionDelegate(disconnectSafely) from automated ones. -
Fixed: multiple socket connections while calling
connectmultiple times are prevented. -
Change: now
reconnect's type isFuture<void>. (Previously wasvoid).
Featuring contributors in README
Merging pull request #5, many thanks to Nicolas Britos
-
Add custom logger handler to use a custom Logger instead of printing to console.
-
Hide PusherChannelsPackageLogger from public API.
-
Fix logger tests not capturing what was being printed to console.
-
Remove logTest method as it is not needed anymore.
Added PusherChannelsPackageConfigs which enables and disables log prints.
Added following additional controls to PusherChannelsClient
-
Method
disconnect() -
Method
reconnect()
-
Updated README.md
-
Improved annotations
- Tested on Windows succesfully and updated meta data
- Fixed reconnection tries on disposal
- Updated the description of pubspec.yaml
- Fixed issue of non-cancallable timer. Added logging with
printby default. Will be optional in next minor version.
- Making
refreshcallback ofonConnectionErrorHandlerconstructor ofPusherChannelsClient.websocketnon-nullable
- Implemented
unsubscribemethod for private channels.
- Updated README.
- Using more canonical names of classes and interfaces.
- Updated README and example.
- Updated documentation.
- Initial version.