
History
-------


10.9.0 (2019-05-07)
+++++++++++++++++++

- New argument --show-time-today for printing Today's coding time.


10.8.4 (2019-04-30)
+++++++++++++++++++

- Use wakatime fork of certifi package.
  `sublime-wakatime#95 <https://github.com/wakatime/sublime-wakatime/issues/95>`_


10.8.3 (2019-04-30)
+++++++++++++++++++

- Upgrade certifi to version 2019.03.09.


10.8.2 (2019-03-27)
+++++++++++++++++++

- Detect go.mod files as Go language.
  `jetbrains-wakatime#119 <https://github.com/wakatime/jetbrains-wakatime/issues/119>`_


10.8.1 (2019-03-11)
+++++++++++++++++++

- Detect C++ language from all C++ file extensions.
  `vscode-wakatime#87 <https://github.com/wakatime/vscode-wakatime/issues/87>`_


10.8.0 (2019-01-17)
+++++++++++++++++++

- Add ssl_certs_file arg and config for custom ca bundles.
  `#164 <https://github.com/wakatime/wakatime/issues/164>`_


10.7.1 (2019-01-05)
+++++++++++++++++++

- Fix bug causing random project names when hide project names enabled.
  `vscode-wakatime#162 <https://github.com/wakatime/vscode-wakatime/issues/61>`_


10.7.0 (2018-12-28)
+++++++++++++++++++

- Add support for UNC network shares without drive letter mapped on Winows.
  `#162 <https://github.com/wakatime/wakatime/issues/162>`_


10.6.1 (2018-12-19)
+++++++++++++++++++

- Correctly parse include_only_with_project_file when set to false.
  `#161 <https://github.com/wakatime/wakatime/issues/161>`_


10.6.0 (2018-11-05)
+++++++++++++++++++

- Support language argument for non-file entity types.
- Send 25 heartbeats per API request.


10.5.0 (2018-11-03)
+++++++++++++++++++

- New category "Writing Tests".
  `#156 <https://github.com/wakatime/wakatime/issues/156>`_


10.4.2 (2018-10-23)
+++++++++++++++++++

- Fix bug caused by git config section without any submodule option defined.
  `#152 <https://github.com/wakatime/wakatime/issues/152>`_


10.4.1 (2018-10-05)
+++++++++++++++++++

- Send 50 offline heartbeats to API per request with 1 second delay in between.


10.4.0 (2018-10-03)
+++++++++++++++++++

- Support logging coding activity to remote network drive files on Windows
  platform by detecting UNC path from drive letter.
  `#72 <https://github.com/wakatime/wakatime/issues/72>`_


10.3.0 (2018-09-30)
+++++++++++++++++++

- Re-enable detecting projects from Subversion folder on Windows platform.
- Prevent opening cmd window on Windows when detecting project from Subversion.
- Run tests on Windows using Appveyor.


10.2.4 (2018-09-20)
+++++++++++++++++++

- Default --sync-offline-activity to 100 instead of 5, so offline coding is
  synced to dashboard faster.


10.2.3 (2018-09-20)
+++++++++++++++++++

- Batch heartbeats in groups of 10 per api request.


10.2.2 (2018-09-20)
+++++++++++++++++++

- New config hide_project_name and argument --hide-project-names for
  obfuscating project names when sending coding activity to api.
- Fix mispelled Gosu language.
  `#137 <https://github.com/wakatime/wakatime/issues/137>`_
- Remove metadata when hiding project or file names.
- New --local-file argument to be used when --entity is a remote file.
- New argument --sync-offline-activity for configuring the maximum offline
  heartbeats to sync to the WakaTime API.


10.2.1 (2018-04-26)
+++++++++++++++++++

- Support for project detection from git worktree folders.


10.2.0 (2018-04-15)
+++++++++++++++++++

- Force forward slash for file paths.
- New --category argument.
- New --exclude-unknown-project argument and corresponding config setting.


10.1.3 (2018-03-14)
+++++++++++++++++++

- Smarter C vs C++ vs Objective-C language detection.


10.1.2 (2018-03-14)
+++++++++++++++++++

- Detect dependencies from Elm, Haskell, Haxe, Kotlin, Rust, and Scala files.
- Improved Matlab vs Objective-C language detection.
  `#129 <https://github.com/wakatime/wakatime/issues/129>`_


