Releases: jessesquires/JSQMessagesViewController
7.3.5 [Deprecated]
This library is being deprecated. Please read my blog post for details:
http://www.jessesquires.com/blog/officially-deprecating-jsqmessagesviewcontroller/
7.3.4
This release closes the 7.3.4 milestone.
7.3.3
This release closes the 7.3.3 milestone.
- Fixed crash when tapping
Delete
after selecting text in composer text view. (#1663, #1664) - Fixed issue where long-pressing text in the composer text view would display non-standard iOS options in the contextual menu. (#1663, #1664)
Thanks @halvini and @GianniCarlo! 🎉
7.3.2
7.3.1
7.3.0
This release closes the 7.3.0 milestone.
See the 7.3.0 milestone for the complete list of fixes and improvements.
Enhancements ✨
🎉 New JSQAudioMediaItem
for sending audio media (#1495)
Now you can embed audio files just as easily as images. Plays all formats supported by AVAudioPlayer (AAC, MP3, PCM, etc). Use the default UI or customize it via JSQAudioMediaViewAttributes
. See the docs for details.
Thanks @eliburke!
🎉 Fixed crash when long pressing on data detector links (#1247)
This is a workaround for an iOS bug.
Thanks @steipete!
🎉 Improved custom cell menu support (#1281)
Your JSQMessagesViewController
subclass can now override didReceiveMenuWillShowNotification:
and didReceiveMenuWillHideNotification:
for more fine-grained UIMenuController
handling.
Thanks @keyeMyria!
🎉 Accessibility enhancements to improve VoiceOver support (#873)
Cell and Accessory buttons now have accessibility labels. Incoming messages are announced.
Thanks @BillCarsonFr!
🎉 Customizable isOutgoing
method(#1203)
Allows better control over incoming/outgoing directionality for Team/Group chats. See the docs for details.
Thanks @sebastianludwig!
- (BOOL)isOutgoingMessage:(id<JSQMessageData>)messageItem;
🎉 Scroll to a specific row in the collection, optionally animated (#1195)
See the docs for details. Thanks @sebastianludwig!
- (void)scrollToIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated;
🎉 New localizations
- Malaysian (#1528)
- Indonesian (#1527)
- Norwegian (#1564)
- Finnish (#1415)
- Thai (#1292)
- Vietnamese (#1224)
Thanks @bejo, @hakonber, @2-4601, @ThirakornP, and @DungntVccorp!
🎉 Swift Demo Project (#1572 and others)
An implementation of a Swift project utilizing JSQMessagesViewController. There is a ConversationListView and ConversationView demonstrating basic features of JSQ. Just pod install to run the project.
Thanks @MacMeDan!
Bugs closed 🐛
Documentation improvements 📝
The full documentation is here.
Stats 📈
Due to the hard work from @orta and the @cocoapods team, I have some fun statistics to share about the library!
As of this writing:
- Total downloads: 529,107
- Total apps: 11,873
- GitHub Stars: 8,145
- See more on the library's cocoapods page
Thanks ❤️
As always, many thanks to all the contributors to this successful release!
— JSQ
💪 😎 👊
7.2.0
See the 7.2.0 milestone for the complete list of fixes and improvements.
Enhancements ✨
🎉 New solution for custom fonts (#347)
Using a custom font has been problematic for awhile. This mostly because there are tons of edge-cases regarding how glyph sizes are computed. To address this, the JSQMessagesCollectionViewFlowLayout
object has a new property:
@property (strong, nonatomic) id<JSQMessagesBubbleSizeCalculating> bubbleSizeCalculator;
With this, you can now provide your own object conforming to the JSQMessagesBubbleSizeCalculating
protocol and calculate the bubble sizes you need for your custom font! 😎 The library provides a default value for this, an instance of JSQMessagesBubblesSizeCalculator
, which maintains existing behavior.
🎉 Fixed-width bubbles (#1112) — Thanks @walsh2000!
See the docs for the aforementioned JSQMessagesBubblesSizeCalculator
. Using fixed-width bubbles will prevent message bubbles from resizing on rotation to landscape.
🎉 Text cells can now be deleted (#970)
Opt-in to this behavior using the following:
// in viewDidLoad
[JSQMessagesCollectionViewCell registerMenuAction:@selector(delete:)];
// then override the method
- (void)collectionView:(JSQMessagesCollectionView *)collectionView didDeleteMessageAtIndexPath:(NSIndexPath *)indexPath;
🎉 Localizations for Korean (#1149) and Arabic (#1130)
Thanks @chanil1218 and @qaysdwekat!
🎉 Better pin image drawing in JSQLocationMediaItem
(#1162)
Pins on location item maps are now perfectly centered. 😎
Thanks @harlanhaskins!
🎉 Intercept paste events from the input textView (#1136)
See the docs for JSQMessagesComposerTextViewPasteDelegate
.
Thanks @harlanhaskins!
🎉 Spacing for input toolbar items (#1035)
The JSQMessagesToolbarContentView
class has gained 2 new properties: leftContentPadding
and rightContentPadding
. See the docs for details.
Thanks @kohtenko!
Bugs closed 🐛
Stats 📈
Due to the hard work from @orta and the @cocoapods team, I have some fun statistics to share about the library!
As of this writing:
- Total downloads: 6013
- Total apps: 419
- See more on the library's cocoapods page
Thanks ❤️
As always, many thanks to all the contributors to this successful release!
— JSQ
💪 😎 👊
7.1.0
See the 7.1.0 milestone for the complete list of fixes and improvements.
- Better and easier mechanism for handling custom menu actions, activated via long-press, for cells. The demo project has been updated with an example.
Thanks @sebastianludwig!
Relevant issues: #810, #811 - You can now specify a maximum height for the input toolbar, via
self.inputToolbar.maximumHeight
. The default behavior is unchanged, allowing the toolbar to grow to the top of the collection view.
Thanks @lbanders and @werediver!
Relevant issues: #323, #756, #950 - The
keyboardController
property onJSQMessagesViewController
is now public. This allows you to modify the keyboard behavior if needed, but this should be a rare use case. Here be dragons! 🐉 You've been warned.
Release 7.0.2
Bug fixes. See milestone 7.0.2 for details.
Release 7.0.1
Bug fixes and improvements.
See milestone 7.0.1 for details.