Skip to content

Commit dbf8728

Browse files
authored
Add fetch messages and custom message type support (#165)
feat(custom-message-type): add support for publish and subscribe Add `custom_message_type` support for publish / signal and subscribe endpoints. feat(history): add batch history support Add fetch messages (batch history) endpoint support to fetch history for multiple channels. feat(history): add fetch messages with message reactions Add fetch messages with reactions support. feat(custom-message-type): add support for fetch messages Add `include_custom_message_type` support for fetch messages endpoint.
1 parent 5b12a6f commit dbf8728

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+9049
-6854
lines changed

.github/workflows/run-tests.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
strategy:
2727
fail-fast: true
2828
matrix:
29-
ruby: [3.0.6, 3.1.4, 3.2.3]
29+
ruby: [ 3.0.6, 3.1.4, 3.2.3 ]
3030
steps:
3131
- name: Checkout repository
3232
uses: actions/checkout@v4
@@ -67,11 +67,15 @@ jobs:
6767
uses: ./.github/.release/actions/actions/mock-server
6868
with:
6969
token: ${{ secrets.GH_TOKEN }}
70-
- name: Setup Ruby 3.0
70+
- name: Setup Ruby 3.2.2
7171
uses: ruby/setup-ruby@v1
7272
with:
73-
ruby-version: 3.0
73+
ruby-version: 3.2.2
7474
bundler-cache: true
75+
- name: Verify Ruby Version
76+
run: ruby -v
77+
- name: Check Ruby Version for Bundler
78+
run: bundle exec ruby -v
7579
- name: Run acceptance tests (optional)
7680
run: bundle exec cucumber sdk-specifications/features/ -p mock -p run_beta -p report_beta -f pretty
7781
continue-on-error: true
@@ -97,7 +101,7 @@ jobs:
97101
uses: ./.github/.release/actions/actions/utils/fast-jobs-failure
98102
all-tests:
99103
name: Tests
100-
needs: [tests, acceptance-tests]
104+
needs: [ tests, acceptance-tests ]
101105
runs-on:
102106
group: organization/Default
103107
steps:

.pubnub.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
---
2-
version: "5.3.5"
2+
version: "5.4.0"
33
changelog:
4+
- date: 2025-01-07
5+
version: v5.4.0
6+
changes:
7+
- type: feature
8+
text: "Add batch history support."
9+
- type: feature
10+
text: "Add fetch messages with message reactions."
11+
- type: feature
12+
text: "Add fetch messages (batch history) endpoint support to fetch history for multiple channels."
13+
- type: feature
14+
text: "Add fetch messages with reactions support."
15+
- type: feature
16+
text: "Add `include_custom_message_type` support for fetch messages endpoint."
17+
- type: feature
18+
text: "Add `custom_message_type` support for `publish` / `signal` and `subscribe` endpoints."
419
- date: 2024-10-09
520
version: v5.3.5
621
changes:
@@ -581,7 +596,7 @@ sdks:
581596
- x86-64
582597
- distribution-type: package
583598
distribution-repository: RubyGems
584-
package-name: pubnub-5.3.5.gem
599+
package-name: pubnub-5.4.0.gem
585600
location: https://rubygems.org/gems/pubnub
586601
requires:
587602
- name: addressable
@@ -686,8 +701,8 @@ sdks:
686701
- x86-64
687702
- distribution-type: library
688703
distribution-repository: GitHub release
689-
package-name: pubnub-5.3.5.gem
690-
location: https://github.com/pubnub/ruby/releases/download/v5.3.5/pubnub-5.3.5.gem
704+
package-name: pubnub-5.4.0.gem
705+
location: https://github.com/pubnub/ruby/releases/download/v5.4.0/pubnub-5.4.0.gem
691706
requires:
692707
- name: addressable
693708
min-version: 2.0.0

CHANGELOG.md

Lines changed: 96 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,99 @@
1-
## v5.3.5
2-
October 09 2024
3-
4-
#### Modified
5-
- Updated direct and transient dependency versions. Fixed the following issues reported by [@pboling](https://github.com/pboling): [#158](https://github.com/pubnub/ruby/issues/158).
6-
7-
## v5.3.4
8-
April 29 2024
9-
10-
#### Fixed
11-
- Fix issue because of which client didn't encode App Context get all event `filter` query value.
12-
13-
## v5.3.3
14-
January 29 2024
15-
16-
#### Modified
17-
- Bump required version to the minimum officially supported Ruby version.
18-
19-
## v5.3.2
20-
November 23 2023
21-
22-
#### Modified
23-
- Return source event data when a client configured with crypto is unable to decrypt it (can be not encrypted data or encrypted with different options).
24-
25-
## v5.3.1
26-
November 03 2023
27-
28-
#### Modified
29-
- Update license information.
30-
31-
## v5.3.0
32-
October 16 2023
33-
34-
#### Added
35-
- Add crypto module that allows to configure SDK to encrypt and decrypt messages.
36-
37-
#### Fixed
38-
- Improved security of crypto implementation by adding enhanced AES-CBC cryptor.
39-
40-
## v5.2.2
41-
March 14 2023
42-
43-
#### Fixed
44-
- Fix issue which raised an exception when PubNub client has been configured with a secret key.
45-
46-
## v5.2.1
47-
December 13 2022
48-
49-
#### Fixed
50-
- Fix format which is used to return server data from `get_message_actions` method call.
51-
52-
## v5.2.0
53-
December 12 2022
54-
55-
#### Added
56-
- Add api which allow to work with message actions endpoints.
57-
58-
#### Modified
59-
- Migrate test suite run from Travis to GitHub Actions.
60-
61-
## v5.1.2
62-
November 23 2022
63-
64-
#### Fixed
65-
- Fix issue because of which channel hasn't been encoded properly with endpoint call.
66-
67-
## v5.1.1
68-
October 26 2022
69-
70-
#### Fixed
71-
- Fix issue because of which `callback` and `http_sync` provided during client configuration not used when missing in method call.
72-
73-
## v5.1.0
74-
July 26 2022
75-
76-
#### Added
77-
- Add support for spaces and users permissions in grant_token.
78-
- Add user_id and deprecate uuid when creating new pubnub instance.
79-
80-
## v5.0.0
81-
January 13 2022
82-
83-
#### Modified
84-
- BREAKING CHANGES: uuid is required parameter to create PubNub instance.
85-
1+
## v5.4.0
2+
January 07 2025
3+
4+
#### Added
5+
- Add batch history support.
6+
- Add fetch messages with message reactions.
7+
- Add fetch messages (batch history) endpoint support to fetch history for multiple channels.
8+
- Add fetch messages with reactions support.
9+
- Add `include_custom_message_type` support for fetch messages endpoint.
10+
- Add `custom_message_type` support for `publish` / `signal` and `subscribe` endpoints.
11+
12+
## v5.3.5
13+
October 09 2024
14+
15+
#### Modified
16+
- Updated direct and transient dependency versions. Fixed the following issues reported by [@pboling](https://github.com/pboling): [#158](https://github.com/pubnub/ruby/issues/158).
17+
18+
## v5.3.4
19+
April 29 2024
20+
21+
#### Fixed
22+
- Fix issue because of which client didn't encode App Context get all event `filter` query value.
23+
24+
## v5.3.3
25+
January 29 2024
26+
27+
#### Modified
28+
- Bump required version to the minimum officially supported Ruby version.
29+
30+
## v5.3.2
31+
November 23 2023
32+
33+
#### Modified
34+
- Return source event data when a client configured with crypto is unable to decrypt it (can be not encrypted data or encrypted with different options).
35+
36+
## v5.3.1
37+
November 03 2023
38+
39+
#### Modified
40+
- Update license information.
41+
42+
## v5.3.0
43+
October 16 2023
44+
45+
#### Added
46+
- Add crypto module that allows to configure SDK to encrypt and decrypt messages.
47+
48+
#### Fixed
49+
- Improved security of crypto implementation by adding enhanced AES-CBC cryptor.
50+
51+
## v5.2.2
52+
March 14 2023
53+
54+
#### Fixed
55+
- Fix issue which raised an exception when PubNub client has been configured with a secret key.
56+
57+
## v5.2.1
58+
December 13 2022
59+
60+
#### Fixed
61+
- Fix format which is used to return server data from `get_message_actions` method call.
62+
63+
## v5.2.0
64+
December 12 2022
65+
66+
#### Added
67+
- Add api which allow to work with message actions endpoints.
68+
69+
#### Modified
70+
- Migrate test suite run from Travis to GitHub Actions.
71+
72+
## v5.1.2
73+
November 23 2022
74+
75+
#### Fixed
76+
- Fix issue because of which channel hasn't been encoded properly with endpoint call.
77+
78+
## v5.1.1
79+
October 26 2022
80+
81+
#### Fixed
82+
- Fix issue because of which `callback` and `http_sync` provided during client configuration not used when missing in method call.
83+
84+
## v5.1.0
85+
July 26 2022
86+
87+
#### Added
88+
- Add support for spaces and users permissions in grant_token.
89+
- Add user_id and deprecate uuid when creating new pubnub instance.
90+
91+
## v5.0.0
92+
January 13 2022
93+
94+
#### Modified
95+
- BREAKING CHANGES: uuid is required parameter to create PubNub instance.
96+
8697
## v4.8.0
8798
December 16 2021
8899

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ group :test do
99
gem 'rspec-retry'
1010
gem 'rspec-expectations'
1111
gem 'rubocop'
12+
gem 'standard'
1213
gem 'simplecov', '>= 0.21.2', require: false
1314
gem 'vcr'
1415
gem 'webmock'

Gemfile.lock

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
pubnub (5.3.5)
4+
pubnub (5.4.0)
55
addressable (>= 2.0.0)
66
concurrent-ruby (~> 1.3.4)
77
concurrent-ruby-edge (~> 0.7.1)
@@ -98,6 +98,7 @@ GEM
9898
interception (0.5)
9999
json (2.7.2)
100100
language_server-protocol (3.17.0.3)
101+
lint_roller (1.1.0)
101102
method_source (1.1.0)
102103
mini_mime (1.1.5)
103104
multi_test (1.1.0)
@@ -147,13 +148,28 @@ GEM
147148
unicode-display_width (>= 2.4.0, < 3.0)
148149
rubocop-ast (1.32.3)
149150
parser (>= 3.3.1.0)
151+
rubocop-performance (1.23.0)
152+
rubocop (>= 1.48.1, < 2.0)
153+
rubocop-ast (>= 1.31.1, < 2.0)
150154
ruby-progressbar (1.13.0)
151155
simplecov (0.22.0)
152156
docile (~> 1.1)
153157
simplecov-html (~> 0.11)
154158
simplecov_json_formatter (~> 0.1)
155159
simplecov-html (0.13.1)
156160
simplecov_json_formatter (0.1.4)
161+
standard (1.41.1)
162+
language_server-protocol (~> 3.17.0.2)
163+
lint_roller (~> 1.0)
164+
rubocop (~> 1.66.0)
165+
standard-custom (~> 1.0.0)
166+
standard-performance (~> 1.5)
167+
standard-custom (1.0.2)
168+
lint_roller (~> 1.0)
169+
rubocop (~> 1.50)
170+
standard-performance (1.6.0)
171+
lint_roller (~> 1.1)
172+
rubocop-performance (~> 1.23.0)
157173
sys-uname (1.3.0)
158174
ffi (~> 1.1)
159175
timers (4.3.5)
@@ -183,6 +199,7 @@ DEPENDENCIES
183199
rspec-retry
184200
rubocop
185201
simplecov (>= 0.21.2)
202+
standard
186203
vcr
187204
webmock
188205

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
5.3.5
1+
5.4.0

fixtures/vcr_cassettes/examples/fetch_messages/001.yml

Lines changed: 46 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)