10.1.1 (2018-03-11)
+++++++++++++++++++

- Detect dependencies from Swift, Objective-C, TypeScript and JavaScript files.
- Categorize .mjs files as JavaScript.
  `#121 <https://github.com/wakatime/wakatime/issues/121>`_


10.1.0 (2018-01-04)
+++++++++++++++++++

- Ability to only track folders containing a .wakatime-project file using new
  include_only_with_project_file argument and config option.


10.0.5 (2017-11-24)
+++++++++++++++++++

- Fix bug that caused heartbeats to be cached locally instead of sent to API.


10.0.4 (2017-11-23)
+++++++++++++++++++

- Improve Java dependency detection.
- Skip null or missing heartbeats from extra heartbeats argument.


10.0.3 (2017-11-22)
+++++++++++++++++++

- Support saving unicode heartbeats when working offline.
  `#112 <https://github.com/wakatime/wakatime/issues/112>`_


10.0.2 (2017-11-15)
+++++++++++++++++++

- Limit bulk syncing to 5 heartbeats per request.
  `#109 <https://github.com/wakatime/wakatime/issues/109>`_


10.0.1 (2017-11-09)
+++++++++++++++++++

- Parse array of results from bulk heartbeats endpoint, only saving heartbeats
  to local offline cache when they were not accepted by the api.


10.0.0 (2017-11-08)
+++++++++++++++++++

- Upload multiple heartbeats to bulk endpoint for improved network performance.
  `#107 <https://github.com/wakatime/wakatime/issues/107>`_


9.0.1 (2017-11-07)
++++++++++++++++++

- Fix bug causing 401 response when hidefilenames is enabled.
  `#106 <https://github.com/wakatime/wakatime/issues/106>`_


9.0.0 (2017-11-04)
++++++++++++++++++

- Detect project and branch names from git submodules.
  `#105 <https://github.com/wakatime/wakatime/issues/105>`_


8.0.5 (2017-10-29)
++++++++++++++++++

- Use WAKATIME_HOME env variable for offline and session caching.
  `#102 <https://github.com/wakatime/wakatime/issues/102>`_


8.0.4 (2017-10-23)
++++++++++++++++++

- Allow passing string arguments wrapped in extra quotes for plugins which
  cannot properly escape spaces in arguments.
- Upgrade pytz to v2017.2.
- Upgrade requests to v2.18.4.
- Upgrade tzlocal to v1.4.


8.0.3 (2017-06-08)
++++++++++++++++++

- Improve Matlab language detection.


8.0.2 (2017-05-24)
++++++++++++++++++

- Only treat proxy string as NTLM proxy after unable to connect with HTTPS and
  SOCKS proxy.
- Support running automated tests on Linux, OS X, and Windows.


8.0.1 (2017-05-05)
++++++++++++++++++

- Ability to disable SSL cert verification.
  `#90 <https://github.com/wakatime/wakatime/issues/90>`_
- Disable line count stats for files larger than 2MB to improve performance.
- Print error saying Python needs upgrading when requests can't be imported.


8.0.0 (2017-03-16)
++++++++++++++++++

- Config file not needed when passing api key via command line.
- Allow colons in [projectmap] config section.
  `#83 <https://github.com/wakatime/wakatime/issues/83>`_
- When unable to detect language and debug mode turned on, log any tracebacks.
- Increase priority of F# and TypeScript languages.


7.0.4 (2017-03-01)
++++++++++++++++++

- Add six library to satisfy missing dependency from ntlm-auth.


7.0.3 (2017-02-26)
++++++++++++++++++

- Ability to prioritize common languages over uncommon lanuages.
  `#81 <https://github.com/wakatime/wakatime/issues/81>`_


7.0.2 (2017-02-20)
++++++++++++++++++

- Rename alternate_language to language in extra heartbeats json.


7.0.1 (2017-02-20)
++++++++++++++++++

- Rename --alternate-language cli argument to --language.


7.0.0 (2017-02-20)
++++++++++++++++++

- Existing --alternate-language cli argument now overwrites auto-detected
  language. Previously, was only used when unable to auto-detect language.
- Give TypeScript higher priority than TypoScript.


6.3.0 (2017-02-16)
++++++++++++++++++

- Support for Python 3.6.


6.2.3 (2017-02-15)
++++++++++++++++++

