VERSION 5.0 #172
Description
With v4.0.0 kicked off as the last stable release for iOS 6, it's now time to begin v5.0.0.
I have better-organized the issues here on GitHub, and plan to keep everyone informed of the plans for v5.0.0 in this thread. If you have any questions, comments, or suggestions, please leave them below.
All work on version 5.0.0 will happen on branch version_5_release
exclusively. Please feel free to checkout this branch periodically to see my progress or even submit bug fixes!
Version 5.0.0
iOS support changes
- Drop iOS 6 support, become iOS 7+ only
- Remove all iOS 6 assets
- Strip all iOS 6-specific code
Refactoring / Structural changes
- Convert from
UITableView
toUICollectionView
- Use Storyboards and Auto-layout
- Default to iOS 7 appearance and style
- New
UICollectionViewCell
prototypes that match iOS 7 - Re-implement
JSMessagesViewDelegate
as more proper design pattern - Re-implement
JSMessageViewDataSource
as more proper design pattern - Re-implement
JSMessageInputView
to be aUIToolbar
subclass - Change class prefixes to
JSQ
to better prevent conflicts -
Rename repo toSee Rename repo to JSQMessagesViewController #258JSQMessagesViewController
New features
- Make
JSMessageInputView
more customizable withleftBarButton
andrightBarButton
properties -
Image messages, modular enough so consumers can load asynchronously if desirednot for 5.0 - Add
UIDynamics
for "bouncy" messages - Toggle showing a "typing indicator bubble"
- Toggle showing a "Load earlier messages" header
-
Localization?not for 5.0, do as needed see Localization #237
Maintenance
- NSAsserts where appropriate
- Better demo project
- Close as many existing issues as possible (bugs & feature requests)
Documentation
- Categories
- Controllers
- Factories
- Layout
- Model
- Views
Unit Tests
- Categories
- Controllers
- Factories
- Layout
- Model
- Views
Nice to have / Future work
- Landscape mode
-
Instead of image messages, more general "media" messagesnot for 5.0 see MEDIA MESSAGES #223 -
Infinite scrolling paginationnot for 5.0 see Infinite scrolling / pagination #236 -
iOS 7 swipe-to-show-timestampsnot for 5.0 see Slide for timestamp a la iOS 7 #138 - Tap avatar delegate
-
Edit mode for deleting messagesnot for 5.0 see Edit mode: deleting / selecting messages in bulk #235
iOS 6 suport branch
As noted above, I will no longer be supporting iOS 6. (And you shouldn't either! As of this writing, iOS 7 adoption rates are estimated at 80%.) Please note, because of the changes listed above, v4.0 and v5.0 will be entirely incompatible.
However, some may wish to continue supporting iOS 6. For this reason, I've created the branch iOS6_support_stable. I will not be contributing to this branch myself, but I will continue to accept pull requests.
Activity