The goal of this file is explaining to the users of our project the notable changes relevant to them that occurred between commits.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Additional parameter
browser_executable_path
now available when initializing InstaPy. Use it to run a specific installation of Firefox. - A new feature -
target_list()
to parse text files containing target lists of users, hashtags etc.
- xPath for breaking LIKE and COMMENT
- Adjusted follow xPath
- Additional web checks default
False
to avoid erros on runtime
- Additional CLI-Argument for connection checks
- Post types now as Enum in separate file
- Internet connection checks
- Small typos in documentation
- Firefox Proxy error
- prettyfied code
- fixed onetap account page on login
- fix minor bug in unfollow function
- Improved documentation
- Added "no_comments" for Pods
- Improved Tox / Travis testing
- Improved random sleep delay
- Telegram support
- Able to use Domains as a Proxy
- jsonschema requrements version
- skip_top_posts function
- Backup plan for graphql additional / shared data
- New bypass challenge approach (choose sms or email option)
- Show InstaPy version on initialization
- Login xpath update
- Add log information about the non-working feature (unfollow with All Following option enabled)
- Fix an issue with screen shot file creation
- Fix an issue with JSON file state creation
- Fix Get Query Hash function to work on all Python 3.x versions
- Fix Unfollow with option nonFollowers
- Firefox Extension which hides Selenium
- Black code formatter
- Mobile user agent
- Mobile Mode to enable mobile features
- Screen shots (rotative screen shots are taken and saved in your InstaPy user folder)
- Connection State
- removed chromedriver
- signature changes:
- set_action_delays(random_range) -> (random_range_from, random_range_to)
- set_delemit_liking(max, min) ->(max_likes, min_likes)
- set_delemit_commenting(max, min) ->(max_comments, min_comments)
- unfollow_users(customList, instapyfollowed) -> (custom_list_enabled, custom_list, custom_list_param, instapy_followed_enabled, instapy_followed_param)
- setquota_supervisor(peak) ->(peak___hourly, peak*_daily)
- Fix follow_likers feature
- Fix follow_user_followers
- Fix comment_image feature
- Update dont_unfollow_active_users to Mobile Mode
- Fix scroll down (util) function
- Remove bypass_by_mobile, it will auto detect the mobile if required now
- Update profile scrapping to use GraphQL (get_users_through_dialog_with_graphql)
- skip user based on profile bio
- xpath error likers from photo
- user agent error in firefox
- xpath compile multiple errors
- feature watch stories
- always use the lastest user-agent
get_action_delay
check for uninitialized delays in settings
- Always start chromedriver with --no-sandbox to fix #4607
get_action_delay
method always returning default values #4540
- Argument Being Interpreted as Sequence in
bypass_suspicious_login
session.get_relationship_counts()
broken behavior
- Documentation for basic Selenium Errors
- Import
Settings
in docs
session.follow_user_following()
broken behavior
- Additional check for like block.
- Remove support for python2
- Information regarding the nogui parameter in documentation.
- XPath Isolation
- Remove redundant assignment of pod_post_ids
- Remove address var assigned multiple times without intermediate usage
set_mandatory_language
can maintain multiple character sets- Feature finetuning comments for pods
- Interact_by_comments aborts when self.abort is true
- Media type filter (Photo, Video) in get_links
- 'Failed to get comments' issue
- Threaded session ending with exception
ValueError: signal only works in main thread
like_image
in dev has this arg- Verifying mandatory words when the script can not get post description
- Codacy checks for unused var, out of scope, and missing args
- Commenting issue #4409
- Fail of whole pod run on exception
- Support for split database with -sdb flag to avoid SQLite lock up
- "Failed to find login button" when trying to login (add KEYS.ENTER to submit login data)
- Improved info provided by log messages in instapy.py and like_util.py
- Possibility to skip non bussiness accounts
- Remove docker from core, moved into instapy-docker repo
- Remove quickstart templates and only reference instapy-quickstart
- Restructure README and add new DOCUMENTATION file
- "UnboundLocalError: local variable 'tag' referenced before assignment" when there is no smart-hastag genereated
- xPath to dialog_address
- (re) add page_reload, after cookie load, on login_user()
- "Failed to load desired amount of users" when trying to read long follower lists
- Add additional exception catch to Login check
- Set language on the browser (no clicks required)
- Get_active_users hotfix
- Hot fix problems with browser abstraction class
- Removed retry decorator
- Allowing
follow_by_tags
to interact with the user - Context manager to interaction calls in
like_by_tags
andfollow_likers
- Engagement pods feature 🙌
- Smart Hashtags based on locations
set_smart_location_hashtags
- Verify action for unfollow and follow actions
- Browser abstraction and Decorator that handles Selenium Browser exceptions by reloading
- Add delay unfollow of follow backers
- Expose
threaded_session
of Instapy.end()
follow_likers
always fetches zero likers- Prevent division by zero in
validate_username
- Made Log in text checking more resilient
- Chromedriver requirement now >= 2.44 instead of == 2.44
- xPath for Log In button
- Accept pending follow requests for private account
- Feature to
follow_by_locations
- Proxy Authentication support for Firefox
- Only import instapy-chromedriver package when needed
- Avoid user errors providing user names with caps
- Fix get_active_users wrong behavior on videos
- Bug in CLI argparsing -
proxy_port
&page_delay
are integers and not strings. - Selectors for finding comments and liking comments on posts
- Temporarily turn off follow for
like_by_tags
interaction
- Enable users interact by the comments of their own profiles.
- Moved elements from docs folder to instapy-docs and instapy-research repositories
- Fix "Failed to load desired amount of users!" issue.
- Add Progress Tracker to
get_users_through_dialog()
function. - Add Proxy Authentication for Firefox
- Fix for scrollIntoView error.
- Workspace folders; Now user's data files will be stored at the workspace folder.
- InstaPy has been published to PyPI; Now, can install/manage it by pip as instapy package.
- Github releases has been initiated; Will be released in-parallel with PyPI deployments.
- Add Universal Testing Framework- tox with pytest & flake8.
- Upgrade Travis CI usage (tox as build script).
- Send messages to Discord #status channel about jobs' build states from Travis CI.
- Add instapy-chromedriver package if no chromedriver is in path.
- Add argparsing feature. Users are now able to provide credentials (and more) through CLI args.
- Turn off verification based on relationship bounds by default, completely (see #757815f commit).
- Simplify the default quickstart script much more.
- Add track post/profile
- Avoid prints for only one user
- No posts exception when scraping likes
- Now
set_dont_unfollow_active_users()
feature also has a Progress Tracker support.
- Fix
set_dont_unfollow_active_users()
feature completely.
- Optimizing Dockerfile for smaller docker image.
- Fix "Unable to locate element: ...xpath","selector":"//div[text()='Likes'..." error.
- Fix "Failed to load desired amount of users!" issue.
- Handle A/B-Test for comments (graphql edge).
- Adjust docker-compose.yml according to new Dockerfile.
- Correctly mount Docker volume, make it work properly with chromedriver installed in assets folder.
- Feature to remove outgoing unapproved follow requests from private accounts.
- Resolve security warning with new pyyaml version, updated pyyaml to version 4.2b1.
- Fix for non-authenticated proxies in chrome headless browser.
- User without timestamp will use the timestamp of previous user.
- PEP8 layout changes.
- A new setting -
set_do_reply_to_comments()
to control replying to comments. - A new feature -
run_time()
to get information of how many seconds the session is running; Added to "Sessional Live Report" and can also be manually requested likesession.run_time()
from quickstart scripts, any time.
- A few visual changes to source code for PEP8 compliance.
- Rename
set_reply_comments()
toset_comment_replies()
out of revised design.
- Fix bug off #3318 which hit python 2 saying, "TypeError: can't multiply sequence by non-int of type 'float'" (raised & solved at #3451).
- Fix error occured while liking a comment (raised at #3594).
- Fix Follow-Likers feature which couldn't fetch likers properly (raised at #3573).
- Save account progress information into database adding the possibility for external tools to collect and organize the account progress.
- Fix
person_id
missing in post_unfollow_cleanup() [line 1152].
- Remove https://i.instagram.com/api/v1/users/{}/info/ as it not working and killing the unfollow with error.
- Fix logging uncertain having no userid nor time log, will be important for sync feature.
- Fix get active users when Video have no likes button / no posts in page.
- Full docker-compose and complex template + documentation.
- Fixes likers_from_photo when liked counter is "liked by X and N others".
- Fix for python 2.7 users, ceil returns a float in python 2.
- Added mandatory_language (updated check_link definition in like_util).
- Add self.aborts for the follow followers and follow following because otherwise InstaPy won't exit properly on them.
- A new feature - Interact By Comments to auto-like comments, auto-reply to them, etc. (see README).
- New text analytics - MeaningCloud Sentiment Analysis API & Yandex Translate API (Language Detection & Translation) integrated into InstaPy for doing sophisticated text analysis (see README).
- Speed up logging in at least 25 (default
page_delay
) seconds (see #ee6acba commit). - Upgrades to
live_report()
feature ("Sessional Live Report" uses it..). Now it is more smarter. - Lots of visual changes to source code for PEP8 compliance.
- Modify
check_authorization()
to dismiss redundant navigations to profile pages. The gain is a few seconds (~2-3) saved which is so good.
- Fix a little misbehaviour in
set_relationship_bounds()
with min_posts & max_posts. Nowenabled
parameter controls the whole setting. - Update
grpcio
package's version in requirements.txt to1.16.1
. Its1.16.0
had a bug duplicating logger messages.
- Switch
mandatory_words
from ALL to ANY.
- Added location to image_text in the
check_link()
method of like_util.py, so the script also searches for the mandatory words in location information.
- "Cookie file not found, creating cookie..." bug fixed.
- Maintain names: 'person' for target user and 'username' for our running user.
- Verify private users in get_links_for_username.
- Changed behaviour of validate_username to check if a user is included in the blacklist. If yes will skip it and log why.
- Interact with tagged images of users, and validation of a user to be optional.
- Use Clarifai to check video content. By default deactivated and should only be used if necessary.
- This CHANGELOG file to hopefully serve as a useful resource for InstaPy fellas to stay up-to-date with the changes happened so far.
- Custom action delays capability (see README).
- Now follow engine has the same compact action verification procedure used in the unfollow engine.
- Lots of stability in action verification steps which are held at newly added
verify_action
function. - New quickstart templates from 11 different people shared at #3033.
- Now "already followed" state is being tracked by the following status result rather than catching a
NoSuchElementException
.
- Stale element reference error raised at #3173 (occured after #3159).
- Invalid like element issue (occured after IG introduced comment liking to its web interface).
- Working version with basic features.
- Use Clarifai to check the images for inappropriate content.
Please, don't dump raw git logs into this file - which is intended for users rather than developers.