Skip to content
This repository was archived by the owner on Aug 14, 2019. It is now read-only.
This repository was archived by the owner on Aug 14, 2019. It is now read-only.

VERSION 5.0 #172

Closed
Closed
@jessesquires

Description

@jessesquires

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 to UICollectionView
  • 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 a UIToolbar subclass
  • Change class prefixes to JSQ to better prevent conflicts
  • Rename repo to JSQMessagesViewController See Rename repo to JSQMessagesViewController #258

New features

  • Make JSMessageInputView more customizable with leftBarButton and rightBarButton properties
  • Image messages, modular enough so consumers can load asynchronously if desired not 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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions