All notable changes to this project will be documented in this file.
- Log in issue
- Support for Reach Pins. You can specify a title when creating/editing a pin.
- Allow to specify a board section when create/edit Pins.
- Uploads from non-ascii links
- Pinners
isFollowedByMe()
helper method
- Password
reset()
method
- Added separate method for retrieving board invites (accepted and declined)
- Board
leave()
- Required PHP version is set to 7.0
- Retrieving pinner's followers and following requires being logged in
- board sections should require being logged in
- providers resolution for multi-case name
- endpoint for notification details
- get details for a notification
- get comments for a specified pin
- likes/dislikes are no longer supported by Pinterest and have been removed
- clear errors after success response
- writing comments for pins
- improved testing post requests
- hash-tags typeahead suggestions
- suggestions
getForQuery()
renamed tosearchFor()
- Board sections
edit()
renamed toupdate()
- Inbox
getMessages()
to receive conversation messages
- pagination for inbox conversations
- crash for recommended keywords with no response
- board invites require to be logged in
- hide link when creating a pin if not explicitly provided
- add login requirement for board sections
- Boards
my()
method (alias for methodforMe()
) - BoardSections provider
- use multibyte functions only if appropriate extension is installed
- Search functionality for pinners requires a bot to be logged in. Now
pinners->search()
call throwsAuthRequired
exception if not logged in.
- Helper functions auto-loading
- Use registration form in business register
- move helper functions to PinterestBot namespace
- Multi-byte str-functions call
- Type-ahead suggestions for search query
- Boards
forMe()
method requires a bot to be logged-in. - Boards
update()
method works with titles which has spaces. - Inbox
contactRequests()
method requires being logged in. - Inbox
ignoreContactRequests()
method renamed to `ignoreContactRequest. - Pins
moveToBoard()
removed pins description. - PHPUnit version updated to 5.7.
- Pins
visualSimilar()
returns Pagination. - Password
reset()
for invalid links.
- Pins
share()
to get link for sharing a pin and asking for reacting (like/dislike). - Pins
reactAsGood()
/reactAsBad()
to react when you were given a sharing link with a pin. - Improved tests coverage
wait()
method
- Profile update
- Moved to PHP version 5.6
- Login required check refactoring
- Profile form
- User
id()
helper to get current user id - Boards
sendInvite
,acceptInvite
,ignoreInvite
andremoveInvite
- Contact requests
- Boards invites
- Pins TryIt functionality
- Registration
- Convertion to business account requires being logged in
- Updated Pinterest X-APP-VERSION header
- Issue with autologin
- Issue with creating a cookie file for every new session
- Edit/repin pins
- Added dependency for fileinfo extension
- Possible bug in
useProxy
when providing empty auth string - Numbers in api requests should always be cast to strings
- User sessions history
- Profile setting
excludeFromSearch($bool)
to exclude your account from search results - Profile setting
setLocal($locale)
- Profile setting
setAccountType($type)
- User
getCountries()
to list all avaiable countries for user profile - Boards
invites()
- Pins
analytics($pinId)
- Cookies loading
- Cookies error on empty filename
- Boards forMe() and Pinners followers() methods
- httpClient usesProxy method
- boards info() method for boards with spaces in their names
- resolving only providers from container
- removed Bot unnecessary abstraction layer
- bot wait() method
- Bot getClientInfo() method
- Boards forMe() method
- Pinners followers() uses limit
- Pinterest request headers update
- Last error message. First goes message, then code if message is empty
- Storing last error from response
- Registration
- examples
- Topics explore method for getting trending topics
- Pins explore method for getting trending pins
- Annotations for comments in Bot class
- Auth register and registerBusiness methods accept Regstration form object.
- User profile method accepts Profile form object.
- Pinners followers method returns current user's followers when used without arguments.
- Boards forMe method to get boards of current logged-in user.
- Boards forMe and forUser methods always return array. For no results they return empty array.
- HttpClient dontUseProxy() method to stop sending requests via proxy
- Additional info added in pins related() method.
- Auth login() method always returns true, if proxy doesn't work
- Pagination fails on last response.
- Pinners tried pins.
- Pinners follow and unfollow methods accept both user's id or username.
- Pins activity() and tried() methods always return Pagination object.
- Boards forUser method returns detailed information for every board. If no boards are available it returns empty array.
- Pagination processes getResponseData() as array
- Registration
- Search method correctly works with limits.
- Pinners followers() methods.
- User clearSearchHistory() to remove search suggestions.
- Pins tied() returns the pinners who have tied this pin.
- Pins searchInMyPins() method.
- Inbox provider.
- News and Conversations providers, their methods moved to Inbox provider.
- Receiving confirmation email after registering business account.
- Feed pagination error
- Pagination issue with only first result.
- Request headers.
- getRawData() method to Response to get the original response data from Pinterest.
- More detailed registration process.
- Pagination offset.
- take method to pagination to set limits.
- Registration now sends confirmation emails.
- Skip method to pagination.
- To any pagination added toArray method to receive all pagination results as array.
- Pins activity now returns an empty error for no results instead of null.
- Boards createPrivate, sendWithMessage and sendWithEmail methods.
- Pins sendWithMessage, sendWithEmail and saveOriginalImage methods.
- HttpClient useProxy and useSocksProxy methods.
- Removed $removeCookies param from Auth::logout() method. Use bot->getHttpClient()->removeCookies() to remove your cookies.
- Interests main method requires to be logged in.
- $removeCookies param to logout method.
- block method in Pinners provider.
- getCurrentUrl method to receive the last visited page url.
- Pins copy, move, deleteFromBoard and send methods.
- Pinners blockById method.
- Boards send method.
- login, logout, register, registerBusiness, isLoggedIn moved to Auth provider.
- changePassword, sendPasswordResetLink resetPassword moved to Password provider. Removed password word from methods names (change, sendResetLink, reset).
- Boards getTitleSuggestionsFor renamed to titleSuggestionsFor
- Interests methods renamed: getMain to main, getInfo to info, getPinsFor to pins
- Pins methods renamed: getRelatedPins to related, userFeed to feed
- Topics methods renamed: getInfo to info, getPinsFor to pins
- User methods renamed: getUserName to username
- Method getHttpClient renamed to getHttpClient
- Pinners block method by default uses username instead of id and returns boolean.
- comment and deleteComment methods in Pins provider. Use Comments provider instead.
- Auto-login for blocked users
- logout method requires bot to be logged in
- Pinterest Headers version
- Pagination
- Pins visual similar search via visualSimilar
- Comments provider with create and delete methods
- Pins comment and deleteComment methods are deprecated
- News last method
- AuthFailed exception
- 502 Pinterest response on request with no data
- Fail on empty server response
- User resetPassword and sendPasswordResetLink methods to reset password.
- HttpClient parseCurrentUrl method
- HttpClient setCookiesPath method to change default store for cookie files.
- User invite method to invite people by email.
- Removed output cookie file path to console
- Boards info method now returns only specified board
- Creating cookie file if does not exist
- User register default country is GB
- reload param added to Bot getClientContext method.
- Bot getLastError method.
- Random cookie file name for non-authorized sessions.
- Bot getClientInfo method with auto login.
- HttpClient cookie and cookies methods.
- Auto-login from a �previously saved session.
- HttpClient setOptions does not override default Curl options, only adds additional ones.
- HttpClient setUserAgent method, custom userAgent should be passed with other Curl options via setOptions method.
- Images upload
- Bot getClientInfo method.
- User changePassword, deactivate methods.
- AuthRequired exception.
- Pins related method.
- Pinners likes method.
- News all method.
- Boards getTitleSuggestionsFor method.
- User login method does not throw an exception, now it returns false on fail.
- Bot getLastError method returns string, not array.
- News last method is deprecated.
- Checks in username and isBanned methods
- User isBanned and username methods
- Get user profile info
- Get following boards/people/interests for a pinner
- New Topics provider
- Follow/unfollow methods moved from Interest to Topics provider
- Added getRelatedTopics to Interests provider
- Provider::execGetRequest method now returns bool or array
- Exceptions classes renamed
- Helpers classes renamed
- Removed HasFollowers trait
- Fixed getUnFollowUrl() method in Followable trait
- HttpClient cookie file name moved to property instead of constant
- Custom curl options in HttpClient object
- Removed deprecated methods (isLoggedIn, logout, login) from Bot class. Instead use User provider
- Removed getRequest method from ProvidersContainer
- Http contract renamed to HttpClient
- Curl specific methods moved to CurlHttpClient
- Removed token logic from HttpClient, only parsing
- Removed user agent logic from Request to HttpClient
- Upload problems
- Fixed upload
- Renamed ProviderLoginCheckWrapper to ProviderWrapper
- Refactored Response class
- HttpInterface contract renamed to Http
- HttpInterface contract renamed to HttpClient
- PaginatedResponse contract added
- Pins method feed required login
- Interests: execGet main categories
- Interests: execGet category info
- Pins: execGet user feed
- Pins comment method
- Pins create method uploads images.
- User registerBusiness for registration business accounts.
- User convertToBusiness to convert simple account to a business one.
- User register method
- Pins edit method returns bool value
- login, isLoggedIn and logout methods move to User provider
- Bot login, isLoggedIn and logout methods are deprecated
- removed RequestInterface and ResponseInterface
- keywords recommendedFor method returns an empty array if no results
- Response hasErrors method returns true on errors
- php version downgraded for 5.5.9
- test changed for phpunit 4.0
- Response getBookmarks method return empty array for no bookmarks
- news last method login requirement check
- pagination empty result check
- functions with pagination accept a limit as a second argument, for example:
$bot->pins->search('cats', 2)
will return only two pins for the search results. The same is true about getting followers/following/pins for the user or board and getting pins from source.
- activity method in pins provider (requires login).
- bot logout method
- generator objects now return an entity for each iteration, not an array of entities. For example, to execGet search results there is no more need to make two nested loops:
foreach($bot->pins->search('cats') as $pin) {
echo $pin['id'], "\n";
// ...
}
The same is true about getting followers/following/pins for the user or board and getting pins from source.
## v3.3.1 - 2016-06-12
### Added:
- isLoggedIn method
- Response and Request refactoring
- Better exception messages in ProviderLoginCheckWrapper
## v3.2.3 - 2016-06-09
### Fixed:
- Pins like/dislike
- Response error check
## v3.2.2 - 2016-06-05
### Updated:
- Keywords provider
- recommendedFor($query) method returns terms and their positions.
## v3.2.1 - 2016-06-05
### Updated:
- Keywords provider
- recommendedFor($query) method returns items concatenated with the query request.
## v3.2.0 - 2016-06-04
### Added:
- Keywords provider
- recommendedFor($query) method.
## v3.1.0 - 2016-06-04
### Added:
- Change board (title, description, category and privacy)
## v3.0.0 - 2016-05-29
### Changed:
- News *latest* method renamed to *last*
- Request and providers refactoring
### Fixed:
- Boards follow/unfollow request
## v2.6.0 - 2016-05-28
### Updated:
- Pagination refactoring
- Requests refactoring
- version up due to the previous features
## v2.5.3 - 2016-05-28
### Added:
- Edit profile image
- Get pins from specific source
## v2.5.2 - 2016-05-23
### Added:
- Edit pin by id (change description, link and board)
- Move pin to a new board
## v2.5.1 - 2016-04-22
### Fixed:
- Cookie file now is placed in os PHP temporary directory
## v2.5.0 - 2016-03-12
### Added:
- Specify link when creating pin as third argument
## v2.4.2 - 2016-03-03
### Fixed:
- Login requirements check for some methods
## v2.4.1 - 2016-03-01
### Fixed:
- sendMessage, sendMail array bugs fix
## v2.4.0 - 2016-03-01
### Added:
1. Changes in sendMessage:
- Many users at once
- Add pin to message
2. Added sendMail method. Works like sendMessage, but pass email or array of emails instead of users ids.