- Support NTLM proxy format like domain\\user:pass.
  `#23 <https://github.com/wakatime/wakatime/issues/23>`_
- Upgrade pytz to v2016.10.
- Upgrade requests to v2.13.0.
- Upgrade pysocks to v1.6.6.


6.2.2 (2017-02-13)
++++++++++++++++++

- Upgrade pygments library to v2.2.0 for improved language detection.


6.2.1 (2017-02-08)
++++++++++++++++++

- Allow boolean or list of regex patterns for hidefilenames config setting.


6.2.0 (2016-10-24)
++++++++++++++++++

- New WAKATIME_HOME env variable for setting path to config and log files.
  `#67 <https://github.com/wakatime/wakatime/issues/67>`_
- Improve debug warning message from unsupported dependency parsers.
  `#65 <https://github.com/wakatime/wakatime/issues/65>`_


6.1.0 (2016-10-11)
++++++++++++++++++

- Exit with status code 104 when api key is missing or invalid. Exit with
  status code 103 when config file missing or invalid.


6.0.9 (2016-09-13)
++++++++++++++++++

- Force file path to use system path separator.
- Handle exception from Python system library read permission problem.


6.0.8 (2016-09-02)
++++++++++++++++++

- Prevent encoding errors when logging files with special characters.
- Upgrade pytz to v2016.6.1.
- Upgrade requests to v2.11.1.
- Upgrade simplejson to v3.8.2.
- Upgrade tzlocal to v1.2.2.


6.0.7 (2016-07-06)
++++++++++++++++++

- Handle unknown exceptions from requests library by deleting cached session
  object because it could be from a previous conflicting version.
- New hostname setting in config file to set machine hostname. Hostname
  argument takes priority over hostname from config file.
- Prevent logging unrelated exception when logging tracebacks.


6.0.6 (2016-06-17)
++++++++++++++++++

- Use correct namespace for pygments.lexers.ClassNotFound exception so it is
  caught when dependency detection not available for a language.


6.0.5 (2016-06-13)
++++++++++++++++++

- Upgrade pygments to v2.1.3 for better language coverage.


6.0.4 (2016-06-08)
++++++++++++++++++

- Upgrade urllib3 to master version to fix bug causing unhandled retry
  exceptions.
- Prevent tracking git branch with detached head.


6.0.3 (2016-05-21)
++++++++++++++++++

- Upgrade requests dependency to v2.10.0.
- Support for SOCKS proxies.


6.0.2 (2016-05-16)
++++++++++++++++++

- Prevent popup on Mac when xcode-tools is not installed.


6.0.1 (2016-04-28)
++++++++++++++++++

- Fix bug which prevented plugin from being sent with extra heartbeats.


6.0.0 (2016-04-28)
++++++++++++++++++

- Increase default network timeout to 60 seconds when sending heartbeats to
  the api.
- New --extra-heartbeats command line argument for sending a JSON array of
  extra queued heartbeats to STDIN.
- Change --entitytype command line argument to --entity-type.
- No longer allowing --entity-type of url.


5.0.1 (2016-04-19)
++++++++++++++++++

- Support passing an alternate language to cli to be used when a language can
  not be guessed from the code file.


5.0.0 (2016-04-18)
++++++++++++++++++

- Support regex patterns in projectmap config section for renaming projects.
- Upgrade pytz to v2016.3.
- Upgrade tzlocal to v1.2.2.


4.1.13 (2016-03-06)
++++++++++++++++++

- Encode TimeZone as utf-8 before adding to headers.


4.1.12 (2016-03-06)
++++++++++++++++++

- Encode hostname as utf-8 basestring before adding to X-Machine-Name header.


4.1.11 (2016-03-06)
++++++++++++++++++

- Encode machine hostname as Unicode when adding to X-Machine-Name header.


4.1.10 (2016-01-11)
++++++++++++++++++

- Accept 201 or 202 response codes as success from api.
- Upgrade requests package to v2.9.1.


4.1.9 (2016-01-06)
++++++++++++++++++

- 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.


4.1.8 (2015-09-29)
++++++++++++++++++

- Fix bug in guess_language function.
- Improve dependency detection.


4.1.7 (2015-09-16)
++++++++++++++++++

- Default request timeout of 30 seconds.
- New --timeout command line argument to change request timeout in seconds.


