pubnub 4.6.2 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pubnub might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cdeb3e7194c3ec7799eef208411d9278556e36a1eb75ea736b7891aebc537d3
4
- data.tar.gz: 06347ae57e8a41fac5870cc3406e64acd846350d5dd4e5156e6e01d592d62320
3
+ metadata.gz: 94a5346f9874553c5abf72a14cd22f76fe14d268c81ac97e8c88c8489fba2bf4
4
+ data.tar.gz: 9c6517348ed1e98f0434105afadacbb3b1d381437edb996366d977ec9749ba53
5
5
  SHA512:
6
- metadata.gz: 9b1bb676791d2be910ac576917456041e7ba6b188f4585900d42a6b05ecc8a07a8e965615ea94fac0325bebfc87508b89f70df9c3c72e5e97356340220ccb0e3
7
- data.tar.gz: 63418083e5e96c00d36183ebec6be0d6c7d6d326bea0b80bc90dd203171f2820d49793f0d79cdc2888c96841b472d9765b3d69c83f8b8579b5cba9ba0fc3db28
6
+ metadata.gz: d16f505c9f0bddfb93e794abefe02f7e4c23e23158e755c97a942b27fae298d8c244d1e6cc1bae6d9ef439f5cc631354a50d401f419da2a0d3ce523474ccc737
7
+ data.tar.gz: cdab28581565cadc69597cc737b4fe616296e43f5c686a58543312d37fec6f8b4dd377d3fc26406a404e6791a4ba731bfe25cc8a5f899b1c5e054759286fcd4d
data/.github/CODEOWNERS CHANGED
@@ -1 +1,3 @@
1
- * @parfeon @CraigLn
1
+ * @parfeon @CraigLn @bartk @kleewho
2
+ .github/* @parfeon @CraigLn @bartk @kleewho
3
+ README.md @techwritermat @kazydek
@@ -0,0 +1,27 @@
1
+ name: Commands processor
2
+
3
+ on:
4
+ issue_comment:
5
+ types: [created]
6
+
7
+ jobs:
8
+ process:
9
+ name: Process command
10
+ if: ${{ github.event.issue.pull_request && endsWith(github.repository, '-private') != true && startsWith(github.event.comment.body, '@client-engineering-bot ') }}
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Checkout repository
14
+ uses: actions/checkout@v2
15
+ - name: Checkout release actions
16
+ uses: actions/checkout@v2
17
+ with:
18
+ repository: pubnub/client-engineering-deployment-tools
19
+ ref: v1
20
+ token: ${{ secrets.GH_TOKEN }}
21
+ path: .github/.release/actions
22
+ - name: Process changelog entries
23
+ uses: ./.github/.release/actions/actions/commands
24
+ with:
25
+ token: ${{ secrets.GH_TOKEN }}
26
+ listener: client-engineering-bot
27
+ jira-api-key: ${{ secrets.JIRA_API_KEY }}
@@ -0,0 +1,17 @@
1
+ {
2
+ ".pubnub.yml": [
3
+ { "pattern": "^version: \"(.+)\"$", "cleared": true },
4
+ { "pattern": "\\s+package-name: pubnub-(v?(\\d+\\.?){2,}([a-zA-Z0-9-]+(\\.?\\d+)?)?).gem$", "cleared": true },
5
+ { "pattern": "/releases/download/(v?(\\d+\\.?){2,}([a-zA-Z0-9-]+(\\.?\\d+)?)?)/pubnub-.*.gem$", "cleared": false },
6
+ { "pattern": "/releases/download/.*/pubnub-(v?(\\d+\\.?){2,}([a-zA-Z0-9-]+(\\.?\\d+)?)?).gem$", "cleared": true }
7
+ ],
8
+ "VERSION": [
9
+ { "pattern": "(v?(\\d+\\.?){2,}([a-zA-Z0-9-]+(\\.?\\d+)?)?)", "cleared": true }
10
+ ],
11
+ "Gemfile.lock": [
12
+ { "pattern": "^\\s{2,}pubnub \\((v?(\\d+\\.?){2,}([a-zA-Z0-9-]+(\\.?\\d+)?)?)\\)$", "cleared": true }
13
+ ],
14
+ "lib/pubnub/version.rb": [
15
+ { "pattern": "^\\s{2,}VERSION = '(v?(\\d+\\.?){2,}([a-zA-Z0-9-]+(\\.?\\d+)?)?)'.freeze", "cleared": true }
16
+ ]
17
+ }
@@ -0,0 +1,58 @@
1
+ name: Automated product release
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [ master ]
6
+ types: [ closed ]
7
+
8
+
9
+ jobs:
10
+ check-release:
11
+ name: Check release required
12
+ runs-on: ubuntu-latest
13
+ if: ${{ github.event.pull_request.merged && endsWith(github.repository, '-private') != true }}
14
+ outputs:
15
+ release: ${{ steps.check.outputs.ready }}
16
+ steps:
17
+ - name: Checkout actions
18
+ uses: actions/checkout@v2
19
+ with:
20
+ repository: pubnub/client-engineering-deployment-tools
21
+ ref: v1
22
+ token: ${{ secrets.GH_TOKEN }}
23
+ path: .github/.release/actions
24
+ - id: check
25
+ name: Check pre-release completed
26
+ uses: ./.github/.release/actions/actions/checks/release
27
+ with:
28
+ token: ${{ secrets.GH_TOKEN }}
29
+ publish:
30
+ name: Publish package
31
+ runs-on: ubuntu-latest
32
+ needs: check-release
33
+ if: ${{ needs.check-release.outputs.release == 'true' }}
34
+ steps:
35
+ - name: Checkout repository
36
+ uses: actions/checkout@v2
37
+ with:
38
+ # This should be the same as the one specified for on.pull_request.branches
39
+ ref: master
40
+ - name: Checkout actions
41
+ uses: actions/checkout@v2
42
+ with:
43
+ repository: pubnub/client-engineering-deployment-tools
44
+ ref: v1
45
+ token: ${{ secrets.GH_TOKEN }}
46
+ path: .github/.release/actions
47
+ - name: Publish to RubyGems
48
+ uses: ./.github/.release/actions/actions/services/rubygems
49
+ with:
50
+ token: ${{ secrets.GH_TOKEN }}
51
+ gem-username: ${{ secrets.GEMS_ACCOUNT }}
52
+ gem-token: ${{ secrets.GEMS_API_KEY }}
53
+ - name: Create Release
54
+ uses: ./.github/.release/actions/actions/services/github-release
55
+ with:
56
+ token: ${{ secrets.GH_TOKEN }}
57
+ jira-api-key: ${{ secrets.JIRA_API_KEY }}
58
+ last-service: true
@@ -0,0 +1,46 @@
1
+ name: run_acceptance_tests
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+ name: Perform Acceptance BDD tests
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - name: Checkout project
11
+ uses: actions/checkout@v2
12
+ - name: Checkout mock-server action
13
+ uses: actions/checkout@v2
14
+ with:
15
+ repository: pubnub/client-engineering-deployment-tools
16
+ ref: github-actions
17
+ token: ${{ secrets.GH_TOKEN }}
18
+ path: client-engineering-deployment-tools
19
+ - name: Run mock server action
20
+ uses: ./client-engineering-deployment-tools/actions/mock-server
21
+ with:
22
+ token: ${{ secrets.GH_TOKEN }}
23
+ - name: Install dependencies
24
+ run: |
25
+ sudo gem install bundler &&
26
+ bundle install
27
+ - name: Run acceptance tests (optional)
28
+ run: bundle exec cucumber sdk-specifications/features/ -p mock -p run_beta -p report_beta -f pretty
29
+ continue-on-error: true
30
+ - name: Run acceptance tests (required)
31
+ run: bundle exec cucumber sdk-specifications/features/ -p mock -p run_main -p report_main -f pretty
32
+ - name: Combine test results
33
+ if: always()
34
+ run: |
35
+ sudo npm install -g junit-report-merger &&
36
+ jrm ./main.xml "./main/**/*.xml" &&
37
+ jrm ./beta.xml "./beta/**/*.xml"
38
+ - name: Expose main report
39
+ uses: actions/upload-artifact@v2
40
+ if: always()
41
+ with:
42
+ name: acceptance-test-reports
43
+ path: |
44
+ main.xml
45
+ beta.xml
46
+ retention-days: 7
data/.gitignore CHANGED
@@ -8,3 +8,21 @@ log/*
8
8
  examples/test.rb
9
9
  coverage
10
10
  dev_scripts
11
+
12
+ # GitHub Actions #
13
+ ##################
14
+ .github/.release
15
+ .bundle/ruby
16
+
17
+ .travis/README.md
18
+ .travis/scripts
19
+
20
+ deployment_keys
21
+ deployment_keys-private
22
+ deployment_keys.tar
23
+
24
+ .travis/github-labels-policy.json
25
+ .travis/github-labels.json
26
+ /.rvmrc
27
+ /.bundle/
28
+ /features/*.feature
data/.pubnub.yml CHANGED
@@ -1,6 +1,28 @@
1
1
  ---
2
- version: "4.6.2"
2
+ version: "5.0.0"
3
3
  changelog:
4
+ - date: 2022-01-13
5
+ version: v5.0.0
6
+ changes:
7
+ - type: improvement
8
+ text: "BREAKING CHANGES: uuid is required parameter to create PubNub instance."
9
+ - date: 2021-12-16
10
+ version: v4.8.0
11
+ changes:
12
+ - type: feature
13
+ text: "Add revoke token feature."
14
+ - date: 2021-11-24
15
+ version: v4.7.1
16
+ changes:
17
+ - type: feature
18
+ text: "Add new method `all_history_messages` which return messages from requested interval or `since` / `before` date in single object."
19
+ - type: bug
20
+ text: "Fix exception raised when optional start / end not passed to `paged_history`."
21
+ - date: 2021-11-09
22
+ version: v4.7.0
23
+ changes:
24
+ - type: feature
25
+ text: "Grant_token allows generation of signed token with permissions for channels, channel groups and uuids."
4
26
  -
5
27
  changes:
6
28
  -
@@ -391,6 +413,10 @@ features:
391
413
  access:
392
414
  - ACCESS-GRANT
393
415
  - ACCESS-SECRET-KEY-ALL-ACCESS
416
+ - ACCESS-GRANT-TOKEN
417
+ - ACCESS-PARSE-TOKEN
418
+ - ACCESS-SET-TOKEN
419
+ - ACCESS-REVOKE-TOKEN
394
420
  channel-groups:
395
421
  - CHANNEL-GROUPS-ADD-CHANNELS
396
422
  - CHANNEL-GROUPS-REMOVE-CHANNELS
@@ -600,7 +626,7 @@ sdks:
600
626
  - x86-64
601
627
  - distribution-type: package
602
628
  distribution-repository: RubyGems
603
- package-name: pubnub-4.6.1.gem
629
+ package-name: pubnub-5.0.0.gem
604
630
  location: https://rubygems.org/gems/pubnub
605
631
  requires:
606
632
  - name: addressable
@@ -705,8 +731,8 @@ sdks:
705
731
  - x86-64
706
732
  - distribution-type: library
707
733
  distribution-repository: GitHub release
708
- package-name: pubnub-4.6.1.gem
709
- location: https://github.com/pubnub/ruby/releases/download/v4.6.2/pubnub-4.6.1.gem
734
+ package-name: pubnub-5.0.0.gem
735
+ location: https://github.com/pubnub/ruby/releases/download/v5.0.0/pubnub-5.0.0.gem
710
736
  requires:
711
737
  - name: addressable
712
738
  min-version: 2.0.0
data/.travis.yml CHANGED
@@ -16,10 +16,6 @@ stages:
16
16
 
17
17
  jobs:
18
18
  include:
19
- - stage: "test"
20
- name: 'Ruby 2.4.10'
21
- rvm: '2.4.10'
22
- script: bundle exec rspec
23
19
  - name: 'Ruby 2.5.8'
24
20
  rvm: '2.5.8'
25
21
  script: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -1,13 +1,40 @@
1
- ##### v4.6.2
1
+ ## v5.0.0
2
+ January 13 2022
2
3
 
3
- - Add new `sdks` section to `.pubnub.yml` with information about available artifacts and distribution variants.
4
-
5
- ##### v4.6.1
6
-
7
- - Exclude `spec` and `fixtures` from built gem file.
8
- - Fix Ruby SDK repository location under `sdks` section in `.pubnub.yml`.
9
- - Add new section to `.pubnub.yml` file with information about SDK and destribution types.
4
+ #### Modified
5
+ - BREAKING CHANGES: uuid is required parameter to create PubNub instance.
10
6
 
7
+ ## v4.8.0
8
+ December 16 2021
9
+
10
+ #### Added
11
+ - Add revoke token feature.
12
+
13
+ ## v4.7.1
14
+ November 24 2021
15
+
16
+ #### Added
17
+ - Add new method `all_history_messages` which return messages from requested interval or `since` / `before` date in single object.
18
+
19
+ #### Fixed
20
+ - Fix exception raised when optional start / end not passed to `paged_history`.
21
+
22
+ ## v4.7.0
23
+ November 09 2021
24
+
25
+ #### Added
26
+ - Grant_token allows generation of signed token with permissions for channels, channel groups and uuids.
27
+
28
+ ##### v4.6.2
29
+
30
+ - Add new `sdks` section to `.pubnub.yml` with information about available artifacts and distribution variants.
31
+
32
+ ##### v4.6.1
33
+
34
+ - Exclude `spec` and `fixtures` from built gem file.
35
+ - Fix Ruby SDK repository location under `sdks` section in `.pubnub.yml`.
36
+ - Add new section to `.pubnub.yml` file with information about SDK and destribution types.
37
+
11
38
  ##### v4.6.0
12
39
 
13
40
  - BREAKING CHANGE: Add randomized initialization vector usage by default for data encryption / decryption in publish / subscribe / history API calls.
data/Gemfile CHANGED
@@ -7,10 +7,12 @@ group :test do
7
7
  gem 'rr'
8
8
  gem 'rspec'
9
9
  gem 'rspec-retry'
10
+ gem 'rspec-expectations'
10
11
  gem 'rubocop'
11
12
  gem 'simplecov', '>= 0.12', require: false
12
13
  gem 'vcr'
13
14
  gem 'webmock'
15
+ gem 'cucumber'
14
16
  end
15
17
 
16
18
  group :development, :test do
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pubnub (4.6.2)
4
+ pubnub (5.0.0)
5
5
  addressable (>= 2.0.0)
6
6
  concurrent-ruby (~> 1.1.5)
7
7
  concurrent-ruby-edge (~> 0.5.0)
@@ -19,6 +19,7 @@ GEM
19
19
  awesome_print (1.8.0)
20
20
  binding_of_caller (0.8.0)
21
21
  debug_inspector (>= 0.0.1)
22
+ builder (3.2.4)
22
23
  codacy-coverage (2.2.1)
23
24
  simplecov
24
25
  coderay (1.1.3)
@@ -27,6 +28,37 @@ GEM
27
28
  concurrent-ruby (~> 1.1.5)
28
29
  crack (0.4.3)
29
30
  safe_yaml (~> 1.0.0)
31
+ cucumber (7.0.0)
32
+ builder (~> 3.2, >= 3.2.4)
33
+ cucumber-core (~> 10.0, >= 10.0.1)
34
+ cucumber-create-meta (~> 6.0, >= 6.0.1)
35
+ cucumber-cucumber-expressions (~> 12.1, >= 12.1.1)
36
+ cucumber-gherkin (~> 20.0, >= 20.0.1)
37
+ cucumber-html-formatter (~> 16.0, >= 16.0.1)
38
+ cucumber-messages (~> 17.0, >= 17.0.1)
39
+ cucumber-wire (~> 6.0, >= 6.0.1)
40
+ diff-lcs (~> 1.4, >= 1.4.4)
41
+ mime-types (~> 3.3, >= 3.3.1)
42
+ multi_test (~> 0.1, >= 0.1.2)
43
+ sys-uname (~> 1.2, >= 1.2.2)
44
+ cucumber-core (10.0.1)
45
+ cucumber-gherkin (~> 20.0, >= 20.0.1)
46
+ cucumber-messages (~> 17.0, >= 17.0.1)
47
+ cucumber-tag-expressions (~> 3.0, >= 3.0.1)
48
+ cucumber-create-meta (6.0.1)
49
+ cucumber-messages (~> 17.0, >= 17.0.1)
50
+ sys-uname (~> 1.2, >= 1.2.2)
51
+ cucumber-cucumber-expressions (12.1.3)
52
+ cucumber-gherkin (20.0.1)
53
+ cucumber-messages (~> 17.0, >= 17.0.1)
54
+ cucumber-html-formatter (16.0.1)
55
+ cucumber-messages (~> 17.0, >= 17.0.1)
56
+ cucumber-messages (17.1.1)
57
+ cucumber-tag-expressions (3.0.1)
58
+ cucumber-wire (6.1.1)
59
+ cucumber-core (~> 10.0, >= 10.0.1)
60
+ cucumber-cucumber-expressions (~> 12.1, >= 12.1.2)
61
+ cucumber-messages (~> 17.0, >= 17.0.1)
30
62
  debug_inspector (0.0.3)
31
63
  diff-lcs (1.4.4)
32
64
  docile (1.3.2)
@@ -68,6 +100,7 @@ GEM
68
100
  dry-equalizer (~> 0.2)
69
101
  dry-initializer (~> 3.0)
70
102
  dry-schema (~> 1.5)
103
+ ffi (1.13.1)
71
104
  ffi (1.13.1-java)
72
105
  hashdiff (1.0.1)
73
106
  httpclient (2.8.3)
@@ -75,6 +108,10 @@ GEM
75
108
  json (2.3.1)
76
109
  json (2.3.1-java)
77
110
  method_source (1.0.0)
111
+ mime-types (3.3.1)
112
+ mime-types-data (~> 3.2015)
113
+ mime-types-data (3.2021.0901)
114
+ multi_test (0.1.2)
78
115
  parallel (1.19.2)
79
116
  parser (2.7.1.4)
80
117
  ast (~> 2.4.1)
@@ -130,6 +167,8 @@ GEM
130
167
  simplecov-html (0.12.2)
131
168
  spoon (0.0.6)
132
169
  ffi
170
+ sys-uname (1.2.2)
171
+ ffi (~> 1.1)
133
172
  timers (4.3.0)
134
173
  unicode-display_width (1.7.0)
135
174
  vcr (6.0.0)
@@ -145,12 +184,14 @@ PLATFORMS
145
184
  DEPENDENCIES
146
185
  awesome_print
147
186
  codacy-coverage
187
+ cucumber
148
188
  pry
149
189
  pry-rescue
150
190
  pry-stack_explorer
151
191
  pubnub!
152
192
  rr
153
193
  rspec
194
+ rspec-expectations
154
195
  rspec-retry
155
196
  rubocop
156
197
  simplecov (>= 0.12)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.6.2
1
+ 5.0.0
@@ -0,0 +1,7 @@
1
+ default: -p mock -p run_main
2
+ run_main: -t "not @skip and not @na=ruby and not @beta"
3
+ report_main: -f junit --out main
4
+ run_beta: -t "not @skip and not @na=ruby and @beta"
5
+ report_beta: -f junit --out beta
6
+ mock: SERVER_MOCK=true PAM_SUB_KEY=subKey PAM_PUB_KEY=pubKey PAM_SEC_KEY=secKey SERVER_HOST=localhost SERVER_PORT=8090
7
+ prod: SERVER_MOCK=false