<commit_before>=========
Changelog
=========

* :feature:`1326` Make `~fabric.contrib.project.rsync_project` aware of
  ``env.gateway``, using a ``ProxyCommand`` under the hood. Credit: David
  Rasch.
* :support:`1359` Add a more-visible top-level ``CHANGELOG.rst`` pointing users
  to the actual changelog stored within the Sphinx directory tree. Thanks to
  Jonathan Vanasco for catch & patch.
* :feature:`1388` Expose Jinja's ``keep_trailing_newline`` parameter in
  `~fabric.contrib.files.upload_template` so users can force template renders
  to preserve trailing newlines. Thanks to Chen Lei for the patch.
* :bug:`1389 major` Gently overhaul SSH port derivation so it's less<commit_msg>Changelog re #1271<commit_after>=========
Changelog
=========

* :feature:`1271` Allow users whose fabfiles use `fabric.colors` to disable
  colorization at runtime by specifying ``FABRIC_DISABLE_COLORS=1`` (or any
  other non-empty value). Credit: <NAME>.
* :feature:`1326` Make `~fabric.contrib.project.rsync_project` aware of
  ``env.gateway``, using a ``ProxyCommand`` under the hood. Credit: David
  Rasch.
* :support:`1359` Add a more-visible top-level ``CHANGELOG.rst`` pointing users
  to the actual changelog stored within the Sphinx directory tree. Thanks to
  Jonathan Vanasco for catch & patch.
* :feature:`1388` Expose Jinja's ``keep_trailing_newline`` parameter in
  `~fabric.contrib.files.upload_template` so users can force template renders
  to preserve trailing newlines. Thanks to Chen Lei for the patch.
* :bug:`1389 major` Gently overhaul SSH port derivation so it's less
{'fraction_non_alphanumeric': 0.11987381703470032, 'fraction_numerical': 0.025867507886435333, 'mean_word_length': 5.244094488188976, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, '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': '5181642', 'n_tokens_mistral': 515, 'n_tokens_neox': 473, 'n_words': 175}