* optimize(meta): meta is now cached in redis
* fix(meta): test fixes
* fix(meta): codacy
* fix(meta): allow nulls to be serialized
* fix(form_meta): fix form meta caches
* fix(form_meta): fix form meta caches
* fix(form_meta): don't cache for developer_mode'
* add new docfield fetch_from - serves as add_fetch
* replace options.split with fetch_from.split
* copied data from options to fetch_from
* patch to update fetch_from for docfield, custom_field and property_setter
* update tests according to fetch_from change
* [start] removing simpler user permission structure
* permission changes
removed "apply user permission" from has_permission
* test fixes and other supporting fixes
* Removed Apply user permission code
* additional check to see if user has some user permissions related to a doctype
* test fixes
* removed a test
* Permission changes
- Code to restrict access if module is blocked for user.
- [Fix] ignore user perm if applicable
* List view restrictions ui changes
* removed unwanted apply user perm code
* permission (block module fix)
* permission fix
* change user permission
user permission will not be applied if user doesn't have role permission
* removed left "apply_user_permissions" property
* add user permission help template
* perm js refactor
* ui / ux changes
restrict list view before entering view if user is not permitterd
add description for if owner check in role permission manager
* codacy fixes
* permission code fix
add controller permission check
add blocked module check in build_permission
* optimized get blocked module method
* Fixed dict_keys and lists
* [FIX] config.get keys must be list
* [FIX] pickle all objects
* [FIX] get versions in unicode
* [FIX] get log versions
* debugging
* Fixed commit ID reference
* Fixed branch reference
* Fixed doc keys to list
* [LOG] test log
* [LOG] test log
* Convert iterators to list
* removed logs
* [FIX] Trial to load templates
* Fixed codacy
* added PyMYSQL instead mysqlclient-python
* added pymysql import
* fixed db module import
* foxed self._conn wrapper
* updated cursor migration
* removed existent converters
* some more fixes towards API port
* modified travis
* updated doctype and revereted yml
* modified travis
* refreshed logging
* raw fix
* moved from hard coded constants to declarable instances
* moved from hard coded constants to declarable instances
* refactoring and logging
* moved to global import declaration
* fixed codacy
* unfixed codacy
* minor fix
* binary_type has a single
* deprecated alternative
* merged with latest
* fixed merge conflicts
* using deprecated alternative
* raw fix
* stupid fix
* using StringTypes instead
* brutal hack
* log
* tundebazy to the rescue
* fixed content_hash error
* frappe/database.py
* frappe/database.py
* updated database.py
* updated requirements
* updated requirements
* fixed codacy
* fixed codacy
* moved from DatabaseOperationalError to pymysql.InternalError
* moved from DatabaseOperationalError to pymysql.InternalError
* fixed codacy
* empty commit
* fixed codacy
* fixed codacy
* migration tool
* custom field for primary key added
* foreign key and multiple linking F_key issue resolved
* refined code
* many-to-one mapping temp fix
* added support for pre-process + cleaned up code
* [various] fixes to setup wizard for developer mode, frappe.enqueue_doc, share with assign
* Refactor data migration module
* added migration for hub
* Add "Skip errors" in data import tool
* move db_set to document.py
* Add Data Migration Run
* Dynamic Migration ID
* move run() from Mapping to Run
* Push Deleted Documents
* fixes
* [migration] doc operation counts
* insert and update instead of push in connection
* fix count and total_pages, skip sync if total_pages is 0
* [migration] child tables
* fix complete()
* [page] remove required libs
* Add sidebar.js, rename old sidebar.js to form_sidebar.js
* [minor] get_empty_state fixes
* svg in icon
* remove image check
* fix codacy
* fix is_child_table check
* [connector] add get_list()
* Add test for Data Migration Run
* fix test
* truncate tabNote
* fix test
* sync todo with event to fix test
* fix db count
* [mapping] export Mapping to json
* Add docs for Data Migration Tool
* [migration] pull data as list, test case
* [hub] remove mapping export to files
* Pull refactor
* [test]
* Add comments
* [mapping] exec in mapping formula
* fix codacy
* fix codacy
* Remove exec for pre-process and post-process
* Add pre and post process for Push
* Remove formula
* fixes
* [refactor] add failed_log to pull, handle error in pull
* [test] Push, pull, update
* Fix codacy, fix insert_doc for pull
* Set migration id on successful insert
* fix update_doc
* fix update_doc
* method is a function
* child table mapping
* Refactor logging
* fix update_doc again
* fix hostname, password
* update docs, minors
* Remove assign_if_none
* Remove error handling from connection methods
* [refactor] Data migration run
* Break push stages into methods
* Migration run refactor
- fix test
- add separate fields for logging
* fix codacy
* fix hostname password
* fix test
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* dict.iteritems to six.iteritems(dict) for python3 compatibility
* Communication_reconciliation
* Email inbox
* added collapsed timeline for communication
* new email prefill from when only one address
* timeline duplication and notifcation and stability fixs
* add subject to timeline
* email system v7 fixes
* added password required validation
* use proper email datetime
* email inbox v7.1 fixes
* email inbox communication_date used instead of created
* email inbox communication data cleanup
* remove old patch
* email inbox permit unlinking
* [fix] duplication queue and rename domain to email domain
* fix rename domain
* email inbox index optimisation
* email inbox relink doctype query usability fix
* email_inbox Set attachment variable for forwards and replies based on whether it exists or not
* uidnext fixes and cleanup
* email inbox fix tests
* fix rebase timeline issue
* email inbox threading and cleanup
* email inbox cleanup
* bring inbox into frappe and cleanup
* fix missed path
* inbox cleanup
* email-inbox move service back to account
* separate to erpnext contact match
* email inbox cleanup and move relink and timeline fix
* relink optimisation
* inbox fix footer
* keep email drafts on pages not just forms
* email inbox add sent items
* email inbox allow not save list settings on query
* email inbox cleanup and remove communications recon
* add suspend sending button in email queue
* fix rebase error
* email inbox assorted fixes
* email inbox fixes and relink option only when linked otherwise link;
* email inbox fix sender fullname as administrator
* create user email to custom button
* email inbox sent no match and seen
* email inbox fix unicode issues with subject recipient and sender
* [docs] typo
* [email alert] now on any standard controller method
* [minor] install customizations with intall;
* [test] [fix] and truncate subject in email;
* [fix] error log seen issue