<commit_before>Bug tracker at https://github.com/giampaolo/psutil/issues

4.0.0 - XXXX-XX-XX
==================

**Enhancements**

- #660: [Windows] make.bat is smarter in finding alternative VS install
  locations.  (patch by mpderbec)
- #732: Process.environ().  (patch by <NAME>)
- #753: [Linux, OSX, Windows] Process USS and PSS (Linux) "real" memory stats.
  (patch by <NAME>)
- #755: Process.memory_percent() "memtype" parameter.
- #758: tests now live in psutil namespace.
- #760: expose OS constants (LINUX, OSX, etc.)
- #762: new sripts/procsmem.py script.

**Bug fixes**

- #704: [Solaris] psutil does not compile on Solaris sparc.
- #734: on Python 3 invalid UTF-8 data is not correctly handled for process
  name(), cwd(), exe(), cmdline() and open_files() methods resulting in
  UnicodeDecodeError exceptions. 'surrogateescape' error handler is now
  used as a workaround for replacing the corrupted data.
- #737: [Windows] when the bitness of psutil and the target process was
  different cmdline() and cwd() could return a wrong result or incorrectly
  report an AccessDenied error.
- #741: [OpenBSD] psutil does not compile on mips64.
- #751: [Linux] fixed call to Py_DECREF on possible Null object.
- #754: [Linux] cmdline() can be wrong in case of zombie process.
- #759: [Linux] Process.memory_maps() may return paths ending with " (deleted)"
- #761: [Windows] psutil.boot_time() wraps to 0 after 49 days.


3.4.2 - 2016-01-20
==================

**Enhancements**

- #728: [Solaris] exposed psutil.PROCFS_PATH constant to change the default
  location of /proc filesystem.

**Bug fixes**

- #724: [FreeBSD] psutil.virtual_memory().total is incorrect.
- #730: [FreeBSD] psutil.virtual_memory() crashes.


3.4.1 - 2016-01-15
==================

**Enhancements**

- #557: [NetBSD] added NetBSD support.  (contributed by <NAME> and
  <NAME>)
- #708: [Linux] psutil.net_connections() and Process.connections() on Python 2
  can be up to 3x faster in case of many connections.
  Also psutil.Process.memory_maps() is slightly faster.
- #718: process_iter() is now thread safe.

**Bug fixes**
<commit_msg>Add HISTORY entry for NetBSD-6.x fixes.<commit_after>Bug tracker at https://github.com/giampaolo/psutil/issues

4.0.0 - XXXX-XX-XX
==================

**Enhancements**

- #660: [Windows] make.bat is smarter in finding alternative VS install
  locations.  (patch by mpderbec)
- #732: Process.environ().  (patch by <NAME>)
- #753: [Linux, OSX, Windows] Process USS and PSS (Linux) "real" memory stats.
  (patch by <NAME>)
- #755: Process.memory_percent() "memtype" parameter.
- #758: tests now live in psutil namespace.
- #760: expose OS constants (LINUX, OSX, etc.)
- #762: new sripts/procsmem.py script.

**Bug fixes**

- #704: [Solaris] psutil does not compile on Solaris sparc.
- #734: on Python 3 invalid UTF-8 data is not correctly handled for process
  name(), cwd(), exe(), cmdline() and open_files() methods resulting in
  UnicodeDecodeError exceptions. 'surrogateescape' error handler is now
  used as a workaround for replacing the corrupted data.
- #737: [Windows] when the bitness of psutil and the target process was
  different cmdline() and cwd() could return a wrong result or incorrectly
  report an AccessDenied error.
- #741: [OpenBSD] psutil does not compile on mips64.
- #751: [Linux] fixed call to Py_DECREF on possible Null object.
- #754: [Linux] cmdline() can be wrong in case of zombie process.
- #759: [Linux] Process.memory_maps() may return paths ending with " (deleted)"
- #761: [Windows] psutil.boot_time() wraps to 0 after 49 days.
- #764: [NetBSD] fix compilation on NetBSD-6.x.


3.4.2 - 2016-01-20
==================

**Enhancements**

- #728: [Solaris] exposed psutil.PROCFS_PATH constant to change the default
  location of /proc filesystem.

**Bug fixes**

- #724: [FreeBSD] psutil.virtual_memory().total is incorrect.
- #730: [FreeBSD] psutil.virtual_memory() crashes.


3.4.1 - 2016-01-15
==================

**Enhancements**

- #557: [NetBSD] added NetBSD support.  (contributed by <NAME> and
  <NAME>)
- #708: [Linux] psutil.net_connections() and Process.connections() on Python 2
  can be up to 3x faster in case of many connections.
  Also psutil.Process.memory_maps() is slightly faster.
- #718: process_iter() is now thread safe.

**Bug fixes**

{'fraction_non_alphanumeric': 0.14468183929400835, 'fraction_numerical': 0.046214584300975386, 'mean_word_length': 4.151913875598086, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3540699', 'n_tokens_mistral': 1574, 'n_tokens_neox': 1382, 'n_words': 527}