4.1.6 (2015-09-06)
++++++++++++++++++

- Allow passing command line arguments using sys.argv.


4.1.5 (2015-09-06)
++++++++++++++++++

- Fix entry point for pypi distribution.


4.1.4 (2015-08-29)
++++++++++++++++++

- New --entity and --entitytype command line arguments.


4.1.3 (2015-08-28)
++++++++++++++++++

- Fix local session caching.


4.1.2 (2015-08-25)
++++++++++++++++++

- Fix bug in offline caching which prevented heartbeats from being cleaned up.


4.1.1 (2015-08-25)
++++++++++++++++++

- 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.


4.1.0 (2015-06-29)
++++++++++++++++++

- Correct priority for project detection.


4.0.16 (2015-06-23)
++++++++++++++++++

- Fix offline logging.
- Limit language detection to known file extensions, unless file contents has
  a vim modeline.


4.0.15 (2015-06-11)
++++++++++++++++++

- Guess language using multiple methods, then use most accurate guess.
- Use entity and type for new heartbeats api resource schema.


4.0.14 (2015-05-31)
++++++++++++++++++

- Correctly log message from py.warnings module.


4.0.13 (2015-05-16)
++++++++++++++++++

- Fix bug with auto detecting project name.


4.0.12 (2015-05-15)
++++++++++++++++++

- 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.


4.0.11 (2015-05-12)
++++++++++++++++++

- Reuse SSL connection across multiple processes for improved performance.


4.0.10 (2015-05-06)
++++++++++++++++++

- New --cursorpos argument for passing index of cursor within the file
  contents.


4.0.9 (2015-05-06)
++++++++++++++++++

- 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.


4.0.8 (2015-04-04)
++++++++++++++++++

- Added api_url config option and --apiurl cli argument for customizing api
  url.


4.0.7 (2015-04-02)
++++++++++++++++++

- Capture warnings in log file.


4.0.6 (2015-03-31)
++++++++++++++++++

- Add requests.packages directory to sys.path.


4.0.5 (2015-03-31)
++++++++++++++++++

- Update requests package to v2.0.6.
- Update simplejson to v3.6.5.


4.0.4 (2015-03-09)
++++++++++++++++++

- Add back --ignore argument for backwards compatibility.


4.0.3 (2015-03-09)
++++++++++++++++++

- Refactor module structure.


4.0.2 (2015-03-07)
++++++++++++++++++

- Include cacert.pem file in pypi distribution for SSL with requests package.


4.0.1 (2015-03-03)
++++++++++++++++++

- Upgrade requests library to v2.5.3 to fix SSL problem on CentOS.
- New options for excluding and including directories.


4.0.0 (2015-02-12)
++++++++++++++++++

- 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.


3.0.5 (2015-01-13)
++++++++++++++++++

- Ignore errors from malformed markup (too many closing tags).


3.0.4 (2015-01-06)
++++++++++++++++++

- Remove unused dependency, which is missing in some python environments.


3.0.3 (2014-12-25)
++++++++++++++++++

- Detect JavaScript frameworks from script tags in Html template files.


3.0.2 (2014-12-25)
++++++++++++++++++

- Detect frameworks from JavaScript and JSON files.


3.0.1 (2014-12-23)
++++++++++++++++++

- Handle unknown language when parsing dependencies.


3.0.0 (2014-12-23)
++++++++++++++++++

- Detect libraries and frameworks for C++, Java, .NET, PHP, and Python files.


2.1.11 (2014-12-22)
+++++++++++++++++++

- Fix offline logging when response from api is None.


2.1.10 (2014-12-15)
+++++++++++++++++++

- Prevent queuing offline heartbeats which will never be valid (400 errors).


2.1.9 (2014-12-05)
++++++++++++++++++

- Fix bug preventing offline heartbeats from being purged after uploaded.


2.1.8 (2014-12-04)
++++++++++++++++++

- Fix UnicodeDecodeError when building user agent string.
- Handle case where response is None.


2.1.7 (2014-11-30)
++++++++++++++++++

- Upgrade pygments to v2.0.1.
- Always log an error when api key is incorrect.


2.1.6 (2014-11-18)
++++++++++++++++++

- Fix list index error when detecting subversion project.


2.1.5 (2014-11-17)
++++++++++++++++++

