Twitter4J 2.1.0 released - with latest API support and performance / memory footprint improvements
Twitter4J is an open-sourced, mavenized and Google App Engine safe Java library for the Twitter API which is released under the BSD license.
Twitter4J 2.1.0 is now available for download.
This version is also available in the Maven central repository.
http://repo1.maven.org/maven2/org/twitter4j/
You can also use the snapshot repository.
http://twitter4j.org/maven2/org/twitter4j/
Release Notes - Twitter4J - Version 2.1.0
Bug
- [TFJ-206] - need to disambiguate methods showUser(integer-userid) and showUser(screen-name)
- [TFJ-207] - need to disambiguate methods ***ById(int id) and ***ByScreenName(String sn)
- [TFJ-213] - 400 bad request when using within near: or within: operator.
- [TFJ-215] - geo lat/long are always -1
- [TFJ-228] - Unable to "close" a TwitterStream
- [TFJ-230] - DirectMessage.getSender()/getReceiver() always return null
- [TFJ-235] - Reply to Retweet does showe inReplyToStatusId as -1
- [TFJ-236] - twitter4j.Twitter doesn't implement Serializable properly
- [TFJ-257] - rateLimitStatus doesn't work with OAuth
- [TFJ-262] - unexpected TwitterException(statusCode=-1) on Android
- [TFJ-282] - java.lang.IllegalArgumentExcep tion: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: " s"
- [TFJ-288] - getFollowerIds needs authentication
Improvement
- [TFJ-162] - use json to reduce computing / network footprint
- [TFJ-217] - geo location as a class
- [TFJ-219] - support improved retweet format
- [TFJ-224] - verifyCredentials: clarify when TwitterException will be thrown
- [TFJ-234] - cursor-based pagination for statuses/friends and statuses/followers.
- [TFJ-239] - rate limit status as a class
- [TFJ-240] - retire featured method
- [TFJ-244] - introduce a constant type class - TwitterMethod for AsyncTwitter exception handling
- [TFJ-245] - typo: deliverlyDevice -> deliveryDevice
- [TFJ-246] - retire async methods that don't take TwitterListener
- [TFJ-250] - add handy setter methods to Query class that returns itself to make it possible to generate a query instance in one line
- [TFJ-253] - methods that are API rate limited but are not requiring authentication need to pass credentials (if availalbe) to get whitelisted properly
- [TFJ-261] - introduce interface set which contain pre-categorized method set
- [TFJ-263] - define interfaces per method sets
- [TFJ-264] - rename ratelimitStatus() to getRateLimitStatus(), ratelimitStatusAsync() to getRateLimitStatusAsync()
- [TFJ-266] - mask Basic Authentication header in the debug output
- [TFJ-267] - be ready for the new search api response code
- [TFJ-273] - use SSL by default when Basic Authentication is enabled.
- [TFJ-274] - ability to specify streaming api specific http read timeout value
- [TFJ-276] - introduce Interfaces for data objects
- [TFJ-277] - extract interfaces from data objects
- [TFJ-278] - ensure *JSONImpl are treating all fields as optional
- [TFJ-279] - User.getProfileBackgroundTile() should return boolean
- [TFJ-283] - retire Device#IM as "IM" is not a supported notification device anymore
- [TFJ-284] - separate AsyncTwitter from Twitter
New Feature
- [TFJ-50] - support update_profile_image method
- [TFJ-51] - support update_profile_background_image method
- [TFJ-152] - introduce a listener interface that can grab http responses
- [TFJ-171] - listener for rate limit status changes
- [TFJ-210] - ability to handle streaming api's deletion and limitation notices
- [TFJ-214] - list API support
- [TFJ-223] - support spam reporting API
- [TFJ-226] - use versioned URL
- [TFJ-227] - introduce a tiny utility class that produces "a minutes ago" like strings from Date objects
- [TFJ-229] - ability to get Retry-After info
- [TFJ-231] - introduce more flexible configuration scheme, make Twitter class immutable
- [TFJ-237] - support list members methods
- [TFJ-238] - support list subscribers methods
- [TFJ-248] - support friendships/show
- [TFJ-249] - support users/search
- [TFJ-270] - include geo location info in the search result
- [TFJ-280] - ability to configure baseURLs
- [TFJ-289] - async support spam reporting API
- [TFJ-290] - async support of support users/search API
Task
- [TFJ-113] - retire deprecated methods
- [TFJ-220] - remove User#sendDirectMessage()
- [TFJ-255] - remove getPublicTimeline(long sinceId) as the parameter is not documented anymore
- [TFJ-256] - deprecate(or remove?) getFriendsTimeline()
- [TFJ-258] - Streaming API example
- [TFJ-265] - ensure AsyncTwitter class is truly serializable
| Tweet |