From 81f96ad35c83e4ed77d0789541db62ba12425d99 Mon Sep 17 00:00:00 2001 From: dsrees Date: Fri, 24 Feb 2023 11:01:29 -0500 Subject: [PATCH] Prepare version 5.2.0 --- CHANGELOG.md | 2 + Gemfile.lock | 174 +++++++++++++++++++------------------ README.md | 30 +------ SwiftPhoenixClient.podspec | 2 +- 4 files changed, 96 insertions(+), 112 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be7240f..6cae96e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ All notable changes to this project will be documented in this file. The format This product uses [Semantic Versioning](https://semver.org/). +## 5.2.0 +* [#226](https://github.com/davidstump/SwiftPhoenixClient/pull/226) Adds `URLResponse` as an optional value in `socket.onError` callbacks to allow for checking status codes from the server when the Socket connection errors out. See Examples in PR for more details ## 5.1.0 * Improves reconnection logic around a heartbeat timeout diff --git a/Gemfile.lock b/Gemfile.lock index a669cff..6ebdf25 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,58 +1,60 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.3) - activesupport (4.2.11.1) - i18n (~> 0.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + CFPropertyList (3.0.6) + rexml + activesupport (7.0.4.2) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) artifactory (3.0.15) atomos (0.1.3) - aws-eventstream (1.1.1) - aws-partitions (1.489.0) - aws-sdk-core (3.119.1) + aws-eventstream (1.2.0) + aws-partitions (1.716.0) + aws-sdk-core (3.170.0) aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.239.0) - aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-kms (1.46.0) - aws-sdk-core (~> 3, >= 3.119.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.5) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.62.0) + aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.99.0) - aws-sdk-core (~> 3, >= 3.119.0) + aws-sdk-s3 (1.119.1) + aws-sdk-core (~> 3, >= 3.165.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.1) - aws-sigv4 (1.2.4) + aws-sigv4 (~> 1.4) + aws-sigv4 (1.5.2) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) - claide (1.0.3) - clamp (1.3.0) + claide (1.1.0) + clamp (1.3.2) colored (1.2) colored2 (3.1.2) commander (4.6.0) highline (~> 2.0.0) - concurrent-ruby (1.1.5) + concurrent-ruby (1.2.0) declarative (0.0.20) digest-crc (0.6.4) rake (>= 12.0.0, < 14.0.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - dotenv (2.7.6) - emoji_regex (3.2.2) - excon (0.85.0) - faraday (1.7.0) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.99.0) + faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.1) + faraday-net_http_persistent (~> 1.0) faraday-patron (~> 1.0) faraday-rack (~> 1.0) - multipart-post (>= 1.2, < 3) + faraday-retry (~> 1.0) ruby2_keywords (>= 0.0.4) faraday-cookie_jar (0.0.7) faraday (>= 0.8.0) @@ -61,14 +63,17 @@ GEM faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) faraday-net_http (1.0.1) faraday-net_http_persistent (1.2.0) faraday-patron (1.0.0) faraday-rack (1.0.0) - faraday_middleware (1.1.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.0) faraday (~> 1.0) - fastimage (2.2.5) - fastlane (2.191.0) + fastimage (2.2.6) + fastlane (2.212.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -94,6 +99,7 @@ GEM mini_magick (>= 4.9.4, < 5.0.0) multipart-post (~> 2.0.0) naturally (~> 2.2) + optparse (~> 0.1.1) plist (>= 3.1.0, < 4.0.0) rubyzip (>= 2.0.0, < 3.0.0) security (= 0.1.3) @@ -107,9 +113,9 @@ GEM xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.10.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-core (0.4.1) + google-apis-androidpublisher_v3 (0.34.0) + google-apis-core (>= 0.9.1, < 2.a) + google-apis-core (0.11.0) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -118,58 +124,59 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-iamcredentials_v1 (0.7.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-playcustomapp_v1 (0.5.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-storage_v1 (0.6.0) - google-apis-core (>= 0.4, < 2.a) + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.12.0) + google-apis-core (>= 0.9.1, < 2.a) + google-apis-storage_v1 (0.19.0) + google-apis-core (>= 0.9.0, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) - google-cloud-env (1.5.0) - faraday (>= 0.17.3, < 2.0) - google-cloud-errors (1.1.0) - google-cloud-storage (1.34.1) - addressable (~> 2.5) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.3.0) + google-cloud-storage (1.44.0) + addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.19.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (0.17.0) - faraday (>= 0.17.3, < 2.0) + googleauth (1.3.0) + faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) memoist (~> 0.16) multi_json (~> 1.11) os (>= 0.9, < 2.0) - signet (~> 0.14) + signet (>= 0.16, < 2.a) highline (2.0.3) - http-cookie (1.0.4) + http-cookie (1.0.5) domain_name (~> 0.5) httpclient (2.8.3) - i18n (0.9.5) + i18n (1.12.0) concurrent-ruby (~> 1.0) - jmespath (1.4.0) - json (2.5.1) - jwt (2.2.3) + jmespath (1.6.2) + json (2.6.3) + jwt (2.7.0) memoist (0.16.2) - mini_magick (4.11.0) - mini_mime (1.1.1) - mini_portile2 (2.4.0) - minitest (5.11.3) + mini_magick (4.12.0) + mini_mime (1.1.2) + minitest (5.17.0) multi_json (1.15.0) multipart-post (2.0.0) nanaimo (0.3.0) naturally (2.2.1) - nokogiri (1.10.7) - mini_portile2 (~> 2.4.0) - os (1.1.1) - plist (3.6.0) - public_suffix (4.0.6) + nokogiri (1.14.2-x86_64-darwin) + racc (~> 1.4) + optparse (0.1.1) + os (1.1.4) + plist (3.7.0) + public_suffix (5.0.1) + racc (1.6.2) rake (13.0.6) - representable (3.1.1) + representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) @@ -179,39 +186,38 @@ GEM ruby2_keywords (0.0.5) rubyzip (2.3.2) security (0.1.3) - signet (0.15.0) - addressable (~> 2.3) - faraday (>= 0.17.3, < 2.0) + signet (0.17.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - simctl (1.6.8) + simctl (1.6.10) CFPropertyList naturally - slather (2.4.7) + slather (2.7.4) CFPropertyList (>= 2.2, < 4) - activesupport (>= 4.0.2, < 5) + activesupport clamp (~> 1.3) - nokogiri (~> 1.8) - xcodeproj (~> 1.7) + nokogiri (>= 1.13.9) + xcodeproj (~> 1.21) terminal-notifier (2.0.0) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) - thread_safe (0.3.6) - trailblazer-option (0.1.1) + trailblazer-option (0.1.2) tty-cursor (0.7.1) tty-screen (0.8.1) tty-spinner (0.9.3) tty-cursor (~> 0.7) - tzinfo (1.2.5) - thread_safe (~> 0.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) uber (0.1.0) unf (0.1.4) unf_ext - unf_ext (0.0.7.7) - unicode-display_width (1.7.0) - webrick (1.7.0) + unf_ext (0.0.8.2) + unicode-display_width (1.8.0) + webrick (1.8.1) word_wrap (1.0.0) - xcodeproj (1.21.0) + xcodeproj (1.22.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) @@ -224,11 +230,11 @@ GEM xcpretty (~> 0.2, >= 0.0.7) PLATFORMS - ruby + x86_64-darwin-19 DEPENDENCIES fastlane slather BUNDLED WITH - 1.17.2 + 2.2.16 diff --git a/README.md b/README.md index 77502a0..16023b2 100644 --- a/README.md +++ b/README.md @@ -25,36 +25,12 @@ where as `ChatRoomViewController` is a more "complete" example which targets dwyl's [phoenix-chat-example](https://github.com/dwyl/phoenix-chat-example) Heroku app. -## Modules - - -Prior to v5.0.0, SwiftPhoenixClient came bundled with RxSwift and Starscream extensions. These have been (or are in the process of being) broken -out into separate repositories so they can be excluded if desired. - ### SwiftPhoenixClient The core module which provides the Phoenix Channels and Presence logic. It also uses URLSession's default WebSocket implementation which has a minimum iOS target of 13.0. -### StarscreamSwiftPhoenixClient - -If you are targeting iOS < 13.0, or if you you prefer to use [Starscream](https://github.com/daltoniam/Starscream), then -you will need to also use the Starscream module to connect to your server. - -Please see the StarscreamSwiftPhoenixClient repository for details - -Coming soon. - - -### RxSwift - -If you are also using RxSwift in your project, then this module provides -extensions for you to use to observe events on a channel. - -Please see the [RxSwiftPhoenixClient](https://github.com/dsrees/RxSwiftPhoenixClient) repo for more details. - - ## Installation @@ -65,7 +41,7 @@ Podfile. Keep in mind that in order to use Swift Phoenix Client, the minimum iOS target must be '9.0' ```RUBY -pod "SwiftPhoenixClient", '~> 5.1' +pod "SwiftPhoenixClient", '~> 5.2' ``` and running `pod install`. From there you will need to add `import SwiftPhoenixClient` in any class you want it to be used. @@ -76,7 +52,7 @@ If you use Carthage to manage your dependencies, simply add SwiftPhoenixClient to your `Cartfile`: ``` -github "davidstump/SwiftPhoenixClient" ~> 5.1 +github "davidstump/SwiftPhoenixClient" ~> 5.2 ``` Then run `carthage update`. @@ -92,7 +68,7 @@ _Note: Instructions below are for using **SwiftPM** without the Xcode UI. It's t To integrate using Apple's Swift package manager, without Xcode integration, add the following as a dependency to your `Package.swift`: ```swift -.package(url: "https://github.com/davidstump/SwiftPhoenixClient.git", .upToNextMajor(from: "5.1.0")) +.package(url: "https://github.com/davidstump/SwiftPhoenixClient.git", .upToNextMajor(from: "5.2.0")) ``` and then specify `"SwiftPhoenixClient"` as a dependency of the Target in which you wish to use SwiftPhoenixClient. diff --git a/SwiftPhoenixClient.podspec b/SwiftPhoenixClient.podspec index f66b12e..f3838fc 100644 --- a/SwiftPhoenixClient.podspec +++ b/SwiftPhoenixClient.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "SwiftPhoenixClient" - s.version = "5.1.0" + s.version = "5.2.0" s.summary = "Connect your Phoenix and iOS applications through WebSockets!" s.swift_version = "5.0" s.description = <<-EOS