- accept 201 or 202 response codes as success from api
- upgrade requests package to v2.9.1
- improve C# dependency detection
- correctly log exception tracebacks
- log all unknown exceptions to wakatime.log file
- disable urllib3 SSL warning from every request
- detect dependencies from golang files
- use api.wakatime.com for sending heartbeats
- fix bug in guess_language function
- improve dependency detection
- default request timeout of 30 seconds
- new --timeout command line argument to change request timeout in seconds
- allow passing command line arguments using sys.argv
- fix entry point for pypi distribution
- new --entity and --entitytype command line arguments
- fix local session caching
- fix bug in offline caching which prevented heartbeats from being cleaned up
- send hostname in X-Machine-Name header
- catch exceptions from pygments.modeline.get_filetype_from_buffer
- upgrade requests package to v2.7.0
- handle non-ASCII characters in import path on Windows, won't fix for Python2
- upgrade argparse to v1.3.0
- move language translations to api server
- move extension rules to api server
- detect correct header file language based on presence of .cpp or .c files named the same as the .h file
- correct priority for project detection
- fix offline logging
- limit language detection to known file extensions, unless file contents has a vim modeline
- guess language using multiple methods, then use most accurate guess
- use entity and type for new heartbeats api resource schema
- correctly log message from py.warnings module
- fix bug with auto detecting project name
- correctly display caller and lineno in log file when debug is true
- project passed with --project argument will always be used
- new --alternate-project argument
- reuse SSL connection across multiple processes for improved performance
- new --cursorpos argument for passing index of cursor within the file contents
- new --lineno argument for passing line number of cursor at time of heartbeat
- format py.warnings log messages same as other log messages
- include package namespace and line number in logger output
- added api_url config option and --apiurl cli argument for customizing api url
- capture warnings in log file
- add requests.packages directory to sys.path
- update requests package to v2.0.6
- update simplejson to v3.6.5
- add back --ignore argument for backwards compatibility
- refactor module structure
- include cacert.pem file in pypi distribution for SSL with requests package
- upgrade requests library to v2.5.3 to fix SSL problem on CentOS
- new options for excluding and including directories
- use requests library instead of urllib2, so api SSL cert is verified
- new --notfile argument to support logging time without a real file
- new --proxy argument for https proxy support
- ignore errors from malformed markup (too many closing tags)
- remove unused dependency, which is missing in some python environments
- detect JavaScript frameworks from script tags in Html template files
- detect frameworks from JavaScript and JSON files
- handle unknown language when parsing dependencies
- detect libraries and frameworks for C++, Java, .NET, PHP, and Python files
- fix offline logging when response from api is None
- prevent queuing offline heartbeats which will never be valid (400 errors)
- fix bug preventing offline heartbeats from being purged after uploaded
- fix UnicodeDecodeError when building user agent string
- handle case where response is None
- upgrade pygments to v2.0.1
- always log an error when api key is incorrect
- fix list index error when detecting subversion project
- catch exceptions when getting current machine time zone
- when Python was not compiled with https support, log an error to the log file
- correctly detect branch name for subversion projects
- still log heartbeat when something goes wrong while reading num lines in file
- fix bug where binary file opened as utf-8
- python3 compatibility changes
- supress output from svn command
- find svn binary location from common install directories
- encode json data as str when passing to urllib
- option in .wakatime.cfg to obfuscate file names
- use unique logger namespace to prevent collisions in shared plugin environments
- use project from command line arg when no revision control project is found
- include python3.2 compatible versions of simplejson, pytz, and tzlocal
- disable offline logging when Python was not compiled with sqlite3 module
- fix bug in queue preventing actions with NULL values from being purged
- offline time logging using sqlite3 to queue editor events
- ability to set project from command line argument
- use new domain name wakatime.com
- detect project name and branch name from mercurial revision control
- bug fix for unicode in Python3
- minor bug fix for Subversion on non-English systems
- second line in .wakatime-project file now sets branch name
- Convert ~/.wakatime.conf to ~/.wakatime.cfg and use configparser format
- new [projectmap] section in cfg file for naming projects based on folders
- Placing .wakatime-project file in a folder will read the project's name from that file
- New config for ignoring files from regular expressions
- Parse more options from config file (verbose, logfile, ignore)
- Read git HEAD file to find current branch instead of running git command line
- Sending local olson timezone string in api request
- Sending total lines in file and language name to api
- Fixed relative import error by adding packages directory to sys path
- Using urllib2 again because of intermittent problems sending json with requests library
- Encoding json as utf-8 before making request
- Using requests package v1.2.3 from pypi
- Fix bug causing requests library to omit POST content
- Sending single branch instead of multiple tags
- Using requests module instead of urllib2 to verify SSL certs
- Allow importing directly from Python plugins
- Refactored
- Simplified action events schema
- Birth