- Catch exceptions when getting current machine time zone.


2.1.4 (2014-11-12)
++++++++++++++++++

- When Python was not compiled with https support, log an error to the log
  file.


2.1.3 (2014-11-10)
++++++++++++++++++

- Correctly detect branch name for subversion projects.


2.1.2 (2014-10-07)
++++++++++++++++++

- Still log heartbeat when something goes wrong while reading num lines in
  file.


2.1.1 (2014-09-30)
++++++++++++++++++

- Fix bug where binary file opened as utf-8.


2.1.0 (2014-09-30)
++++++++++++++++++

- Python3 compatibility changes.


2.0.8 (2014-08-29)
++++++++++++++++++

- Supress output from svn command.


2.0.7 (2014-08-27)
++++++++++++++++++

- Find svn binary location from common install directories.


2.0.6 (2014-08-07)
++++++++++++++++++

- Encode json data as str when passing to urllib.


2.0.5 (2014-07-25)
++++++++++++++++++

- Option in .wakatime.cfg to obfuscate file names.


2.0.4 (2014-07-25)
++++++++++++++++++

- Use unique logger namespace to prevent collisions in shared plugin
  environments.


2.0.3 (2014-06-18)
++++++++++++++++++

- Use project from command line arg when no revision control project is found.


2.0.2 (2014-06-09)
++++++++++++++++++

- Include python3.2 compatible versions of simplejson, pytz, and tzlocal.
- Disable offline logging when Python was not compiled with sqlite3 module.


2.0.1 (2014-05-26)
++++++++++++++++++

- Fix bug in queue preventing actions with NULL values from being purged.


2.0.0 (2014-05-25)
++++++++++++++++++

- Offline time logging using sqlite3 to queue editor events.


1.0.2 (2014-05-06)
++++++++++++++++++

- Ability to set project from command line argument.


1.0.1 (2014-03-05)
++++++++++++++++++

- Use new domain name wakatime.com.


1.0.0 (2014-02-05)
++++++++++++++++++

- Detect project name and branch name from mercurial revision control.


0.5.3 (2014-01-15)
++++++++++++++++++

- Bug fix for unicode in Python3.


0.5.2 (2014-01-14)
++++++++++++++++++

- Minor bug fix for Subversion on non-English systems.


0.5.1 (2013-12-13)
++++++++++++++++++

- Second line in .wakatime-project file now sets branch name.


0.5.0 (2013-12-13)
++++++++++++++++++

- Convert ~/.wakatime.conf to ~/.wakatime.cfg and use configparser format.
- new [projectmap] section in cfg file for naming projects based on folders.


0.4.10 (2013-11-13)
+++++++++++++++++++

- Placing .wakatime-project file in a folder will read the project's name from
  that file.


0.4.9 (2013-10-27)
++++++++++++++++++

- New config for ignoring files from regular expressions.
- Parse more options from config file (verbose, logfile, ignore).


0.4.8 (2013-10-13)
++++++++++++++++++

- Read git HEAD file to find current branch instead of running git command
  line.


0.4.7 (2013-09-30)
++++++++++++++++++

- Sending local olson timezone string in api request.


0.4.6 (2013-09-22)
++++++++++++++++++

- Sending total lines in file and language name to api.


0.4.5 (2013-09-07)
++++++++++++++++++

- Fixed relative import error by adding packages directory to sys path.


0.4.4 (2013-09-06)
++++++++++++++++++

- Using urllib2 again because of intermittent problems sending json with
  requests library.


0.4.3 (2013-09-04)
++++++++++++++++++

- Encoding json as utf-8 before making request.


0.4.2 (2013-09-04)
++++++++++++++++++

- Using requests package v1.2.3 from pypi.


0.4.1 (2013-08-25)
++++++++++++++++++

- Fix bug causing requests library to omit POST content.


0.4.0 (2013-08-15)
++++++++++++++++++

- Sending single branch instead of multiple tags.


0.3.1 (2013-08-08)
++++++++++++++++++

- Using requests module instead of urllib2 to verify SSL certs.


0.3.0 (2013-08-08)
++++++++++++++++++

- Allow importing directly from Python plugins.


0.1.1 (2013-07-07)
++++++++++++++++++

- Refactored.
- Simplified action events schema.


0.0.1 (2013-07-05)
++++++++++++++++++

- Birth.
