inVerse Plugin Changelog
7.0.6 Release 2 -- July 6, 2021
7.0.6 Release 1 -- July 6, 2021
- #35: Update to Converse 7.0.6, which includes these changes:
For Converse 7.0.6:
- Bugfix: Wrong assignment in OMEMO code
For Converse 7.0.5:
- Bugfix: The @converse/headless NPM package is missing the dist directory, causing import errors
- Bugfix: @converse/headless wrongly depends on CustomElement from the view layer
- Bugfix: Converse does not reflect the browser language
7.0.4 Release 1 -- December 26, 2020
7.0.3 Release 1 -- December 8, 2020
- #31: upgrade to converse.js 7.0.3, which includes these changes:
For Converse 7.0.3:
- Bugfix: null inserted by emoji picker and can't switch between skintones
For Converse 7.0.2:
- Updated translations: de, nb, gl, tr
- Still more necessary files not included in the 7.0.1 NPM package, causing Module not found errors.
- #2337: Newly opened headline chat isn't hidden by default
7.0.1 Release 1 -- November 22, 2020
- Most Converse configuration properties can now be specified, by setting them as a Openfire system property, prepended with inverse.config. (eg: inverse.config.ping_interval).
- #29: upgrade to converse.js 7.0.0, which includes these changes:
- #2328 Honor use_system_emojis in emoji-picker
- Not all *.js files were included in the 7.0.0 package, causing: Module not found: Error: Can't resolve 'templates/*.js'
- #29: upgrade to converse.js 7.0.0, which includes these changes:
- #2231 add sort_by_query and remove sort_by_length
- #1313 Stylistic improvements to the send button
- #1481 MUC OMEMO: Error No record for device
- #1490 Busy-loop when fetching registration form fails
- #1535 Add option to destroy a MUC
- #1715 Update chat state notification after receiving a message correction.
- #1793 Send button doesn't appear in Firefox in 1:1 chats
- #1820 Set focus on jid field after controlbox is loaded
- #1822 Don't log error if user has no bookmarks
- #515 Add support for XEP-0050 Ad-Hoc commands
- #1823 New config options muc_roomid_policy and muc_roomid_policy_hint
- #1826 A user can now add himself as a contact
- #1839 Headline messages are shown in controlbox
- #1924 Configuring an ejabberd room fails
- #1896 Don't send receipts for messages fetched from the archive
- #1937 Editing a message removes the mentions highlight
- #1963 Mentions are visually incorrect when used in message replies
- #1999 Demarcate first unread message
- #2002 fix rendering of muc_roomid_policy_hint
- #2006 fix rendering of emojis in case use_system_emojis == false
- #2028 Implement XEP-0333 displayed chat marker
- #2101 Improve contrast of text in control box
- #2187 Avoid merging initial settings with themselves every time settings are extended.
- #2199 Fix BOSH session restore.
- #2201 added html to converse.env
- #2213 added CustomElement to converse.env
- #2220 fix rendering of emojis in case use_system_emojis == false (again).
- #2092 fixes room list update loop when having the locked_muc_domain truthy or 'hidden'
- #2285 Rename config option muc_hats_from_vcard to muc_hats. Now accepts a list instead of a boolean and allows for more flexible choices regarding user badges.
- #2300 Fix message reorder issue after message correction.
- #2304 Custom emojis (stickers) images not shown
- #2307 BootstrapModal is not accessible to plugins
- #2308 Allow getHats method to be overriden in the overrides object in plugins.
- #2321 When Converse runs inside a browser extension, enable browser sync and local storage for persistent storage
- #1250 Change favicon color when unread messages
- The trusted configuration setting has been removed in favor of two new settings:
- The persistent_store setting can now also be set to sessionStorage
- The api.archive.query method no longer accepts an RSM instance as argument.
- The plugin converse-uniview has been removed and its functionality merged into converse-chatboxviews
- Removed the mockups from the project. Recommended to use tests instead.
- The API method api.settings.update has been deprecated in favor of api.settings.extend.
- The API methods under the api.user.status namespace are now asynchronous and need to be awaited.
- Filter roster contacts via all available information (JID, nickname and VCard full name).
- Allow ignoring of bootstrap modules at build using environment variable. For xample: export BOOTSTRAP_IGNORE_MODULES="Modal,Dropdown" && make dist
- Bugfix. Handle stanza that clears the MUC subject
- Replace Backbone with Skeletor
- Start using lit-html instead of lodash for templating.
- muc_fetch_members now also accepts an array of affiliations to fetch.
- Remove the configuration setting muc_show_join_leave_status. The optional status message is no longer shown at all.
- Support for XEP-0156 is now enabled by default (which means that discover_connection_methods now has a default value of true).
- show_send_button now has a default value of true.
- The api.confirm method now accepts a list of fields and returns the filled in list upon confirmation.
- New config option allow_adhoc_commands
- New config option modtools_disable_assign
- New config option modtools_disable_query
- New config option muc_hats_from_vcard.
- New config option muc_send_probes.
- New config option notify_nicknames_without_references.
- New config option show_message_avatar.
- New public API converse.insertInto
6.0.1 Release 1 -- March 13, 2020
- #24: upgrade to converse.js 6.0.1, which includes these changes:
For Converse 6.0.1:
- Bugfix. Handle stanza that clears the MUC subject
- #1313: Stylistic improvements to the send button
- #1793: Send button doesn't appear in Firefox in 1:1 chats
- #1822: Don't log error if user has no bookmarks
- #1820: Set focus on jid field after controlbox is loaded
- #1823: New config options
- #1826: A user can now add himself as a contact
- Note: due to a bug in the webpack config, the webfonts directory isn't copied over from ./sass to ./dist when you build
your own distribution files. As a workaround, you can just copy it over manually.
For Converse 6.0.0:
- The debug configuration option has been replaced with loglevel. loglevel.
- In contrast to sessionStorage and localStorage, IndexedDB is an asynchronous database. A lot of code that relied on database access to be synchronous had to be updated to work with asynchronous access via promises.
- In order to add support for XEP-0156, the XMPP connection needs to be created only once we know the JID of the user that's logging in. This means that the connectionInitialized event now fires much later than before. Plugins that rely on connectionInitializedbeing triggered before the user's JID has been provided will need to be updated.
- The following API methods now return promises:
- Changes the events:
- The chatBoxInitialized event now triggers when a _converse.ChatBox (not the view) is opened.
- Renamed the old chatBoxInitialized to chatBoxViewInitialized and trigger only for ChatBoxView instances.
- Renamed chatRoomOpened event to chatRoomViewInitialized
- The order of certain events have now changed: statusInitialized is now triggered after initialized and connected and reconnected.
- _converse.api.chats.get() now only returns one-on-one chats, not the control box or headline notifications.
- The show_only_online_users setting has been removed.
- _converse.api.alert.show is now _converse.api.show and instead of taking an integer for the type, "info", "warn" or "error" should be passed in.
- The converse-headline plugin has been split up into converse-headlines and converse-headlines-view.
5.0.5 Release 1 -- November 20, 2019
- #21: upgrade to converse.js 5.0.5, which includes these changes:
- Prevent editing of sent file uploads.
- #1089: When filtering the roster for `online` users, show all non-offline users.
- #1733: New message notifications for a minimized chat stack on top of each other.
- #1757: Chats are hidden behind the controlbox on mobile.
- #1760: Private messages no longer received after websocket reconnect.
5.0.4 Release 1 -- October 8, 2019
- #19: upgrade to converse.js 5.0.4, which includes these changes:
For Converse 5.0.4:
- New config option allow_message_corrections which, if set to last, limits editing of sent messages to the last message sent.
- Bugfix: Don't treat every duplicate message ID as a message correction; since some clients don't use globally unique ID's this causes false positives.
- Bugfix: process stanzas from mam one-by-one in order to correctly process message receipts
- #1712 TypeError: plugin._features is not a function
- #1714 Don't notify the user in case we're receiving a message delivery receipt only
- #1739 New config option assets_path which lets you set the path from which "chunks" are loaded.
For Converse 5.0.3:
- Emit chatBoxFocused and chatBoxBlurred events for emoji picker input
- SECURITY FIX: Reject unencapsulated forwarded messages, since we don't support XEP-0297 on its own
For Converse 5.0.2:
- po translations files are now loaded via Webpack. As a result the locales_url config option is now removed given that the path to the locale JSON files is now determined by the webpack config and can't be changed at runtime.
- The JSON representing emojis is now fetched asynchronously as a separate file converse.emojis.js.
- Webpack is now configured with a publicPath set to /dist/. This is necessary so that chunks (such as the emojis and locales JSON files) can be fetched asynchronously. This means that all your assets need to be served at /dist. If you need to set a different path, you'll need to set publicPath in webpack.config.js to your preferred path and then rebuild all assets (e.g. make dist).
- Use listenTo to avoid memory leaks when views get removed.
- SECURITY FIX: Ignore MAM chat messages not sent from yourself
- #1692 Bugfix: TypeError: oldest_message is undefined
- #1704 SECURITY FIX: Impersonation by misusage of groupchat carbons
- #1705 Bugfix: this.roomspanel is undefined after hibernating
5.0.1 Release 1 -- August 27, 2019
- #17: upgrade to converse.js 5.0.1, which includes these changes:
For Converse 5.0.1:
- Add a new GUI for moderator actions. You can trigger it by entering /modtools in a MUC.
- Reconnect if the server doesn't respond to a ping within 10 seconds.
- Don't query for MAM MUC messages before the cached messages have been restored (another cause of duplicate messages).
- Show an error message and option to retry when fetching of the MAM archive times out
- Bugfix: TypeError: o.getAttribute is not a function converse-chatview.js (can cause messages to not appear).
For Converse 5.0.0:
- BOSH support has been moved to a plugin.
- Support for XEP-0410 to check whether we're still present in a room
- Initial support for the CredentialsContainer web API
- Allow for synchronous events. When a synchronous event is fired, Converse will
- wait for all promises returned by the event's handlers to finish before continuing.
- Properly handle message correction being received before the corrected message
- Groupchat default configuration now supports list-multi fields
- Bugfix: Don't set muc_domain for roomspanel if locked_muc_domain is true.
- Bugfix: Modal auto-closes when you open it for a second time.
- Bugfix: Cannot read property 'parentElement' of null in shadow DOM
- Take roster nickname into consideration when rendering messages and chat headings.
- Hide the textarea when a user is muted in a groupchat.
- Don't restore a BOSH session without knowing the JID
- In the /help menu, only show allowed commands
- Message deduplication bugfixes and improvements
- Continuously retry (in 2s intervals) to fetch login credentials (via credentials_url) in case of failure
- Replace moment with DayJS.
- New config option auto_focus
- New config option clear_messages_on_reconnection
- New config option enable_smacks
- New config option message_limit
- New config option muc_fetch_members
- New config option muc_mention_autocomplete_min_chars
- New config option muc_show_join_leave_status
- New config option singleton
- By setting this option to false and view_mode to 'embedded', it's now possible to
- "embed" the full app and not just a single chat. To embed just a single chat, it's now
- necessary to explicitly set singleton to true.
- Re-add the previously removed config option keepalive
- New event: chatBoxBlurred
- New event: chatReconnected
- #316 Add support for XEP-0198 Stream Management
- #1071 x clear cross of same size as text
- #1142 Up/down arrow shouldn't erase current message
- #1196 Use alternative connection method upon connfail
- #1296 embedded view mode shows chatbox-navback arrow in header
- #1330 Missing room name in MUC invitation popup
- #1445 Participants list uses big font in embedded mode
- #1455 Avatar in controlbox status-view not updated
- #1465 When highlighting a roster contact, they're incorrectly shown as online
- #1476 Support OMEMO on by default for chats via a config variable
- #1494 Trim whitespace around messages
- #1495 Mentions should always include a URI attribute
- #1502 Fatal error when using prebind
- #1524 OMEMO libsignal-protocol.js Invalid signature
- #1532 Converse reloads on enter pressed in the filter box
- #1538 Allow adding self as contact
- #1548 Add support for paging through the MAM results when filling in the blanks
- #1550 Legitimate carbons being blocked due to erroneous forgery check
- #1554 Room auto-configuration broke if the config form contained fields with type fixed
- #1558 this.get is not a function error when forward_messages is set to true.
- #1561 Don't call clear on local or session storage
- #1572 In fullscreen view mode the top is cut off on iOS
- #1575 MUC invitation autocomplete list doesn't appear
- #1576 Converse gets stuck with spinner when logging out with auto_login set to true
- #1579 Trim spaces at the beginning and end of a JID (when adding contact)
- #1585 Upload files by pasting from clipboard
- #1586 Not possible to kick someone with a space in their nickname
- #1664 Blacklisting converse-profile makes the control box totally blank
4.2.0 Release 1 -- June 25, 2019
- #15: upgrade to converse.js 4.2.0, which includes these changes:
- Upgrade to Backbone 1.4.0, Strophe 1.3.2 and Jasmine 2.99.2
- Remove dependency on (our fork of) Awesomplete
- Prevent user from adding themselves as contact
- Fix "flashing" of roster filter when you have less than 5 roster contacts
- Fix handling of CAPTCHAs offered by ejabberd
- Don't send out receipts or markers for MAM messages
- Allow setting of debug mode via URL with /#converse?debug=true
- Render inline images served over HTTP if Converse itself was loaded on an unsecured (HTTP) page.
- Make sure nickname passed in via _converse.initialize has first preference as MUC nickname
- Make sure required registration fields have "required" attribute
- New config setting autocomplete_add_contact
- New config setting locked_muc_domain
- New config setting locked_muc_nickname
- New config setting show_client_info
- Document new API method sendMessage
- Don't filter out own device when sending an OMEMO message
- #1149 With xhr_user_search_url, contact requests are not being sent out
- #1213 Switch roster filter input and icons
- #1327 fix False mentions positives in URLs and Email addresses
- #1352 Add Jed as dependency of @converse/headless
- #1373 Re-add support for the muc_domain setting
- #1400 When a chat message is just an emoji, enlarge the emoji
- #1407 Silent errors when trying to use whitespace as MUC nickname
- #1437 List of groupchats in modal doesn't scroll
- #1457 Wrong tooltip shown for "unbookmark" icon
- #1467 Fix rendering of URLs enclosed with sharp brackets such as <https://example.org>
- #1479 Allow file upload by drag & drop also in MUCs
- #1487 New config option muc_respect_autojoin
- #1488 In error message, fall back to JID if name is not available.
- #1501 Don't prompt for a reason if auto_join_on_invite is true
- #1507 Make message id and origin-id identical in order to fix LMC with Conversations
- #1508 Minimized bookmarked chatboxes should not be always maximized after page reload.
- #1512 Allow manual entry of jid even with xhr_user_search_url.
- The JID input field is now also visible. To hide it simply hide .add-xmpp-contact__jid via CSS.
4.1.2 Release 1 -- February 22, 2019
- #12: Upgrade to converse.js 4.1.2, which includes these changes:
- Updated translations: af, cz, de, es, he, it, nl, nl_BE, pt_BR, zh_CN
- Bugfix. Prevent duplicate messages by comparing MAM archive id to XEP-0359 stanza ids.
- Bugfix. Open groupchats not shown when logging in after disconnection.
- #1406 TypeError: e.devicelists is undefined when unchecking the "trusted device" checkbox
4.1.1 Release 1 -- February 20, 2019
- #8: Fix Maven build
- #9: Upgrade to converse.js 4.1.1, which includes these changes:
- Updated translations: af, cz, de, es, eu, ga, he, hi, ja, nb, nl_BE, zh_CN
- New language supported: Esperanto
- Accessibility: Tag the chat-content as an ARIA live region, for screen readers
- Set releases URL to new Github repo
- Rudimentary support for XEP-0333 chat markers
- Better support for XEP-0359 stanza-id and origin-id elements.
- Bugfix: restore textarea size after sending a message
- Bugfix: MUC invite form not appearing
- #1369 Don't wrongly interpret message with subject as a topic change.
- #1405 Status of contacts list are not displayed properly
- #1408 New config option roomconfig_whitelist
- #1410 HTTP upload not working if conversations push proxy is used
- #1412 MUC moderator commands can be disabled selectively by config
- #1413 Fix moderator commands that change affiliation
- #1414 Prevent duplicate messages on MUC join
- #1417 Margin between nickname and badge
- #1421 Fix direct invite for membersonly room
- #1422 Resurrect the muc_show_join_leave option
- #1438 Update contact nickname when receiving a roster push
- #1442 MUC read receipts causing empty lines
4.1.0 Release 1 -- January 16, 2019
- [OF-1517] - Don't require i18n source files for all plugins to be encoded.
- [OF-1641] - Ensure all JSP pages have the correct contentType.
- Minimum Java requirement: 1.8
- OF-1517: Don't require i18n source files for all plugins to be encoded.
- OF-1636: Add 'fullpage' style sheet.
- OF-1629: include missing resources (logos, sounds).
- #6: upgrade to converse.js 4.1.0, which includes these changes:
For Converse 4.1.0:
- Bugfix: MUC commands were being ignored
- Bugfix: Multiple rooms shown active in the rooms list
- Bugfix: Don't open chats when receiving messages without a body
- Bugfix: Typing in the textarea can become very slow in large MUCs
- UI: Always show the OMEMO lock icon (grayed out if not available).
- Use publish-options with pubsub#access_model set to open when publishing OMEMO public keys and devices
- Add a new converse-pubsub plugin, for generic PubSub operations
- #1180 It's now possible to use OMEMO in a MUC (if it's members-only and non-anonymous)
- #1334 Force avatar refetch when receiving vcard-temp:x:update
- #1337 send_chat_state_notifications doesn't work in MUCs
- #1353 Message Delivery Receipts not working because of the message "type" attribute
- #1356 Make triangle icon usable
- #1374 Can't load embedded chat when changing view_mode between page reloads
- #1376 Fixed some alignment issues in the sidebar
- #1378 Message Delivery Receipts were being sent for carbons and own messages
- #1379 MUC unread messages indicator is failing
- #1382 Message Delivery Receipts: Set store hint and type='chat'
- #1388 implement muc-owner command /destroy
For Converse 4.0.6 (OF-1653):
- Updated translations: ar, cs, de, es, eu, fr, gl, hu, id, it, ja, nb, pt_BR
- Don't render http (i.e. non-TLS) resources
- Bugfix: Converse caused RID out of range errors on Prosody
- Bugfix: MUC messages sometimes appear twice after resync.
- #1331 Fix missing checkmarks in old muc messages
- #1333 Don't send receipt requests in MUCs
- #1348 Font gets cut off in Firefox #1348
For Converse 4.0.5:
- Error FATAL: TypeError: Cannot read property 'extend' of undefined when using embedded view mode.
- Default paths in converse-notifications.js are now relative
- Add a button to regenerate OMEMO keys
- Add client info modal which shows Converse's version number
- New config setting theme
- #141 XEP-0184: Message Delivery Receipts
- #1033 Setting show_send_button to true didn't work
- #1188 Feature request: drag and drop file to HTTP Upload
- #1268 Switch from SASS variables to CSS custom properties
- #1278 Replace the default avatar with a SVG version
- #1288 Add CSS classes to differentiate between incoming and outgoing messages
- #1305 added value 'all' for 'show_desktop_notifications' to notifiy even if converse.js is open
- #1306 added option notification_delay
- #1312 Error unrecognized expression in Safari
- #1316 show version info in login dialog
- #1317 Don't show errors for CSI messages
- #1318 added values 'on' and 'off' for 'trusted' option which removes the "This is a trusted device" checkbox from the login form
- #1319 Implement sending of presences according to XEP-0319: Last User Interaction in Presence
For Converse 4.0.4 (OF-1635):
- Use Lerna to create the @converse/headless package
- Use ES2015 modules instead of UMD.
- #1252 Correctly reflect the state in bookmark icon title.
- #1257 Prefer 'probably' over 'maybe' when evaluating audio play support.
- #1259 Don't inform of affiliation change after user leaves MUC
- #1261 File upload not working
- #1264 Right Align badges of room occupants
- #1272 Hiding MUC occupants leaves a blank space
- #1278 Replace the default avatar with a SVG version
For Converse 4.0.3 (OF-1628):
- New translations: Arabic, Basque, Czech, French, German, Hungarian, Japanese, Norwegian Bokmål, Polish, Romanian, Spanish
- Bugfix. Converse continuously publishes an empty OMEMO devicelist for itself
- Bugfix. Handler not triggered when submitting MUC password form 2nd time
- Bugfix. MUC features weren't being refreshed when saving the config form
- Don't show duplicate notification messages
- New config setting show_images_inline
- Disable OMEMO when the user has indicated that Converse is running on an untrusted device.
- #537 Render xmpp: URI as link
- #1058 Send an inactive chat state notification when the user switches to another tab
- #1062 Collapse multiple join/leave messages into one
- #1063 URLs in the topic / subject are not clickable
- #1140 Add support for destroyed chatrooms
- #1169 Non-joined participants display an unwanted status message
- #1185 Added Contact still shown as pending
- #1190 MUC Participants column disappears in certain viewport widths
- #1193 OMEMO messages without a body fallback are ignored
- #1199 Can't get back from to login screen from registration screen
- #1204 Link encoding issue
- #1209 Bring color codes of users' status in line with other clients
- #1214 Setting allow_contact_requests to false has no effect
- #1221 Avoid creating a headlines box if we don't have anything to show inside it
- #1222 Adding a bookmark should prefill the room name
- #1228 Converse automatically visits links (to try and determine whether they're images to show inline)
4.0.2 Release 1 -- October 4th, 2018
4.0.1 Release 1 -- September 20th, 2018
4.0.0 Release 1 -- September 8th, 2018
- OF-1597: upgrade to converse.js 4.0.0, which includes these changes:
- #161 XEP-0363: HTTP File Upload
- #194 Include entity capabilities in outgoing presence stanzas
- #337 API call to update a VCard
- #421 XEP-0308: Last Message Correction
- #497 XEP-0384: OMEMO encrypted messaging
- #968 Use nickname from VCard when joining a room
- #986 Affiliation changes aren't displayed in the chat
- #1081 Allow for shift-enter to insert newlines
- #1091 There's now only one CSS file for all view modes.
- #1094 Show room members who aren't currently online
- #1106 Support for Roster Versioning
- #1137 Autocompletion and support for XEP-0372 References, specifically section "3.2 Mentions".
- It's now also possible to edit your VCard via the UI
- Automatically grow/shrink input as text is entered/removed
- MP4 and MP3 files when sent as XEP-0066 Out of Band Data, are now playable directly in chat
- Support for rendering URLs sent according to XEP-0066 Out of Band Data.
- Geo-URIs (e.g. from Conversations) are now replaced by links to openstreetmap (works in reverse also)
- Add a checkbox to indicate whether a trusted device is being used or not.
- If the device is not trusted, sessionStorage is used and all user data is deleted from the browser cache upon logout.
- If the device is trusted, localStorage is used and user data is cached indefinitely.
- Initial support for XEP-0357 Push Notifications, specifically registering an "App Server".
- Add support for logging in via OAuth (see the oauth_providers setting)
- Spoiler messages didn't include the message author's name.
- #1017 Documentation includes utf-8 charset to make minfied versions compatible across platforms.
- #1026 Typing in MUC shows "Typing from another device"
- #1039 Multi-option data form elements not shown and saved correctly
- #1143 Able to send blank message
- _converse.api.vcard.get now also accepts a Backbone.Model instance and has an additional force parameter to force fetching the vcard even if it has already been fetched.
- New API method _converse.api.vcard.update.
- The contactStatusChanged event has been renamed to contactPresenceChanged and a event presenceChanged is now also triggered on the contact.
- _converse.api.chats.open and _converse.api.rooms.open now returns a Presence which resolves with the Backbone.Model representing the chat object.
- #956 Conversation pane should show my own identity in pane header
- The UI is now based on Bootstrap4 and Flexbox is used extensively.
- Fontawesome 5 is used for icons.
- User Avatars are now shown in chat messages.
- Removed the storage configuration setting, use trusted instead.
- Removed the use_vcards configuration setting, instead VCards are always used.
- Removed the xhr_custom_status and xhr_custom_status_url configuration settings. If you relied on these settings, you can instead listen for the statusMessageChanged event and make the XMLHttpRequest yourself.
- Removed xhr_user_search in favor of only accepting xhr_user_search_url as configuration option.
- xhr_user_search_url has to include the ? character now in favor of more flexibility. See example in the documentation.
- The data returned from the xhr_user_search_url must now include the user's jid instead of just an id.
- New configuration settings nickname and auto_join_private_chats.
- Extracted the views from converse-muc.js into converse-muc-views.js and where appropriate moved methods from the views into the models/collections. This makes MUC possible in headless mode.
- Created a new core plugin converse-roster.js which contains the models for roster-related data. Previously this code was in converse-core.js.
- VCards are now stored separately from chats and roster contacts.
- Support for OTR (off-the-record) encryption has been dropped.
3.3.4 Release 1 -- March 15th, 2018
3.3.2 Release 1 -- February 5th, 2018
3.2.1 Release 1 -- September 4th, 2017
3.1.0 Release 1 -- July 10th, 2017
3.0.3 Alpha 1 -- June 19th, 2017
- Initial release.
- Based on commit 068be7b
of Converse, which is a commit newer than the 3.0.2 release, which was the latest official release at the time.