- #516: Add support for Ruby 3.3 - @olleolleolle.
- #520: Add support for basic markdown formatting - @nbgoodall.
- #523: Fix coveralls handling parallel jobs - @dblock.
- Your contribution here.
- #494: Configure Dependabot to update GitHub Actions - @olleolleolle.
- #508: Fix
Slack::Events::Request#verify!
compatibility with Rack 3.x - @dblock. - #503: Update Slack API Update API from slack-api-ref@bc545649 - @dblock.
- #504: Update API from slack-api-ref@bc54564 - @slack-ruby-ci-bot.
- #458: Add workflow for automatic API updates - @duffn.
- #455: Update Slack API: Added pagination to
team.accessLogs
andAppsDatastore
methods - @marfoldi. - #454: Added
Slack::Messages::Formatting#escape
- @marfoldi. - #452: Automatically generate Web API multi-argument requirements from docs - @jmanian.
- #448, #453: Automatically convert more Web API arguments to JSON-encoded strings - @jmanian.
- #465: Update API from slack-api-ref@878be8f - @slack-ruby-ci-bot.
- #473: Update API from slack-api-ref@a29b520 - @slack-ruby-ci-bot.
- #474: Update API from slack-api-ref@629967e - @slack-ruby-ci-bot.
- #475: Update API from slack-api-ref@977dad5 - @slack-ruby-ci-bot.
- #476: Update API from slack-api-ref@d0b2989 - @slack-ruby-ci-bot.
- #478: Update API from slack-api-ref@d797055 - @slack-ruby-ci-bot.
- #480: Add common message formatting utilities - @chrisbloom7.
- #481: Update API from slack-api-ref@7c22d0b - @slack-ruby-ci-bot.
- #488: Update API from slack-api-ref@a45def2 - @slack-ruby-ci-bot.
- #490: Add changelog uri to gemspec - @MatheusRich.
- #491: Added code coverage - @dblock.
- #486: Async handler support for Slack::RealTime::Config and Client - @milestruecar.
- #489: Update API from slack-api-ref@0d3f0b6 - @slack-ruby-ci-bot.
- #493: Update API from slack-api-ref@f2e768a - @slack-ruby-ci-bot.
- #440: Added Enterprise support via TideLift - @dblock.
- #436: Removed dependency on unused websocket-driver - @blowfishpro.
- #434: Fixed incompatibility with Faraday >= 2.7.0 and GLI usage in the
slack
script - @blowfishpro. - #446: Added support for Ruby 3.2 - @duffn.
- #447: Added
admin_conversations_bulkArchive
,admin_conversations_bulkDelete
,admin_conversations_bulkMove
,admin_conversations_convertToPublic
,admin_conversations_lookup
,admin_roles_addAssignments
,admin_roles_listAssignments
,admin_roles_removeAssignments
,functions_workflows_steps_list
, andfunctions_workflows_steps_responses_export
- @dblock. - #447: Added pagination to
team_accessLogs
- @dblock.
- #416: Removes default values for Faraday's SSL settings
ca_file
andca_path
- @irphilli. - #417: Raise rescuable errors - @zachahn.
- #419: Use
rtm.connect
instead ofrtm.start
- @kstole. - #420: Fix default store missing event hooks - @kstole.
- #421: Added
admin_audit_anomaly_allow_getItem
,admin_audit_anomaly_allow_updateItem
,files_completeUploadExternal
,files_getUploadURLExternal
- @kstole. - #421: Raise error for mutually exclusive required options in views methods - @kstole.
- #424: Updated real_time.rake to remove outdated event hooks and organize alphabetically - @kstole.
- #423: Changed default store to
Slack::RealTime::Stores::Starter
and removedSlack::RealTime::Store
- @kstole. - #423: Replaced
channels
andgroups
caches withpublic_channels
andprivate_channels
- @kstole. - #423: Added configurable
hello
hook to initializeSlack::RealTime::Stores::Store
upon successful connection - @kstole. - #425: Updated web.rake to remove outdated endpoints and commands - @kstole.
- #400: Replace Travis-CI with GitHub Actions - @dblock.
- #401: Upgraded RuboCop to 1.26.0 - @dblock.
- #401: Added support for Ruby 3.1.1 - @dblock.
- #405: Added
admin_apps_requests_cancel
,admin_users_unsupportedVersions_export
,bookmarks_add
,bookmarks_edit
,bookmarks_list
,bookmarks_remove
- @dblock. - #404: Update
chat_update
method not to raise error with parameter which contains onlyreply_broadcast
- @colorbox. - #406: Update Faraday to
>= 2.0
- @schinery. - #406: Removed support for Ruby 2.5 and 2.6 - @schinery.
- #406: Test against latest Ruby 2.7, 3.0 and 3.1 - @schinery.
- #406: Upgraded RuboCop to 1.26.1 and lock to version - @schinery.
- #406: Updated Danger PR Linter GitHub action to use separate
Gemfile
- @schinery.
- #394: Added support for Ruby 3.0 - @dblock.
- #394: Upgraded to RuboCop 0.93.1 - @dblock.
- #393: Removed deprecated
oauth_token
, and leftover traces ofchannels
andgroups
APIs - @dblock. - #393: Added
admin_auth_policy_assignEntities
,admin_auth_policy_getEntities
andadmin_auth_policy_removeEntities
admin_conversations_disconnectShared
,admin_users_session_clearSettings
,admin_users_session_getSettings
,admin_users_session_resetBulk
,admin_users_session_setSettings
,apps_manifest_create
,apps_manifest_delete
,apps_manifest_export
,apps_manifest_update
,apps_manifest_validate
,conversations_acceptSharedInvite
,conversations_approveSharedInvite
,conversations_declineSharedInvite
,conversations_inviteShared
,conversations_listConnectInvites
,oauth_v2_exchange
,openid_connect_token
,openid_connect_userInfo
,team_billing_info
,team_preferences_list
,tooling_tokens_rotate
- @dblock. - #386: Gemspec: drop unused
test_files
directive - @olleolleolle. - #380: Updates to server error classes and hierarchy - @jmanian.
- #387: Send token in Authorization header - @chrisbloom7.
- #370: Removed deprecated
im_
,mpim_
,channels_
, andgroups_
methods - @dblock. - #368: Removed
admin_conversations_whitelist
andadmin_conversations_disconnectShared
- @dblock. - #359: Handle non-JSON 500 errors - @agrobbin.
- #360: Remove faye-websocket from the concurrency detection error message - @dblock.
- #369: Support rack requests in
Slack::Events::Request
- @wedgex.
- #350: Handle server errors such as timeouts & non-JSON responses - @ojab.
- #354: Rewind body after checking request signature - @sunny.
- #355, #357: Removed
celluloid-io
andfaye-websocket
support - @wasabigeek. - #356: Added
admin_apps_clearResolution
,admin_conversations_getCustomRetention
,admin_conversations_removeCustomRetention
,admin_conversations_setCustomRetention
,admin_users_session_list
andauth_teams_list
endpoints - @dblock. - #348: Added
admin_conversations_archive
,admin_conversations_convertToPrivate
,admin_conversations_create
,admin_conversations_delete
,admin_conversations_disconnectShared
,admin_conversations_getConversationPrefs
,admin_conversations_getTeams
,admin_conversations_invite
,admin_conversations_rename
,admin_conversations_search
,admin_conversations_setConversationPrefs
,admin_conversations_unarchive
,admin_conversations_ekm_listOriginalConnectedChannelInfo
,admin_users_session_invalidate
,apps_event_authorizations_list
,conversations_mark
,workflows_stepCompleted
,workflows_stepFailed
andworkflows_updateStep
endpoints - @wasabigeek.
- #336: Fix: handle nil events - @pyama86.
- #339: Fix:
channel_not_found
resolving channel IDs with 100+ channels - @dblock. - #340: Added
adapter
configuration setting to change theFaraday
HTTP adapter - @watsonjon.
- #322: Cache
Faraday::Connection
for persistent adapters - @drbrain. - #324: Require Faraday >= 1.0 - @dblock.
- #324: Upgrade slack-ruby-danger, rubocop, rubocop-rspec and rubocop-performance - @dblock.
- #327, #326: Added
admin_conversations_whitelist
,admin_usergroups
,calls
andcalls_participants
endpoints - @wasabigeek. - #329: Log when methods are deprecated - @wasabigeek.
- #325: Remove activesupport dependency - @ianks.
- #331: Use
conversations_list
instead of deprecatedchannels_list
. Addedadmin_conversations_restrictAccess_addGroup
,admin_conversations_restrictAccess_listGroups
andadmin_conversations_restrictAccess_removeGroup
endpoints - @wasabigeek.
- #305: Added
admin_inviteRequests_approve
,admin_inviteRequests_deny
,admin_inviteRequests_list
,admin_inviteRequests_approved_list
,admin_inviteRequests_denied_list
,admin_teams_create
,admin_teams_list
,admin_teams_admins_list
,admin_teams_owners_list
,admin_teams_settings
,admin_teams_settings_setIcon
,admin_teams_settings_setName
,admin_teams_settings_setDescription
,admin_users_assign
,admin_users_invite
,admin_users_remove
,admin_users_setAdmin
,admin_users_setOwner
andadmin_users_setRegular
endpoints - @manuelmeurer. - #311: Made Web API
response_metadata
more accessible in errors - @jmanian. - #312: Added specific error classes for Web API - @jmanian.
- #313: Added
admin_teams_settings_info
,admin_users_list
,admin_users_setExpiration
,admin_apps_approved_list
,admin_apps_restricted_list
,admin_conversations_setTeams
,admin_emoji_add
,admin_emoji_addAlias
,admin_emoji_list
,admin_emoji_remove
andadmin_emoji_rename
endpoints - @dblock.
- #293: Rubocop auto-correct and comprehensive todo - @jcraigk.
- #297: Various Rubocop fixes - @jcraigk.
- #298: Added
admin_apps
,admin_app_requests
andviews
endpoints - @jmanian. - #303: Added
oauth_v2_access
andviews_publish
endpoints - @jwright. - #309: Stop ping on
inactive_account
andinvalid_auth
- @dblock.
- #289: Fix reconnects when ping timers under/overshoot - @georgyangelov.
- #290: Expose Slack::RealTime::Client.logger accessor publicly - @jcraigk.
- #279: Prevent ping worker from dying on unexpected errors - @dblock.
- #281: Added
admin_users_session_reset
to Web API - @dblock. - #283: Fail when used with incompatible async-websocket > 0.8.0 - @dblock.
- #284: Include team id, name and domain in log output - @dblock.
- #256: Added support for specifying signing secrets on a per-request basis via optional parameters to the
Slack::Events::Request
constructor - @gabrielmdeal. - #257, #262: Fixed occasional failures to reconnect - @ioquatix, @dblock.
- #264: Added
chat_scheduleMessage
,chat_deleteScheduledMessage
andchat_scheduledMessages_list
- @dblock. - #264: Removed
files_comments_add
andfiles_comments_edit
- @dblock.
- #238: Added
Slack::Events::Request#verify!
to check whether an event request is coming from Slack - @dblock. - #226, #232, #236, #234: Added periodic ping that reconnects on failure - @RodneyU215, @dblock, @ioquatix.
- #242: Added
thread_ts
option tochat_postEphemeral
- @dblock. - #242: Added
apps_uninstall
to Web API - @dblock. - #244: Implementing #restart for the celluloid socket class - @RodneyU215.
- #246: Added TOC to README and danger-toc - @dblock.
- #253: Support for Block Kit - @JrmKrb.
- #219: Added support for
async-websocket
- @dblock, @ioquatix. - #224: Celluloid async support now uses a thread per client - @dblock.
- #224: Attempt to shutdown EventMachine if a reactor wasn't already running on start - @dblock.
- #216: Handle
Errno::ECONNRESET
and empty buffer reads with celluloid-io - @dblock. - #215: Web API
groups_list
,files_info
,mpim_list
,reactions_list
andstars_list
now support cursor pagination - @hotwatermorning. - #215: Added
apps_permissions_users_list
andapps_permissions_users_request
- @hotwatermorning. - #209: Changed
chat_postEphemeral
to check for existence of eithertext
orattachments
- @peterzhu2118. - #207: Added
apps_permissions_resources_list
andapps_permissions_scopes_list
- @jmanian. - #207: Added
users_conversations
- @jmanian. - #206: Fix 100% cpu usage in async examples - @felixbuenemann.
- #217: Upgraded RuboCop to 0.58.2 - @dblock.
- #217: No longer tested with Ruby 2.1, added 2.5 - @dblock.
- #187: Concatenate error message when multiple errors present - @chrislopresto.
- #188: Fixed
NoMethodError
when Slack is unavailable - @sonicdoe. - #196: Added
users_lookupByEmail
- @manuelmeurer. - #185: Calling undocumented endpoints will now produce a warning - @aviflombaum.
- #173: Added dialog support - @alexagranov.
- #176: Drop dependency on
json
gem - @seuros. - #177: Fix api ref repo - @manuelmeurer.
- #180: Upgraded RuboCop 0.51.0 - @dblock.
- #181: Added
chat_getPermalink
,migration_exchange
- @dblock. - #182: Added undocumented methods support with
channels_delete
,chat_command
,files_edit
,files_share
,users_admin_invite
,users_admin_setInactive
andusers_prefs_get
- @dblock.
- #169: Added Conversations API - @jmanian.
- #169: Added
include_locale
parameter to several methods (channels_info
,groups_info
,im_open
,rtm_start
,users_info
,users_list
) - @jmanian. - #169: Removed
groups_close
- @jmanian. - #167: Added support for pausing between paginated requests that can cause Slack rate limiting - @jmanian.
- #163: Use
OpenSSL::X509::DEFAULT_CERT_DIR
andOpenSSL::X509::DEFAULT_CERT_FILE
for default ca_cert and ca_file - @leifcr. - #161: Added support for cursor pagination - @dblock.
- #162: Gracefully close websocket on
Errno::EPIPE
- @johanoskarsson. - #172: Use
rtm.start
when store is a subclass ofSlack::RealTime::Stores::Store
(default) - @kstole.
- #158: Updated to latest slack-api-ref; Updated chat.3.update patch to reflect argument reordering; Added chat.4.postEphemeral patch to apply the attachments JSON fix (whitespace last line of diff matters! ;-) - @alexagranov.
- #146: Fix:
undefined method running?
andThreadError: Target thread must not be current thread
withCelluloid::IO
- @dblock. - #145: Automatically select
rtm_connect
vs.rtm_start
- @dblock. - #154: Raise a dedicated error class with 429 responses - @greggroth.
- #154: Namespace error classes under
Slack::Web::Api::Errors
module - @greggroth.
- Added
exclude_members
option tochannels_list
Web API - @dblock. - Added
chat_unfurl
to Web API - @dblock. - Added
rtm_connect
to RTM API - @dblock. - Added
no_latest
support torm_start
RTM API - @dblock.
- #135: Added
timeout
andopen_timeout
options to Web API - @dblock. - #134: Set
start_options[:request][:timeout]
, used withrtm.start
inSlack::RealTime::Client
, to 180 seconds - @dblock. - #136: Pass request options in web client calls - @dblock.
- #121: Fix: check that the current Celluloid actor is running before calling
terminate
- @newdark. - #138: Added
validate
option tochannels_create
,channels_join
,channels_rename
,groups_create
andgroups_rename
Web APIs - @dblock. - #138: Removed
channel
option fromfiles_comments_add
Web API - @dblock.
- #132: Fix: you are setting a key that conflicts with a built-in method Slack::Messages::Message#presence - @dblock.
- #127: Added
thread_ts
andreply_broadcast
options tochat_postMessage
in Web API - @dblock. - #127: Added
channels_replies
,groups_replies
andim_replies
to Web API - @dblock. - #127: Added
goodbye
event to the RTM API - @dblock. - #127: Added
before
toteam_accessLogs
- @dblock. - #108: Use slack-ruby-danger gem - @dblock.
- #116: Use slack-ruby/slack-api-ref as machine API reference - @dblock.
- #116: Added
users_setPhoto
andusers_deletePhoto
to Web API - @dblock. - #81: Require faraday 0.9.0 or newer - @leppert.
- #123: Fix a warning about duplicate definitions - @michaelherold.
- #103: Added Danger, PR linting - @dblock.
- #101: Fix: protected method
close
called with EventMachine - @dblock. - #104: Fix: thread leak in
start_async
with Celluloid - @dblock.
- Added
url_verification
,message.mpim
,message.im
,message.groups
andmessage.channels
RealTime events - @dblock. - The
im_open
method acceptsreturn_im
- @dblock.
- Added
bots_info
to Web API - @dblock. - Added
team_profile_get
andteam_billableInfo
to Web API - @dblock. - Added
chat_meMessage
to Web API - @dblock, @aaronpk. - Added
users_profile_get
andusers_profile_set
to Web API - @dblock. - The
stars_list
method no longer takes a user - @dblock.
- #93: Fix: When using Celluloid concurrency, handle input from the TCP socket asynchronously from reading more - @benzrf.
- Added
auth_revoke
andusers_identity
to Web API - @dblock. - Added
channel
parameter tofiles_comments_add
Web API - @dblock.
- #82: Fix
usergroups.users.{list,update}
andfiles.comments.{add,edit,delete}
APIs - @masatomo. - #73: Added a
closed
event - @rkadyb. - #69: Added attachments support for
Slack::Web::Api::Endpoints::Chat.chat_update
- @nicka. - #85: Compatibility with WebMock 2.0 - @dblock.
- Added
as_user
tochat_delete
Web API - @dblock. - Added
reminders_add
,reminders_complete
,reminders_delete
,reminders_info
andreminders_list
to Web API - @dblock.
- #68: The
Slack::RealTime::Config#store_class
is now globally configurable - @dblock. - #67: Make
logger
configurable and log HTTP requests and responses as well as RealTime events and socket data - @mikz, @dblock. - Added
Slack::RealTime::Stores::Store
andSlack::RealTime::Stores::Starter
- @dblock. - Added
files_revokePublicURL
andfiles_sharedPublicURL
to Web API - @dblock. - #60: Exceptions in event handlers and commands are no longer fatal - @dblock.
- #54: RealTime client maintains a local store of team data for
client.self
,team
,users
,channels
,groups
,ims
andbots
data - @dblock. - #56: API responses in both Web and RealTime clients are now instances of Slack::Messages::Message, which provides method access to properties - @dblock.
- #57: Configure arguments to pass to
rtm.start
viaconfig.start_options
- @dblock. - #52: Added
users_search
- @dblock.
- #45: Added
channels_id
,groups_id
andusers_id
- @dblock. - #45: Automatically lookup channel, group and user ID in Web API methods when Slack API doesn't accept #channel or @user names - @dblock.
- #49: Fix: Celluloid
#connected?
method - @mikz, @kandadaboggu.
- #47: Fix: default to Celluloid newer API - @jlyonsmith, @dblock.
- Fixed JRuby file encoding regression - @dblock.
- #41: Added
Slack::Messages::Formatting#unescape
- @dblock. - Added
files_comments
to Web API - @dblock.
- Added
dnd_teamInfo
,dnd_setSnooze
,dnd_info
,dnd_endSnooze
anddnd_endDnd
to Web API - @dblock. - The
files_upload
method now requires bothfile
andfilename
to Web API - @dblock.
- Added
usergroups_create
,usergroups_disable
,usergroups_enable
,usergroups_list
,usergroups_update
andusergroups_users
to Web API - @dblock. - Added command-line
slack
client - @dblock. - #5: Added Celluloid support - @mikz, @dblock.
- #34: Added
Slack::RealTime::Client#start_async
- @mikz, @dblock. Slack::RealTime::Client
supports:open
and:close
callbacks - @dblock.- #32: Fix:
on_complete: undefined method [] for nil:NilClass
when responding to Slack 400-500 errors - @dblock. - #22: Added
Slack::Web::Api::Error#response
- @dblock. - Added
logger
toSlack::Web::Client
configuration that logs HTTP requests - @dblock.
- Added
team_integrationLogs
to Web API - @dblock. - #11: Web API
chat_postMessage
errors only if bothattachments
andtext
are missing - @dblock. - #20: Web API
chat_postMessage
will automaticallyto_json
attachments - @dblock. - Added
mpim_aware
tortm_start
to Web API - @dblock. - Added
mpim_close
,mpim_history
,mpim_list
,mpim_mark
andmpim_open
to Web API - @dblock. - Added
unreads
tochannels_history
,groups_history
andim_history
to Web API - @dblock. - Added
stars_add
andstars_remove
to Web API - @dblock.
- Added
stars_list
,stars_add
andstars_remove
to Web API - @dblock. - Added
attachments
,parse
andlink_names
tochat_update
in Web API - @dblock.
- Added
team.info
andaccessLogs
to Web API - @dblock. - Removed obsolete
presence
Web API - @dblock. - Added
pins_add
,pins_list
andpins_remove
from Web API - @dblock. - Added
presence
tousers_list
in Web API - @dblock. - Added
groups_info
to Web API - @dblock. - Added
inclusive
togroups_history
andim_history
in Web API - @dblock. - Added
files_delete
to Web API - @dblock. - Added
as_user
tochat_postMessage
in Web API - @dblock. - Use API reference schema from github.com/dblock/slack-api-ref - @dblock.
- Added
reactions_add
,reactions_list
,reactions_get
andreactions_remove
to Web API - @jakedahn.
- Set Slack API token via
Slack::RealTime::Client.new(token: 'token')
andSlack::Web::Client.new(token: 'token')
- @dblock. - Set Slack API token via
Slack::RealTime::Client.configure
andSlack::Web::Client.configure
- @dblock.
- #2:
Slack::RealTime::Socket
now pings frames every 30s, as recommended by Slack - @samdoiron. - #3: RealTime client WebSocket frame ping frequency is now configurable with
Slack::RealTime::Client.websocket_ping
- @dblock. - #3: RealTime client WebSocket proxy is now configurable with
Slack::RealTime::Client.websocket_proxy
- @dblock. - #3: Added global
Slack::Web::Client
andSlack::RealTime::Client
configuration options viaSlack::Web::Client.configure
andSlack::RealTime::Client.configure
- @dblock. - Exposed
Slack::RealTime::Client.url
,team
,self
,users
,channels
,groups
,ims
andbots
- @dblock. - Default user-agent for
Slack::Web::Client
now includes a slash, eg. Slack Ruby Client/0.1.1 - @dblock. - Fix: set
Slack::Web::Client
connection options forca_path
,ca_file
, andproxy
- @dblock.
- Initial public release with Web and RealTime Messaging API support - @dblock.